概述:
三台云服务器分别是腾讯云、华为云、阿里云。搭建集群过程中,需要在安全组中开放三台云服务的9200、9300、9100、5601端口。
1、安装java:
#安装szrz命令:
yum install -y lrzsz
chmod 755 /root/packages/jdk-8u201-linux-x64.rpm
rpm -ivh /root/packages/jdk-8u201-linux-x64.rpm
vi /etc/profile
#JAVA_HOME
export JAVA_HOME=/usr/java/jdk1.8.0_201-amd64
export PATH=$PATH:$JAVA_HOME/bin
export JRE_HOME=$JAVA_HOME/jre
source /etc/profile
验证安装情况:
java -version
2、下载es:
wget https://mirrors.huaweicloud.com/elasticsearch/7.6.1/elasticsearch-7.6.1-linux-x86_64.tar.gz
3、添加用户(ES不能用root用户启动),并解压缩:
groupadd user_es
adduser user_es -g user_es -p 123***
mkdir /home/user_es/software
tar -zxvf /root/packages/elasticsearch-7.6.1-linux-x86_64.tar.gz -C /home/user_es/software
chown -R user_es:user_es /home/user_es
解压缩到当前目录: tar -xvf elasticsearch-7.6.1-linux-x86_64.tar.gz
4、调整参数,否则可能会有如下报错:
因为云服务器是1核2G,
ERROR: [2] bootstrap checks failed
[1]: max file descriptors [65535] for elasticsearch process is too low, increase to at least [65536]
[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
vi /home/user_es/software/elasticsearch-7.6.1/config/jvm.options
修改:
-Xms256m
-Xmx256m
vim /etc/sysctl.conf
添加:
vm.max_map_count = 655360
执行此命令生效
sysctl -p
5、修改配置文件:
**.**.**.**代表具体的IP;
这是master节点:
vi /home/user_es/software/elasticsearch-7.6.1/config/elasticsearch.yml
添加如下内容:
cluster.name: my-application
node.name: aliyun-01
network.host: 0.0.0.0
network.publish_host: **.**.**.**
http.port: 9200
discovery.seed_hosts: ["**.**.**.**", "**.**.**.**","**.**.**.**"]
cluster.initial_master_nodes: ["aliyun-01"]
http.cors.enabled: true
http.cors.allow-origin: "*"
2个data节点配置如下:elasticsearch.yml
#slave2
cluster.name: my-application
node.name: huawei-01
network.publish_host: **.**.**.**
network.host: 0.0.0.0
discovery.seed_hosts: ["**.**.**.**", "**.**.**.**","**.**.**.**"]
#slave1
cluster.name: my-application
node.name: tencent-01
network.publish_host: **.**.**.**
network.host: 0.0.0.0
discovery.seed_hosts: ["**.**.**.**", "**.**.**.**","**.**.**.**"]
6、启动集群:分别在3台机器上启动es
前台启动:
./bin/elasticsearch
后台启动:
./bin/elasticsearch -d -p /home/user_es/user_es_file/pid
-d 表示后台运行;-p 将进程号写入文件pid;
查看进程:ps -ef
关闭es:pkill -F /home/user_es/user_es_file/pid
7、验证集群是否启动成功:
curl -X GET "**.**.**.**:9200/?pretty"
8、安装kibana:
下载,解压:
wget https://mirrors.huaweicloud.com/kibana/7.6.1/kibana-7.6.1-linux-x86_64.tar.gz
tar -zxvf /root/packages/kibana-7.6.1-linux-x86_64.tar.gz -C /home/user_es/software/
vi config/kibana.yml,添加:
server.port: 5601
server.host: 0.0.0.0
server.name: Kibana
elasticsearch.hosts: ["http://**.**.**.**:9200"]
i18n.locale: "zh-CN"
启动kibana:
nohup ./bin/kibana &
访问:http://**.**.**.**:5601
9、安装插件es-head:
elasticsearch-head并解压
wget https://github.com/mobz/elasticsearch-head/archive/master.zip
unzip /root/packages/master.zip -d /home/user_es/software/
安装node
由于head插件本质上还是一个nodejs的工程,因此需要安装node,使用npm来安装依赖的包。(npm可以理解为maven)
注意:选择比较新的版本:
wget https://npm.taobao.org/mirrors/node/latest-v10.x/node-v10.18.1-linux-x64.tar.gz
tar -zxvf /root/packages/node-v10.18.1-linux-x64.tar.gz -C /home/user_es/software/
编辑/etc/profile,添加:
export NODE_HOME=/home/user_es/software/node-v10.18.1-linux-x64
export PATH=$NODE_HOME/bin:$PATH
生效:source /etc/profile;测试一下node是否生效:node -v
安装 grunt
grunt是一个很方便的构建工具,可以进行打包压缩、测试、执行等等的工作,5.0里的head插件就是通过grunt启动的。因此需要安装一下grunt:
1.进入elasticsearch-head安装目录
2.安装nodejs;
npm install -g grunt-cli //执行后会生成node_modules文件夹
npm install
执行npm install过程中可能会有ERR报错:sh command not found等,百度了好久放弃。但最后发现报错不影响使用;
增加hostname属性,设置为*:
vi /home/ntc/code/elasticsearch-head/Gruntfile.js
connect: {
server: {
options: {
port: 9100,
hostname: '*',
base: '.',
keepalive: true
}
}
}
修改连接地址:
目录:vi /home/ntc/code/elasticsearch-head/_site/app.js
把localhost修改成你es的服务器地址,如:
this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://192.168.40.133:9200";
启动es-head插件:
在elasticsearch-head目录下:
nohup grunt server & //后台启动。
访问:http://**.**.**.**:9100/
若发现启动后连接不上es集群,需要在elasticsearch.yml末尾加上配置:
http.cors.enabled: true
http.cors.allow-origin: "*"
参考文章:《Elasticsearch 权威指南(中文版)》
https://es.xiaoleilu.com/index.html