elasticsearch集群、kibana安装配置教程(7.12.0)

一、elasticsearch安装

1 准备工作

2 集群安装

以3节点为例

节点名IP
es01192.168.0.101
es02192.168.0.102
es03192.168.0.103
  • 上传包并解压

    tar -zxvf elasticsearch-7.12.0-linux-x86_64.tar.gz -C /home/elasticsearch/
    tar -zxvf kibana-7.12.0-linux-x86_64.tar.gz -C /home/elasticsearch/
    
  • 修改目录权限

    chown elasticsearch:elasticsearch /home/elasticsearch/elasticsearch-7.12.0
    chmod 777 /home/elasticsearch/elasticsearch-7.12.0
    
  • 修改limits.conf配置文件

    vim /etc/security/limits.conf
    # 配置 elasticsearch用户打开文件最大数(因为es在启动时调用的文件超出普通用户默认打开文件最大数4096,会导致报错)
    # 在文件末尾中增加下面内容
    
    * soft nofile 65536
    * hard nofile 65536
    

    可通过 ulimit命令对上述配置进行热配置(即不需要重启,配置参数即可生效)

  • 修改虚拟内存空间,默认太小

    vim /etc/sysctl.conf
    # 系统虚拟内存默认最大映射数为65530,无法满足ES系统要求,需要调整为262144以上。
    # 在配置文件中改配置 最后一行上加上
    vm.max_map_count=262144
    

    可执行 sysctl -p(立即生效)

  • 修改jvm.options配置文件

    设置jvm堆(heap size)大小。指针压缩功能处于开启状态,当指正压缩功能关闭时,内存指针将是前面所占内存的1.5倍。请根据内存而定;如果系统内存为64g,此处最多配置为28g;如果为32G内存,此处配置16g

    vim config/jvm.options
    
    -xms26g
    -xmx26g
    
  • ES配置

    cd /home/elasticsearch/
    vim elsticsearch-7.12.0/config/elasticsearch.yml
    
    #加入如下配置
    #集群名称
    cluster.name: cluster-es
    #节点名称,每个节点的名称不能重复,三台机器保持不一样
    node.name: es01
    #ip 地址,填入每个节点的ip,填写三台机器的ip
    network.host: 192.168.0.101  
    #是不是有资格主节点
    node.master: true
    node.data: true
    # 设置对外服务的http端口,默认为9200
    http.port: 9200
    # 设置节点间交互的tcp端口,默认是9300
    transport.tcp.port: 9300
    # head 插件需要这打开这两个配置
    http.cors.allow-origin: "*"
    http.cors.enabled: true
    http.max_content_length: 200mb
    #ES7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举 master
    cluster.initial_master_nodES: ["es01", "es02", "es03"]
    #ES7.x 之后新增的配置,节点发现
    discovery.seed_hosts: ["192.168.0.101:9300","192.168.0.102:9300","192.168.0.103:9300"]
    #集群内同时启动的数据任务个数,默认是 2 个
    cluster.routing.allocation.cluster_concurrent_rebalance: 16
    #添加或删除节点及负载均衡时并发恢复的线程个数,默认 4 个
    cluster.routing.allocation.node_concurrent_recoveriES: 16
    #初始化数据恢复时,并发恢复线程的个数,默认 4 个
    cluster.routing.allocation.node_initial_primariES_recoveriES: 16
    
    #开启密码访问配置
    xpack.security.enabled: true
    xpack.license.self_generated.type: basic
    xpack.security.transport.ssl.enabled: true	
    
    
  • ik分词器插件
    将下载的插件放入es下面的plugins文件夹即可。

  • 启动

    #切换用户
    su - elasticsearch
    cd /home/elasticsearch/elsticsearch-7.12.0/bin
    #后台启动,一台一台启动
    ./elasticsearch -d
    
  • 查看启动状态

    # 查看9200和9300端口是否起来
    ss -ntl
    
    #查看集群健康情况
    http://192.168.0.101:9200/_cluster/health
    #集群状态说明
    #green:所有的主分片和副本分片都正常运行。
    #yellow:所有的主分片都正常运行,但有部分副本分片运行不正常。
    #red:主分片没能正常运行
    
    #查看分片情况
    http://192.168.0.101:9200/_cat/shards?v=true&pretty
    
    #查看节点分布情况
    http://192.168.0.101:9200/_cat/nodES?v=true&pretty
    
    #查看索引列表
    http://192.168.0.101:9200/_cat/indicES?v=true&pretty
    

3 其他节点安装

用scp命令将安装包及elasticsearch.yml文件传到其他服务器上

  • 每个节点上按步骤2执行一遍
  • 修改各节点elasticsearch.yml的第5、7行配置即可

4 密码配置

集群启动后,在集群中一个节点上设置密码即可。
想要成功设置密码的话,必须确保集群状态正常才行,否则密码设置会失败。

在es安装目录的bin下执行如下命令,为各类用户分别设置密码:

./elasticsearch-setup-passwords interactive   

二、Kibana安装

  • 解压kibana-7.12.0-linux-x86_64.tar.gz

    tar -zxvf kibana-7.12.0-linux-x86_64.tar.gz -C /home/elasticsearch/
    
  • 修改配置文件

    cd /home/elasticsearch/kibana-7.12.0
    vim kibana.yml
    
    # 修改如下几处
    server.host: "0.0.0.0"
    elasticsearch.hosts: ["http://192.168.0.101:9200", "http://192.168.0.102:9200", "http://192.168.0.103:9200"]
    # 如果Elasticsearch集群配置了用户名和密码,还需要添加以下行
    elasticsearch.username: "elastic"
    elasticsearch.password: "your_password"
    
  • 启动kibana

    nohup ./kibana &
    
  • 访问kibana
    http://192.168.0.101:5601

三、遇到的问题

  • 从节点无法加入集群?
    检查防火墙

  • 报错with the same id but is a different node instance

    failed to send join request to master [{pros-node-1}{Dhq0h4IHS6GF4MgFwc1Vhw}{w8mXRXG6S6qvSnjHGqrYwQ}{10.45.32.90}{10.45.32.90:10800}],   
    reason [RemoteTransportException[[pros-node-1][10.45.32.90:10800][internal:discovery/zen/join]]; nested: IllegalArgumentException[can't add node {pros-node-2}  
    {Dhq0h4IHS6GF4MgFwc1Vhw}{EttroN0-StienfP37gyLag}  
    {10.45.32.30}{10.45.32.30:10800}, found existing node {pros-node-1}{Dhq0h4IHS6GF4MgFwc1Vhw}{w8mXRXG6S6qvSnjHGqrYwQ}{10.45.32.90}{10.45.32.90:10800}  
     with the same id but is a different node instance]; ] 
    

    因为复制虚拟机时,elsticsearch时,将elsticsearch文件夹下的data文件夹一并复制了。而在前面测试时,data文件夹下已经产生了data数据,于是报上面的错误。

    解决办法:删除elsticsearch文件夹下的data文件夹下的节点数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值