# 04_Elastic Stack 从入门到实践(四)--2
04_Elastic Stack 从入门到实践(四)–2
五、Elasticsearch集群之搭建集群
1、启动3个虚拟机,分别在3台虚拟机上部署安装Elasticsearch
# 先在192.168.196.119虚拟机上操作(安装有elasticsearch-6.5.4)# 切换用户(elasticsearch 不能用root用户启动)
$ su - elsearch# 创建新目录
$ mkdir /dzs168/es-cluster# 拷贝 elasticsearch
$ cp /dzs168/es/elasticsearch-6.5.4/ /dzs168/es-cluster -R# 删除原有的数据和日志
$ rm -rf /dzs168/es-cluster/elasticsearch-6.5.4/data/*
$ rm -rf /dzs168/es-cluster/elasticsearch-6.5.4/logs/*# 从192.168.196.119虚拟机分发elasticsearch到其它机器前,
# 要确保其他两个虚拟机(如:192.168.196.71/192.168.196.207)创建了 /dzs168/ 新目录
# 并创建了elsearch新用户赋予了操作 /dzs168新目录的权限。# 以root用户创建新目录并切换到新目录(如:192.168.196.71/192.168.196.207)
mkdir /dzs168
cd /dzs168# 创建elsearch用户,Elasticsearch不支持root用户运行(如:192.168.196.71/192.168.196.207)
useradd elsearch# 为新用户设置密码(如:192.168.196.71/192.168.196.207)
$ passwd elsearch# 更改新目录的用户及用户组(如:192.168.196.71/192.168.196.207)
chown elsearch:elsearch /dzs168/ -R# 分发到其它机器(192.168.196.119虚拟机上操作)
$ scp -r /dzs168/es-cluster elsearch@192.168.196.71:/dzs168
$ scp -r /dzs168/es-cluster elsearch@192.168.196.207:/dzs168
2、各节点(虚拟机上)Elasticsearch 配置
# 打开并编辑elasticsearch 配置文件
vim /dzs168/es-cluster/elasticsearch-6.5.4/config/elasticsearch.yml# 配置内容如下:# node01 的配置
cluster.name: es-dzs168-cluster
node.name: node01
node.master: true
node.data: true
network.host: 0.0.0.0
http.port: 9200
discovery.zen.ping.unicast.hosts: ["192.168.196.119","192.168.196.71","192.168.196.207"]
discovery.zen.minimum_master_nodes: 2
http.cors.enabled: true
http.cors.allow-origin: "*"# node02 的配置
cluster.name: es-dzs168-cluster
node.name: node02
node.master: true
node.data: true
network.host: 0.0.0.0
http.port: 9200
discovery.zen.ping.unicast.hosts: ["192.168.196.119","192.168.196.71","192.168.196.207"]
discovery.zen.minimum_master_nodes: 2
http.cors.enabled: true
http.cors.allow-origin: "*"# node03 的配置
cluster.name: es-dzs168-cluster
node.name: node03
node.master: true
node.data: true
network.host: 0.0.0.0
http.port: 9200
discovery.zen.ping.unicast.hosts: ["192.168.196.119","192.168.196.71","192.168.196.207"]
discovery.zen.minimum_master_nodes: 2
http.cors.enabled: true
http.cors.allow-origin: "*"
3、配置相关参数,启动三个节点的elasticsearch
#说明:在Elasticsearch中如果,network.host不是localhost或者127.0.0.1的话,就会认为是生产环境,会对环境的要求比较高,我们的测试环境不一定能够满足,
# 一般情况下需要修改2处配置,如下:# 1:修改jvm启动参数vim /dzs168/es-cluster/elasticsearch-6.5.4/config/jvm.options-Xms128m #根据自己机器情况修改
-Xmx128m# 2:一个进程在VMAs(虚拟内存区域)创建内存映射最大数量,root用户下:vim /etc/sysctl.confvm.max_map_count=655360
sysctl -p #配置生效# 3.打开 vim /etc/security/limits.conf 配置文件,添加如下内容* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096# 关闭防火墙:
$ systemctl stop firewalld# 切换到 elsearch用户,启动ES服务
su - elsearch# node01(192.168.196.119)
/dzs168/es-cluster/elasticsearch-6.5.4/bin/elasticsearch# node02(192.168.196.71)
/dzs168/es-cluster/elasticsearch-6.5.4/bin/elasticsearch# node03(192.168.196.207)
/dzs168/es-cluster/elasticsearch-6.5.4/bin/elasticsearch# 或者
./elasticsearch -d #后台系统中#通过浏览器访问进行测试,看到如下信息,就说明ES启动成功了
# 如:http://192.168.196.119:9200/{
"name" : "wvma-wP",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "SlqagX9wS_-k1eAVR6e2Rw",
"version" : {
"number" : "6.5.4",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "d2ef93d",
"build_date" : "2018-12-17T21:17:40.758843Z",
"build_snapshot" : false,
"lucene_version" : "7.5.0",
"minimum_wire_compatibility_version" : "5.6.0",
"minimum_index_compatibility_version" : "5.0.0"},
"tagline" : "You Know, for Search"
}# 停止服务
[root@manager1 ~]# su elsearch[elsearch@manager1 root]$ jps
2058 Elasticsearch
2189 Jps# 通过kill 结束es进程 如:
kill 2058
4、如果启动 elasticsearch 出现错误,如下:
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
[2]: max number of threads [3870] for user [elsearch] is too low, increase to at least [4096]
解决方法:打开 vim /etc/security/limits.conf 配置文件,添加如下内容:
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096
5、Elasticsearch 集群搭建–示例:查询集群状态:/_cluster/health
1)# 打开 Postman 软件,选择GET请求,
#地址栏输入:如:http://192.168.196.119:9200/_cluster/health
#请求体为 JSON 数据类型,请求内容为空:
2)集群状态的三种颜色:
Green : 所有主要分片和复制分片都可用。
Yellow : 所有主要分片可用,但不是所有复制分片都可用。
Red : 不是所有的主要分片都可用。
6、Elasticsearch 集群搭建:实操示例。
1)创建新目录:$ mkdir /dzs168/es-cluster
2) 拷贝 elasticsearch
$ cp /dzs168/es/elasticsearch-6.5.4/ /dzs168/es-cluster -R
3) 删除原有的数据和日志
$ rm -rf /dzs168/es-cluster/elasticsearch-6.5.4/data/*
$ rm -rf /dzs168/es-cluster/elasticsearch-6.5.4/logs/*
4) 从192.168.196.119虚拟机分发elasticsearch到其它机器前,
#要确保其他两个虚拟机(如:192.168.196.71/192.168.196.207)创建了 /dzs168/ 新目录
#并创建了elsearch新用户赋予了操作 /dzs168新目录的权限。
#以root用户创建新目录并切换到新目录(如:192.168.196.71/192.168.196.207)
mkdir /dzs168
cd /dzs168
#创建elsearch用户,Elasticsearch不支持root用户运行(如:192.168.196.71/192.168.196.207)
useradd elsearch
#为新用户设置密码(如:192.168.196.71/192.168.196.207)
$ passwd elsearch
#更改新目录的用户及用户组(如:192.168.196.71/192.168.196.207)
chown elsearch:elsearch /dzs168/ -R
5) 分发到其它机器(192.168.196.119虚拟机上操作)
6)打开并编辑elasticsearch 配置文件,对各节点(虚拟机上)Elasticsearch 进行配置
vim /dzs168/es-cluster/elasticsearch-6.5.4/config/elasticsearch.yml
7)配置相关参数,启动三个节点的elasticsearch
8)关闭防火墙,启动 centos7系统,
systemctl stop firewalld# 切换用户
su - elsearch# 切换到 elasticsearch 安装目录下
cd /dzs168/es-cluster/elasticsearch-6.5.4/# 启动elasticsearch
./bin/elasticsearch
在这里插入图片描述
上一节关联链接请点击:
04_Elastic Stack 从入门到实践(四)–1