1.1 安裝ES
1.1.1 安裝前
- 機(jī)器列表
192.168.1.87 base1
192.168.1.88 base2
192.168.1.89 base3
所有的機(jī)器都要有java 1.8 環(huán)境硼啤,因?yàn)镋S 5.0 依賴于JDK1.8
- 軟件下載
軟件下載 下載 elasticsearch-5.1.1.tar.gz 到 /root 目錄下
以下操作都必須在所有節(jié)點(diǎn)上進(jìn)行配置
- 創(chuàng)建用戶
由于ES不能安裝在root用戶下议经,必須要安裝在普通用戶下,下面創(chuàng)建新用戶es
:
groupadd es
useradd -d /home/es -m es -g es
passwd es
為es
用戶添加sudo
:
vi /etc/sudoers
# Uncomment to allow people in group wheel to run all commands
# %wheel ALL=(ALL) ALL
# 追加下面這一行
%es ALL=(ALL) ALL
- 修改系統(tǒng)參數(shù) (以下操作需要在root用戶下進(jìn)行)
解決:max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]
問題
$ vim /etc/security/limits.conf
# 在文件末尾添加如下配置
* hard nofile 65536
* soft nofile 65536
解決:max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]
問題
$ sysctl -w vm.max_map_count=655360
$ sysctl -a
解決:max size virtual memory [15214755840] for user [base1] is too low, increase to [unlimited]
問題
$ ulimit -v unlimited
$ sysctl -a
1.1.2 安裝配置
- 解壓軟件包
$ cd /root
$ tar -zxf elasticsearch-5.1.1.tar.gz -C /home/es
$ mv /home/es/elasticsearch-5.1.1 /home/es/elasticsearch
$ chown -R es:es /home/es/elasticsearch
$ su - es
[es@base1 ~]$ ll
total 4
drwxr-xr-x 9 es es 145 Jan 12 10:37 elasticsearch
- 配置
vim config/elasticsearch.yml
需要配置的有以下幾項
cluster.name: bigdata # 所有節(jié)點(diǎn)的集群名稱要相同
node.name: node-1 # 所有節(jié)點(diǎn)的node名稱要唯一
node.master: true # 增加配置谴返,是否可以做為Master節(jié)點(diǎn)
node.data: true # 增加配置煞肾,是否可以做為Data節(jié)點(diǎn)
network.host: base1 # 配置該節(jié)點(diǎn)網(wǎng)絡(luò)host
discovery.zen.ping.unicast.hosts: ["base1", "base2", "base3"] # 配置廣播節(jié)點(diǎn)
discovery.zen.minimum_master_nodes: 3 # 最小發(fā)現(xiàn)節(jié)點(diǎn)數(shù)
# 增加配置,這樣head插件可以訪問ES
http.cors.enabled: true
http.cors.allow-origin: "*"
由于沒有配置數(shù)據(jù)目錄和日志目錄亏镰,所以數(shù)據(jù)和日志會默認(rèn)在 /home/es/elasticsearch
的 data
和 logs
目錄
如果需要配置扯旷,給出以下事例:
# 配置數(shù)據(jù)目錄
path.data: /data/es/data
# 配置日志目錄
path.logs: /data/es/logs
- 分發(fā)到其他節(jié)點(diǎn)并修改配置
在另外兩個節(jié)點(diǎn)上需要修改的配置為
vim config/elasticsearch.yml
node.name: node-2 # 所有節(jié)點(diǎn)的node名稱要唯一
network.host: base2 # 配置該節(jié)點(diǎn)網(wǎng)絡(luò)host
1.1.3 啟動集群
- 依次啟動所有節(jié)點(diǎn)
依次啟動所有節(jié)點(diǎn)拯爽,ES集群會自動選取Master節(jié)點(diǎn)索抓,不需要借助ZK
$ ./bin/elasticsearch -d # 后臺啟動方式
查看啟動狀態(tài):
使用ES可以用REST方式,但是畢竟不太方便毯炮,在ES上安裝HEAD插件會以界面的方式進(jìn)行交互會方便很多