老板让我写一个小白都能看懂的部署文档,心好累。
环境准备
!集群中的节点必须在同一个局域网下
在centos7下集群节点的搭建。Elasticsearch包不能放在root目录下,否则可能不能运行,机器必须要有java环境,并且不能用root用户来运行elasticsearch。
查看本机是否存在java(以下命令均为小写)
Java -version
如果不是java1.8则全部卸载,一般新机器默认没有java环境,如果有根据不同版本执行不同命令
例子:yum -y remove java-1.8.0-openjdk*
查看可安装的java版本
yum search java | grep jdk
上面的命令可以不执行
开始下载java
yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel
下载完成后自动安装 , 安装完成后执行命令
Java -version 如果有输出就代表安装完成
安装elasticsearch集群
必须有两台机器及其以上才能成为集群,单节点安装配置完成后会自动加入elasticsearch集群。节点分为主节点和副节点,主节点只需要设置一个,以后每配置一个节点会自动加入集群。
需要配置的节点例子
节点IP 角色 ES节点名称
192.168.1.22 master(主节点) node1
192.168.1.218 data node2
下载es安装包以opt目录为例:
现在配置主机节点:
cd /opt
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.4.0.tar.gz
tar -zxvf elasticsearch-6.4.0.tar.gz
上面命令的意思是切换目录,下载es安装包并且解压.
执行完上面的命令,就会看到多出来两个文件,一个是tar。一个是文件夹。
接下来添加普通用户 也就是非root用户 。
groupadd elsearch
useradd elsearch -g elsearch -p elasticsearch
chown -R elsearch.elsearch /opt/elasticsearch-6.4.0/
最后一条命令注意路径是否正确。是为目录赋权限的命令。
开始修改es配置文件,为es加入节点。
在elasticsearch文件夹下有个config文件夹,里面有个elastsearch.yml文件
里面段落全为注释段落, 增如下几行。
cluster.name: es
node.name: node1
node.master: true
network.host: 192.168.1.22
node.data: true
path.data: /opt/elasticsearch-6.4.0/data
path.logs: /opt/elasticsearch-6.4.0/logs
transport.tcp.port: 9300
http.port: 9200
discovery.zen.ping.unicast.hosts: [“192.168.1.22:9300”,“192.168.1.218:9300”]
保存之后启动一下。启动方式为在elasticsearch目录下的bin目录下启动,
命令为: ./elasticsearch
如果有刷刷刷的滚动条则代表启动了,用浏览器打开,地址栏里输入IP:9200 如果有
下列输出,则代表主节点真正的启动成功。
{
“name” : “node1”,
“cluster_name” : “es”,
“cluster_uuid” : “sXRhTOgfT_65Zw87WUF8Lw”,
“version” : {
“number” : “6.4.0”,
“build_flavor” : “default”,
“build_type” : “tar”,
“build_hash” : “595516e”,
“build_date” : “2018-08-17T23:18:47.308994Z”,
“build_snapshot” : false,
“lucene_version” : “7.4.0”,
“minimum_wire_compatibility_version” : “5.6.0”,
“minimum_index_compatibility_version” : “5.0.0”
},
“tagline” : “You Know, for Search”
}
副节点的安装与上面主节点完全一样,不同的是节点的名字 需要注意:
副节点的配置文件修改如下
cluster.name: es
node.name: node2
node.master: false
network.host: 192.168.1.218
node.data: true
path.data: /opt/elasticsearch-6.4.0/data
path.logs: /opt/elasticsearch-6.4.0/logs
transport.tcp.port: 9300
http.port: 9200
discovery.zen.ping.unicast.hosts: [“192.168.1.22:9300”,“192.168.1.218:9300”]
最后 ,查看集群是否启动成功
在命令行里输入:localhost修改为任意节点的ip
curl http://localhost:9200/_cat/health?v
如果node.total为你配置的节点数目相同,则表示集群配置成功。