elasticsearch集群环境部署,单机多实例

环境:centos7

(一).给user添加sudo权限

vi /etc/sudoers

添加

user  ALL=(ALL)    ALL

(二).关闭防火墙

1、关闭firewall:

systemctl stop firewalld.service #停止firewall

systemctl disable firewalld.service #禁止firewall开机启动

firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)

(三).配置部分设置

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

(四).创建4个数据路径,分别分配磁盘

1.创建数据路径

mkdir /data0

mkdir /data1

mkdir /data2

mkdir /data3

2.挂载4个硬盘

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

修改配置使启动时生效

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环境变量

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

#/********        目前未加的参数    **********/

#适当增大写入buffer和bulk队列长度,提高写入性能和稳定性

indices.memory.index_buffer_size: 15%

thread_pool.bulk.queue_size: 1024

#计算disk使用量时,不考虑正在搬迁的shard

cluster.routing.allocation.disk.include_relocations: false

#设置内存熔断参数,防止写入或查询压力过高导致OOM,具体数值可根据使用场景调整。

indices.breaker.total.limit: 30%

indices.breaker.request.limit: 6%

indices.breaker.fielddata.limit: 3%

#调小查询使用的cache,避免cache占用过多的jvm内存,具体数值可根据使用场景调整。

indices.queries.cache.count: 500

indices.queries.cache.size: 5%

#单机多节点时,主从shard分配以ip为依据,分配到不同的机器上,避免单机挂掉导致数据丢失。

cluster.routing.allocation.awareness.attributes: ip

node.attr.ip: 1.1.1.1

#指定节点的类型

node.attr.boxtype: strong

node.attr.group: 10

7.修改jvm

jvm.option

vi config/jvm.options

-Xms2g

-Xmx2g

改为

-Xms31g

-Xmx31g

(七).给user授权

sudo chown -R user elasticsearch-5.6.1

sudo chown -R user /data*

(八).复制安装好的es

1.复制三份,修改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配置(数据路径,日志路径,节点名,集群名,端口)

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.发送到其他机器上

scp /home/user/elasticsearch-5.6.1 [email protected]:/home/user

(九).安装守护进程工具supervisor管理es集群

你可能感兴趣的:(elasticsearch集群环境部署,单机多实例)