ES(ElasticSearch)搭建3节点(云服务器)ELK集群及插件安装

概述:

        三台云服务器分别是腾讯云、华为云、阿里云。搭建集群过程中,需要在安全组中开放三台云服务的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

 

你可能感兴趣的:(大数据相关)