Centos7安裝ES 和 Docker搭建ES


本文版權歸博客園和作者吳雙本人共同所有 轉載和爬蟲請注明原文地址 www.cnblogs.com/tdws

一.linux centos7.x安裝ES 

1.下載java

1 sudo yum install java-1.8.0-openjdk.x86_64
2 java -version 確認安裝結果

2.下載和安裝ES

1 wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.2.rpm
2 rpm -ivh elasticsearch-5.6.2.rpm 
1 systemctl enable elasticsearch

如果你機器內存小,就去/etc/elasticsearch 下 修改jvm.options 

1 systemctl start elasticsearch   //啟動
2 systemctl status elasticsearch  //狀態

3.配置ES

nano /etc/elasticsearch/elasticsearch.yml

移除cluster.name和node.name前面的#井號來取消注釋。另一個重要的配置是服務器角色master或slave。

master負責集群健康和穩定。在大型生產部署環境中通常有很多節點,建議擁有多個專用Master。通常專用master不會存儲數據和創建indexes. 因此一般不會因過載而導致集群健康受到威脅。

slaves作為工作機,可以加載數據任務。即使slave節點過載,集群健康也不會受到嚴重的影響,其他節點可以承擔額外的負載。

決定服務器角色的配置乘坐node.master。如果你只有一個ES節點,應該保持其默認值為true, 即唯一的節點也是master. 如果希望將節點配置為slave, 取消這行注釋,並且把值修改為false. 

node.master: false 

另一個重要的配置項是node.data , 它決定是否存儲數據,在大多數情況下,此選項應保留默認值true.但是有兩種情況你也許不希望節點存儲數據,一個是結點作為專用master,另一個則是節點僅用於從其他節點獲取數據並聚合結果的時候,這種情況也被稱為 搜索負載平衡器,search load balancer.

再說到如果你只有一個ES節點的話,則應該注釋此配置,並保留其默認true值。否則,為了禁用數據存儲,則取消該行注釋,並將值修改為false.

node.data: false

另外兩個重要配置項為index.number_of_shards和index.number_of_replicas 。

前者決定index將會被分割成多少片(shards),第二個決定了在集群中被分發的副本(replicas)數。有更多的分片shards可以提高性能,有更多的replicas可以搜索更快。

如果你仍然在單節點的ES上探索和測試ES。最好從一個shards開始,然后設置無replicas.因此應按照如下設置(請確保取消注釋)

index.number_of_shards: 1 
index.number_of_replicas: 0

最后一個你感興趣的應該是修改path.data設置,它決定了數據的存儲路徑。默認設置為/var/lib/elasticsearch.在生產環境中,建議你使用專用分區和掛載點來存儲數據。在最好的情況下,專用分區是一個單獨的存儲介質,以提供更好的性能和數據隔離。您可以通過取消注釋並更改path.data的值,來指定不同的路徑:

path.data: /media/different_media

在修改設置后不要忘了 restart es服務。下面使用幾個基礎命令測試一下:

 1 curl -X GET 'http://localhost:9200'
 2 
 3 curl -X POST 'http://localhost:9200/tutorial/helloworld/1' -d '
 4 { "message": "Hello World!" }'   //存點數據
 5 
 6 curl -X GET 'http://localhost:9200/tutorial/helloworld/1'   //再獲取下
 7 
 8 curl -X PUT 'localhost:9200/tutorial/helloworld/1?pretty' -d ' 
 9 { "message": "Hello People!" }'   更新一下
10 
11 curl -XGET 'http://localhost:9200/_count?pretty' -d ' { "query": { "match_all": {} } }'   //計算文檔數量
View Code

 

二.Docker搭建ES

 雖然弄了兩台服務器,但感覺還不夠,Docker環境安裝ES就比較方便了,正好也可以借着docker 開多個es鏡像的容器來學習ES集群。更多的內容可以參考docker es文檔 https://www.elastic.co/guide/en/elasticsearch/reference/5.0/docker.html

 docker pull docker.elastic.co/elasticsearch/elasticsearch:5.6.2

//不過我的服務器內存還是不夠開啟那么多es,所以在啟動容器實例的時候 設置了512m.

docker run -p 9301:9200 -e ES_JAVA_OPTS="-Xms512m -Xmx512m"  -e "xpack.security.enabled=false" docker.elastic.co/elasticsearch/elasticsearch:5.6.2

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM