標籤:

Elasticsearch 5.0.0集群安裝

ElasticSearch目前最新的穩定版本是:Elasticsearch 2.3.5(2016-08),5.0.0還是屬於alpha版本,目前各團隊正在緊張的開發測試中,每天都有新的功能和改進。ES從2.x版本直接升級到5.x是為了對於kibana的版本號,但是在功能特性上也有很大的改進,詳情請參考大數據雜談微課堂|Elasticsearch 5.0新版本的特性與改進

由於ES5.0的安裝包與之前的版本有些地方不太一樣,所以安裝配置的細節也會有所不同。

集群機器情況:

主機域名 主機IP 安裝組件

hadoop1 192.168.1.1 elasticsearch

hadoop2 192.168.1.2 elasticsearch

hadoop3 192.168.1.3 elasticsearch

1、用普通用戶(非root)進入hadoop1機器,下載ElasticSearch 5.0.0 ,並解壓到指定目錄

2、在本機中找一個存儲空間比較大的磁碟,如 /data,在該目錄下執行以下命令

mkdir -p /data/es5/{data,logs}

用於存放es的數據和日誌文件

3、配置 config/elasticsearch.yml 文件

# ---------------------------------- Cluster -----------------------------------

#定義es集群名稱

cluster.name: es5-cluster

# ------------------------------------ Node ------------------------------------

#定義該節點的名稱,各個節點不能重複

node.name: dchadoop213

# ----------------------------------- Paths ------------------------------------

#配置數據目錄

path.data: /data1/hadoop/es5/data

#配置日誌目錄

path.logs: /data1/hadoop/es5/logs

# ----------------------------------- Memory -----------------------------------

#關閉鎖定內存

bootstrap.memory_lock: false

# ---------------------------------- Network -----------------------------------

#指定本機IP地址,每個節點都要修改

network.host: 192.168.1.222

#指定http訪問埠

http.port: 9200

# --------------------------------- Discovery ----------------------------------

#廣播地址

discovery.zen.ping.unicast.hosts: ["hadoop1:9300", "hadoop2:9300", "hadoop3:9300"]

discovery.zen.minimum_master_nodes: 3

4、配置config/jvm.options文件

#修改JVM參數

-Xms4g

-Xmx4g

5、配置bin/elasticsearch文件

#由於es5.0依賴的是jdk8,所以需要下載jdk8並指定PAHT路徑

export PATH=/home/hadoop/jdk1.8.0_101/bin:$PATH

export JAVA_HOME=/home/hadoop/jdk1.8.0_101

export ES_HOME=/home/hadoop/elasticsearch-5.0.0

6、啟動

./bin/elasticsearch -d

查看後台日誌是否啟動成功(日誌目錄在第三步配置的/data1/hadoop/es5/logs路徑下),如果報出以下異常:

max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]ntat org.elasticsearch.bootstrap.BootstrapCheck.check(BootstrapCheck.java:132)ntat org.elasticsearch.bootstrap.BootstrapCheck.check(BootstrapCheck.java:85)ntat org.elasticsearch.bootstrap.BootstrapCheck.check(BootstrapCheck.java:65)ntat org.elasticsearch.bootstrap.Bootstrap$5.validateNodeBeforeAcceptingRequests(Bootstrap.java:178)ntat org.elasticsearch.node.Node.start(Node.java:471)ntat org.elasticsearch.bootstrap.Bootstrap.start(Bootstrap.java:193)ntat org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:257)ntat org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:101)ntat org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:96)ntat org.elasticsearch.cli.SettingCommand.execute(SettingCommand.java:54)ntat org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:88)ntat org.elasticsearch.cli.Command.main(Command.java:54)ntat org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:75)ntat org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:68)n

是以為操作系統的vm.max_map_count參數設置太小導致的,請使用root用戶登錄系統,執行以下命令:

sysctl -w vm.max_map_count=655360

並用以下命令查看是否修改成功

sysctl -a | grep "vm.max_map_count"

如果能正常輸出655360,則說明修改成功,然後再次啟動elasticsearch

把配置好的安裝包拷貝一份到其他兩台機器上,修改 config/elasticsearch.yml下的node.name和network.host為對於的機器即可。

7、訪問ES

打開瀏覽器,輸入地址 192.168.1.1:9200 出現以下內容為正常

{n "name" : "hadoop1",n "cluster_name" : "es5-cluster",n "version" : {n "number" : "5.0.0-alpha5",n "build_hash" : "d327dd4",n "build_date" : "2016-08-04T08:59:39.568Z",n "build_snapshot" : false,n "lucene_version" : "6.1.0"n },n "tagline" : "You Know, for Search"n}n

8、關於插件

在ES的以往各個版本中都支持一個比較好用的插件 mobz/elasticsearch-head

但是ES5.0版本還不支持plugin安裝,詳情請查看 GitHub - mobz/elasticsearch-head: A web front end for an elastic search cluster


推薦閱讀:

Elastic Stack 5.0升級踩坑記
多個ElasticSearch Cluster的一致性問題
使用ElasticSearch搭建日誌系統

TAG:Elasticsearch |