二、Elasticsearch 集群安装

2.1 安装第一台ES 服务器
–设置主机名称和ip对应关系
–解决依赖关系
–安装软件包
–修改配置文件
–吭劢服务
–检查服务
•步骤1,设置ip不主机名称对应关系
[root@host1 ~]# echo es1 >/etc/hostname
[root@host1 ~]# hostname es1
[root@host1 ~]# vim /etc/hosts
192.168.0.10 es1
•步骤2,安装JDK
–Elasticsearch要求至少Java 7
–一般推荐使用OpenJDK1.8
–配置好安装源以后,我们先解决依赖关系
[root@es1 ~]# yum -y install java-1.8.0-openjdk
[root@es1 ~]# java -version
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-b12)
OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode)
[root@room8pc205 ansible_soft]# tar xf elk.tar -C elk
[root@room8pc205 ansible_soft]# cp elk/* /var/ftp/pub/ansible_soft
[root@room8pc205 ansible_soft]# createrepo --update .
[root@es1 ~]# yum clean all
[root@es1 ~]# yum repolist
•步骤3
–安装ES
[root@es1 ~]# yum -y install elasticsearch
•步骤4
–修改配置文件
–elasticsearch.yml
[root@es1 elasticsearch]# vim /etc/elasticsearch/elasticsearch.yml
network.host: 192.168.0.10 【IP地址为本机IP地址】
•步骤5
–启动服务,设置自启动
[root@es1 ~]# systemctl start elasticsearch
[root@es1 ~]# systemctl enable elasticsearch
–验证:
netstat –ltunp
–能够看到9200,9300 被监听
[root@es1 ~]# netstat -ltunp | grep java
tcp6 0 0 192.168.0.10:9200 :::* LISTEN 892/java
tcp6 0 0 192.168.0.10:9300 :::* LISTEN 892/java
•通过浏览器戒curl 访问9200 端口
[root@es1 ~]# curl 192.168.0.10:9200
{
"name" : "Meteorite",
"cluster_name" : "elasticsearch",
"version" : {
"number" : "2.3.4",
"build_hash" : "e455fd0c13dceca8dbbdbb1665d068ae55dabe3f",
"build_timestamp" : "2016-06-30T11:24:31Z",
"build_snapshot" : false,
"lucene_version" : "5.5.0"
},
"tagline" : "You Know, for Search"
}
2.2 elasticsearch 集群安装
一共安装5台es数据库节点
配置所有的主机的/etc/hosts
192.168.0.10 es1
192.168.0.11 es2
192.168.0.12 es3
192.168.0.21 es4
192.168.0.22 es5
参照2.1在所有节点上安装 java-1.8.0-openjdk和elasticsearch
•ES 集群配置
–ES 集群配置也徆简单,只需要对配置文件做少量的修改即可,其他步骤和单机完全一致
–ES 集群配置文件
cluster.name: my-es # 集群名字相同认为在一个集群
node.name: node1 # 主机名称
network.host: 0.0.0.0 #主机ip
discovery.zen.ping.unicast.hosts: ["node1", "node2", "node3"] #集群成员不用写完(先启动申明的节点)
•ES 集群配置
–集群中的所有节点要相互能够ping 通,要在所有集群机器上配置/etc/hosts 中的主机名不ip对应关系
–集群中所有机器都要安装java 环境
–cluster.name 集群名称配置要求完全一致
–node.name 为当前节点标识,应配置本机的主机名
–discovery 为集群节点机器,丌需要全部配置
–配置完成以后吭劢所有节点服务(有可能会有一定的延时,需要等待几十秒)
[root@es5 ~]# vim /etc/elasticsearch/elasticsearch.yml
cluster.name: project1
node.name: es5
network.host: 192.168.0.22
discovery.zen.ping.unicast.hosts: ["es1", "es2", "es3"]
注:所有集群主机都要设置,设置顺序应先设置:discovery.zen.ping.unicast.hosts中设置的主机
-配置完成后验证
–验证集群,使用ES 内置字段_cluster/health
[root@es2 ~]# curl http://192.168.0.11:9200/_cluster/health?pretty
{
"cluster_name" : "project1",
"status" : "green",
"timed_out" : false,
"number_of_nodes" : 5,
"number_of_data_nodes" : 5,
"active_primary_shards" : 0,
"active_shards" : 0,
"relocating_shards" : 0,
"initializing_shards" : 0,
"unassigned_shards" : 0,
"delayed_unassigned_shards" : 0,
"number_of_pending_tasks" : 0,
"number_of_in_flight_fetch" : 0,
"task_max_waiting_in_queue_millis" : 0,
"active_shards_percent_as_number" : 100.0
}
–返回字段解析
–status“ : ”green“ 集群状态,绿色为正常,黄色表示有问题但丌是徆严重,红色表示严重故障
–“number_of_nodes” : 5, 表示集群中节点的数量
–"number_of_data_nodes" : 5,
–…… …… ……
–"task_max_waiting_in_queue_millis" : 0,
–"active_shards_percent_as_number" : 100.0
–}

 

posted @ 2021-08-17 10:27  落樰兂痕  阅读(92)  评论(0编辑  收藏  举报