千家信息网

elasticsearch 集群部署

发表于:2024-11-21 作者:千家信息网编辑
千家信息网最后更新 2024年11月21日,Elasticsearch是一个分布式搜索服务,提供Restful API,底层基于Lucene,采用多shard的方式保证数据安全,并且提供自动resharding的功能,github等大型的站点也
千家信息网最后更新 2024年11月21日elasticsearch 集群部署

Elasticsearch是一个分布式搜索服务,提供Restful API,底层基于Lucene,采用多shard的方式保证数据安全,并且提供自动resharding的功能,github等大型的站点也都采用Elasticsearch作为其搜索服务。废话在此就不多赘述了,下面记录下CentOS7Elasticsearch集群部署过程:

1)基础信息

elk-es01.kevin.cn 192.168.10.44

elk-es02.kevin.cn 192.168.10.45

elk-es03.kevin.cn 192.168.10.46

下面操作在三个节点机上都要操作

[root@elk-es01 ~]# systemctl stop firewalld.service

[root@elk-es01 ~]# systemctl disable firewalld.service

[root@elk-es01 ~]# firewall-cmd --state

not running

[root@elk-es01 ~]# setenforce 0

setenforce: SELinux is disabled

[root@elk-es01 ~]# getenforce

Disabled

[root@elk-es01 ~]# vim /etc/sysconfig/selinux

......

SELINUX=disabled

[root@elk-es01 ~]# cat /etc/hosts

.....

192.168.10.44 elk-es01.kevin.cn

192.168.10.45 elk-es02.kevin.cn

192.168.10.46 elk-es03.kevin.cn

[root@elk-es01 ~]# /usr/sbin/ntpdate ntp1.aliyun.com

2)安装java8环境,官方建议5.4版本最至少Java 8或以上(三个节点机都要操作)

解压文件到/opt/

jdk-8u121-linux-x64.tar.gz

配置环境变量

#vim /etc/profile

#**************DMP JAVA ENV********************

export JAVA_HOME=/opt/jdk1.8.0_121

export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

3)安装elasticsearch(三个节点机都要操作)

创建用户,用户组

#groupadd es

#useradd es -g es -p 123456

#chown -R es:es /opt/els-node1

#chown -R es:es /opt/els-node2

#chown -R es:es /opt/els-node3

创建数据目录和日志目录

#mkdir -p /opt/els-data/{data1,log1}

#mkdir -p /opt/els-data/{data2,log2}

#mkdir -p /opt/els-data/{data3,log3}

#chown -R es:es /opt/els-node*

优化系统

1,

# cd /etc [root@localhost etc]

# cp sysctl.conf sysctl.conf.bak

# vim sysctl.conf

# elasticsearch config start

vm.max_map_count=262144

# elasticsearch config end

#sysctl -p

2,

# cd /etc/security/

cp limits.conf limits.conf.bak

然后编辑limits.conf增加如下配置:

# elasticsearch config start

* soft nofile 65536

* hard nofile 131072

* soft nproc 2048

* hard nproc 4096

# elasticsearch config end

下载安装包

#wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.3.0.zip

配置els

Node-1

node.name: node-1

path.data: /opt/els-data/data1

path.logs: /opt/els-data/logs1

network.host: 192.168.15.143

transport.tcp.port: 9301

http.port: 9201

discovery.zen.ping.unicast.hosts: ["192.168.15.143:9301", "192.168.15.143:9302", "192.168.15.143:9303"]

http.cors.enabled: true

http.cors.allow-origin: "*"

Node-2

node.name: node-2

path.data: /opt/els-data/data2

path.logs: /opt/els-data/logs2

network.host: 192.168.15.143

transport.tcp.port: 9302

http.port: 9202

discovery.zen.ping.unicast.hosts: ["192.168.15.143:9301", "192.168.15.143:9302", "192.168.15.143:9303"]

http.cors.enabled: true

http.cors.allow-origin: "*"

Node-3

node.name: node-3

path.data: /opt/els-data/data3

path.logs: /opt/els-data/logs3

network.host: 192.168.15.143

transport.tcp.port: 9303

http.port: 9203

discovery.zen.ping.unicast.hosts: ["192.168.15.143:9301", "192.168.15.143:9302", "192.168.15.143:9303"]

http.cors.enabled: true

http.cors.allow-origin: "*"

启动服务

./bin/elasticsearch -d

测试:

curl "192.168.15.143:9203"

{

"name" : "node-3",

"cluster_name" : "elasticsearch",

"cluster_uuid" : "5HJLIt_5Ra26HHs4vNRQuA",

"version" : {

"number" : "6.3.0",

"build_flavor" : "default",

"build_type" : "zip",

"build_hash" : "424e937",

"build_date" : "2018-06-11T23:38:03.357887Z",

"build_snapshot" : false,

"lucene_version" : "7.3.1",

"minimum_wire_compatibility_version" : "5.6.0",

"minimum_index_compatibility_version" : "5.0.0"

},

"tagline" : "You Know, for Search"

}


0