環(huán)境:centos7
(一).給user添加sudo權(quán)限
vi /etc/sudoers
添加
user? ALL=(ALL)? ? ALL
(二).關(guān)閉防火墻
1、關(guān)閉firewall:
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall開機(jī)啟動(dòng)
firewall-cmd --state #查看默認(rèn)防火墻狀態(tài)(關(guān)閉后顯示notrunning,開啟后顯示running)
(三).配置部分設(shè)置
1.配置limits.conf
vi /etc/security/limits.conf
* soft memlock unlimited
* hard memlock unlimited
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096
2.配置sysctl.conf
vi /etc/sysctl.conf
vm.max_map_count=655360
sysctl -p
(四).創(chuàng)建4個(gè)數(shù)據(jù)路徑,分別分配磁盤
1.創(chuàng)建數(shù)據(jù)路徑
mkdir /data0
mkdir /data1
mkdir /data2
mkdir /data3
2.掛載4個(gè)硬盤
fdisk -l
mkfs.ext3 /dev/sdb
mount /dev/sdb /data0
mkfs.ext3 /dev/sdc
mount /dev/sdc /data1
mkfs.ext3 /dev/sdd
mount /dev/sdd /data2
mkfs.ext3 /dev/sde
mount /dev/sde /data3
修改配置使啟動(dòng)時(shí)生效
sudo vi /etc/fstab
/dev/sdb /data0 ext4 defaults 0 0
/dev/sdc /data1 ext4 defaults 0 0
/dev/sdd /data2 ext4 defaults 0 0
/dev/sde /data3 ext4 defaults 0 0
(五).安裝java
1.解壓jdk-8u151-linux-x64.tar.gz
tar -zxvf jdk-8u151-linux-x64.tar.gz
2.配置java環(huán)境變量
vi /etc/profile
輸入:
export JAVA_HOME=/home/user/jdk1.8.0_151
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
3.使修改生效
source /etc/profile?
4.查看是否安裝成功
java -version
(六).解壓elasticsearch,安裝x-pack,安裝ik?
1.tar -zxvf elasticsearch-5.6.1.tar.gz
2.cd elasticsearch-5.6.1
3.安裝x-pack
bin/elasticsearch-plugin install file:///home/user/x-pack-5.6.1.zip
4.安裝ik
bin/elasticsearch-plugin install file:///home/user/elasticsearch-analysis-ik-5.6.1.zip
5.查看插件是否安裝成功
bin/elasticsearch-plugin list? ? ?
6.修改es配置
vi config/elasticsearch.yml
配置如下:
cluster.name: es5_test
node.name: node-12-00
network.host: 10.200.110.12
bootstrap.memory_lock: true
cluster.routing.allocation.same_shard.host: true
path.data: /data0
path.logs: /data0/log
node.max_local_storage_nodes: 4
http.port: 9200
transport.tcp.port: 9300
#x-pack無需密碼
xpack.security.enabled: false
#單播域名列表,可以只寫部分hosts
discovery.zen.ping.unicast.hosts: ["10.200.110.16:9301","10.200.110.16:9302"]? ? ? ?
discovery.zen.minimum_master_nodes: 9
gateway.recover_after_nodes: 14
gateway.expected_nodes: 16
gateway.recover_after_time: 5m
#/********? ? ? ? 目前未加的參數(shù)? ? **********/
#適當(dāng)增大寫入buffer和bulk隊(duì)列長度,提高寫入性能和穩(wěn)定性
indices.memory.index_buffer_size: 15%
thread_pool.bulk.queue_size: 1024
#計(jì)算disk使用量時(shí),不考慮正在搬遷的shard
cluster.routing.allocation.disk.include_relocations: false
#設(shè)置內(nèi)存熔斷參數(shù),防止寫入或查詢壓力過高導(dǎo)致OOM,具體數(shù)值可根據(jù)使用場(chǎng)景調(diào)整。
indices.breaker.total.limit: 30%
indices.breaker.request.limit: 6%
indices.breaker.fielddata.limit: 3%
#調(diào)小查詢使用的cache,避免cache占用過多的jvm內(nèi)存,具體數(shù)值可根據(jù)使用場(chǎng)景調(diào)整。
indices.queries.cache.count: 500
indices.queries.cache.size: 5%
#單機(jī)多節(jié)點(diǎn)時(shí),主從shard分配以ip為依據(jù),分配到不同的機(jī)器上,避免單機(jī)掛掉導(dǎo)致數(shù)據(jù)丟失。
cluster.routing.allocation.awareness.attributes: ip
node.attr.ip: 1.1.1.1
#指定節(jié)點(diǎn)的類型
node.attr.boxtype: strong
node.attr.group: 10
7.修改jvm
jvm.option
vi config/jvm.options
將
-Xms2g
-Xmx2g
改為
-Xms31g
-Xmx31g
(七).給user授權(quán)
sudo chown -R user elasticsearch-5.6.1
sudo chown -R user /data*
(八).復(fù)制安裝好的es
1.復(fù)制三份,修改config
cp -rf elasticsearch-5.6.1 elasticsearch-5.6.1-node1
cp -rf elasticsearch-5.6.1 elasticsearch-5.6.1-node2
cp -rf elasticsearch-5.6.1 elasticsearch-5.6.1-node3
2.修改es配置(數(shù)據(jù)路徑,日志路徑,節(jié)點(diǎn)名,集群名,端口)
vi elasticsearch-5.6.1-node1/conf/elasticsearch.yml
path.data: /data1
path.logs: /data1/log
node.name: node-12-01
cluster.name: es_cluster
http.port: 9201
transport.tcp.port: 9301
2.發(fā)送到其他機(jī)器上
scp /home/user/elasticsearch-5.6.1 user@10.200.110.14:/home/user
(九).安裝守護(hù)進(jìn)程工具supervisor管理es集群