Catalog
  1. 1. 一. Cenos7搭建ElasticSearch集群环境并配置Kibana
    1. 1.0.1. 1. 配置java环境
      1. 1.0.1.0.1. 参考:https://www.cnblogs.com/happyflyingpig/p/8068020.html
      2. 1.0.1.0.2. 一键配置脚本包:http://ovenguo.oss-cn-beijing.aliyuncs.com/file/centos7removejdk8.sh
  2. 1.0.2. 2.增加用户组和用户
  3. 1.0.3. 3. 修改es配置
  4. 1.0.4. 4. ES启动常见报错
  5. 1.0.5. 5. ES启动
  6. 1.0.6. 6. ES集群启动
    1. 1.0.6.0.1. es-node2:
    2. 1.0.6.0.2. es-node3:
  • 1.0.7. 7. 破解白金永久权限
  • 1.0.8. 8. 配置Kibana
  • ElasticSearch集群+Kibana 7.5.0环境搭建

    一. Cenos7搭建ElasticSearch集群环境并配置Kibana

    1. 配置java环境

    Centos系统安装成功后需要先卸载自带的jdk8

    参考:https://www.cnblogs.com/happyflyingpig/p/8068020.html
    一键配置脚本包:http://ovenguo.oss-cn-beijing.aliyuncs.com/file/centos7removejdk8.sh

    使用以下命令查找jdk包

    1
    2
    3
    rpm -qa|grep java
    rpm -qa|grep jdk
    rpm -qa|grep gcj

    卸载已安装的jdk

    1
    2
    3
    4
    rpm -e --nodeps java-1.8.0-openjdk-1.8.0.131-11.b12.el7.x86_64
    rpm -e --nodeps java-1.7.0-openjdk-1.7.0.141-2.6.10.5.el7.x86_64
    rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.131-11.b12.el7.x86_64
    rpm -e --nodeps java-1.7.0-openjdk-headless-1.8.0.131-11.b12.el7.x86_64

    验证是否还有jdk

    1
    2
    rpm -qa|grep java
    java -version

    ES7.5版本要求jdk最低版本为jdk11,所以从Oracle官网下载JDK11,并上传到/opt文件夹,使用tar -xvf jdk-11.0.5_linux-x64_bin.tar,然后重命名为jdk:mv jdk-11.0.5_linux-x64_bin jdk.

    配置Java环境变量,在/etc/profile增加配置:

    1
    2
    3
    export JAVA_HOME=/opt/jdk
    export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    export PATH=$PATH:$JAVA_HOME/bin

    增加配置后保存关闭,执行source /etc/profile,测试jdk是否配置成功java -version,出现如下界面证明配置成功:

    2.增加用户组和用户

    在官网上下载es和kibana 7.5

    将es和kibana上传到服务器的/opt目录,并解压

    因为ElasticSearch不允许root账户启动,所以需要创建es专用账户

    1
    2
    3
    4
    useradd es 				#创建es账户
    passwd es #给es账户设置密码,需要输入两遍密码
    groupadd es #增加es用户组
    usermod -G es es #将es用户分配到es用户组去

    使用root账户登录,将elasticsearch文件夹分配给es账户,否则不能启动es

    chown -R es:es elasticsearch-7.5.0

    3. 修改es配置

    /config/elasticsearch.yml增加如下配置

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    cluster.name: elasticsearch-cluster														#集群名称
    node.name: es-node1 #节点名称
    network.bind_host: 0.0.0.0 #访问限制,0.0.0.0代表没有限制
    network.publish_host: 10.123.101.197 #开放访问ip,只允许使用此ip访问
    http.port: 9200 #http开放端口
    transport.tcp.port: 9300 #tcp开放端口
    http.cors.enabled: true #如果启用了 HTTP 端口,那么此 属性会指定是否允许跨源 REST 请求
    http.cors.allow-origin: "*" #如果 http.cors.enabled 的值 为 true,那么该属性会指定允许 REST 请求来自何处。
    node.master: true #此节点可以被选举称主节点
    node.data: true #此节点可以用来存放数据
    discovery.zen.ping.unicast.hosts: #集群所有ip:tcpPort配置 ["10.123.101.197:9300","10.123.101.198:9300","10.123.101.226:9300"]
    discovery.zen.minimum_master_nodes: 2 #最小可选举主节点配置
    cluster.initial_master_nodes: ["es-node1"] #集群初始化主节点配置
    xpack.monitoring.collection.enabled: true #开启监控

    其中10.123.101.197是本机ip,其他两台机器分别改成本机ip就可以,discovery.zen.ping.unicast.hosts:是整个集群所有节点ip+端口号.

    注:9200为http端口,9300位tcp端口,http端口使用来外部通讯的,tcp端口是用来jar之间的通信,ES集群是使用9300来进行通讯

    4. ES启动常见报错

    [1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]

    切换到root用户,修改/etc/security/limits.conf文件,增加以下配置,重新登录后启用新配置:

    1
    2
    * soft nofile 65536
    * hard nofile 65536

    [2]: max number of threads [3818] for user [es] is too low, increase to at least [4096]

    此报错代表最大线程个数太低

    切换到root用户,修改/etc/security/limits.conf文件,增加以下配置,重新登录后启用新配置:

    1
    2
    * soft nproc 4096
    * hard nproc 4096

    [3]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

    修改/etc/sysctl.conf文件,增加配置vm.max_map_count=262144,执行sysctl -p使之生效

    5. ES启动

    进入es文件夹,执行./bin/elasticsearch来启动ES,出现如下界面表示启动成功:

    此时,我们访问10.123.101.197:9200,可以出现:

    证明此ES节点启动成功。

    6. ES集群启动

    在其他机器上重复执行上述步骤,将其他机器的ES分别启动

    es-node2:

    es-node3:

    证明其他两个ES节点启动成功,访问

    http://ip:9200/_cat/nodes?pretty

    如果出现两个主节点,此为ES的脑裂,将所有节点关闭,并删除$ES_HOME下的data文件后,重启节点将恢复正常:

    7. 破解白金永久权限

    破解补助参考:https://www.cnblogs.com/sanduzxcvbnm/p/12000979.html

    关闭所有集群,将破解文件x-pack-core-7.5.0.jar替换到ES目录下./moudles/x-pack-core/下,将原有包替换。

    启动所有节点,访问http://10.123.101.197:9200后弹出登录框,进入es-node01节点的elasticsearch目录,执行下行指令:

    1
    ./bin/elasticsearch-setup-passwords interactive

    以配置Elastic Stack密码,并记住密码,如下图

    8. 配置Kibana

    将下载好的kibana压缩包上传到master节点下的/opt目录,解压缩后修改所有权为es用户

    1
    2
    3
    4
    5
    scp kibana-7.5.0-linux-x86_64.tar.gz root@centos01:/opt
    su root
    cd /opt
    tar -zxvf kibana-7.5.0-linux-x86_64.tar.gz
    chown -R es:es kibana-7.5.0-linux-x86_64

    切换到es用户,修改./config/kibana.yml,增加如下配置(此处es密码为上一步所配置的密码):

    1
    2
    3
    4
    5
    6
    7
    i18n.locale: "zh-CN"
    server.name: kibana
    server.host: "0"
    elasticsearch.hosts: [ "http://10.123.101.197:9200","http://10.123.101.198:9200","http://10.123.101.226:9200" ]
    xpack.monitoring.ui.container.elasticsearch.enabled: true
    elasticsearch.username: elastic
    elasticsearch.passwd: elastic123

    保存后,启动kibana, ./bin/kibana

    显示Server running at http://0:5601后,访问http://ip:5601

    证明Kibana启动成功,然后访问Stack Monitor

    证明ES监控启动成功。

    Author: Oven Guo
    Link: http://ovenguo.cn/2019/12/12/ElasticSearch%E9%9B%86%E7%BE%A4-Kibana-7-5-0%E7%8E%AF%E5%A2%83%E6%90%AD%E5%BB%BA/
    Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
    Donate
    • 微信
    • 支付宝