美文网首页
ELK集群搭建大型日志系统:2.安装Kibana

ELK集群搭建大型日志系统:2.安装Kibana

作者: 小六的昵称已被使用 | 来源:发表于2019-08-13 10:13 被阅读0次

    环境

    [14:23:11 root@elk-01 ~ $]cat /etc/centos-release
    CentOS Linux release 7.6.1810 (Core)
    
    kibana-7.1.1-x86_64.rpm
    

    第一步:系统优化设置

    1.告诉操作系统可以无限制分配内存给一个进程

    echo '* soft memlock unlimited' >>/etc/security/limits.conf
    echo '* hard memlock unlimited' >>/etc/security/limits.conf
    cat /etc/security/limits.conf
    

    2.禁用SWAP

    ## 完全禁用SWAP
    ## swapoff -a
    ## 尽量避免使用SWAP
    echo 'vm.swappiness = 1' >> /etc/sysctl.conf
    

    3. 修改最大打开文件描述符

    echo '* soft nofile 65535' >> /etc/security/limits.conf
    echo '* hard nofile 65535' >> /etc/security/limits.conf
    cat /etc/security/limits.conf
    ulimit -n 65535
    

    4.重启生效

    init 6
    

    第二步:安装 Elasticsearch 协调节点

    官方说明:https://www.elastic.co/guide/en/kibana/current/production.html#load-balancing

    Kibana 连接 Elasticsearch 不支持多节点集群,官方给解决方案是跟 Kibana 在同一个节点上再安装 Elasticsearch 加入集群并设置为协调节点,然后 Kibana 直接连接本地 ES 节点即可。

    Elasticsearch 协调节点不负责存储数据、不参与选举 Master。本质是上就是一个只能负责平衡器,是集群的一部分,他接受传入的 HTTP 请求,并将请求重定向到集群中的其他节点,收集并返回结果。

    下载地址:https://www.elastic.co/cn/downloads/elasticsearch

    帮助文档:https://www.elastic.co/cn/webinars/getting-started-elasticsearch?elektra=startpage

    1.下载并安装

    wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.1.1-x86_64.rpm
    rpm -ivh elasticsearch-7.1.1-x86_64.rpm
    

    2.修改配置文件以支持集群

    1.注意修改network.host为各节点IP地址

    2.注意修改discovery.zen.ping.unicast.hosts列表

    cp /etc/elasticsearch/elasticsearch.yml /etc/elasticsearch/elasticsearch.yml.bak
    cat <<EOF >>/etc/elasticsearch/elasticsearch.yml
    ## 通过以下3项设置让此节点既不是主节点、又不是数据节点、又不是摄取节点,但是充当搜索负载均衡器
    # node.master: false
    # node.data: false
    # node.ingest: false
    
    ## 集群名称
    cluster.name: ELK-Cluster
    
    ## 节点名称(每个节点名称不能相同)
    node.name: `hostname`
    
    ## 允许 JVM 锁住内存,禁止操作系统交换出去
    # bootstrap.memory_lock: true
    
    ## 是否有资格成为主节点
    ## 通过 node.master 可以配置该节点是否有资格成为主节点,如果配置为 true,则主机有资格成为主节点
    ## 注意这里是有资格成为主节点,不是一定会成为主节点
    node.master: false
    
    ## 是否是数据节点
    ## 当 node.master 和 node.data 均为 false,则该主机会作为负载均衡节点
    node.data: false
    
    ## 是否是摄取节点
    ## ElasticSearch的ingest节点用来在真正对文档进行索引之前做预处理。
    ## 所有的节点都是默认支持ingest的,任何节点都可以处理ingest请求,也可以创建一个专门的Ingest nodes。
    node.ingest: false
    
    ## 设置访问的地址和端口
    network.host: 192.168.50.17
    http.port: 9200
    
    ## 集群地址设置
    ## 配置之后集群的主机之间可以自动发现
    # discovery.zen.ping.unicast.hosts: ["192.168.50.14", "192.168.50.15", "192.168.50.16"]
    discovery.seed_hosts: ["192.168.50.14", "192.168.50.15", "192.168.50.16", "192.168.50.17"]
    cluster.initial_master_nodes: ["192.168.50.14", "192.168.50.15", "192.168.50.16", "192.168.50.17"] 
    
    ## 配置大多数节点(通常为主节点的节点总数/ 2 + 1)来防止“裂脑”:
    discovery.zen.minimum_master_nodes: 2
    
    ## 在完全集群重启后阻止初始恢复,直到启动N个节点
    gateway.recover_after_nodes: 2
    EOF
    vim /etc/elasticsearch/elasticsearch.yml
    

    3.为elasticsearch设置jdk路径,否则启动时候会报错

    请根据自己实际路径进行修改

    cp /etc/sysconfig/elasticsearch /etc/sysconfig/elasticsearch.bak
    cat <<EOF >>/etc/sysconfig/elasticsearch
    JAVA_HOME=/home/jdk1.8.0_202
    EOF
    

    4.设置堆内存(根据物理内存情况设置)

    http://openskill.cn/article/304
    https://www.elastic.co/guide/en/elasticsearch/guide/current/heap-sizing.html
    https://www.elastic.co/guide/cn/elasticsearch/guide/current/_limiting_memory_usage.html
    https://www.elastic.co/guide/en/elasticsearch/reference/current/heap-size.html
    
    ## 编辑以下值
    ## 内存设置为物理内存的50%,并且不要超过32G
    ## 确保这两个值相等,防止程序在运行时改变堆内存大小, 这是一个很耗系统资源的过程
    cp /etc/elasticsearch/jvm.options /etc/elasticsearch/jvm.options.bak
    vim /etc/elasticsearch/jvm.options
    
    -Xms2g
    -Xmx2g
    

    5.启动服务

    systemctl daemon-reload
    systemctl enable elasticsearch.service
    systemctl stop elasticsearch.service
    systemctl start elasticsearch.service
    systemctl status elasticsearch.service
    

    6.验证

    ## 查看单节点状态
    curl -X GET "192.168.50.14:9200/"
    curl -X GET "192.168.50.15:9200/"
    curl -X GET "192.168.50.16:9200/"
    curl -X GET "192.168.50.17:9200/"
    
    ## 查看集群内节点分布
    curl -XGET 'http://192.168.50.14:9200/_cat/nodes?pretty'
    curl -XGET 'http://192.168.50.15:9200/_cat/nodes?pretty'
    curl -XGET 'http://192.168.50.16:9200/_cat/nodes?pretty'
    curl -XGET 'http://192.168.50.17:9200/_cat/nodes?pretty'
    
    ## 检测集群健康状态
    curl 192.168.50.14:9200/_cat/health?v
    curl 192.168.50.15:9200/_cat/health?v
    curl 192.168.50.16:9200/_cat/health?v
    curl 192.168.50.17:9200/_cat/health?v
    
    ## 查看所有支持的 _cat 命令
    curl -XGET 'http://192.168.50.14:9200/_cat?pretty'
    curl -XGET 'http://192.168.50.15:9200/_cat?pretty'
    curl -XGET 'http://192.168.50.16:9200/_cat?pretty'
    curl -XGET 'http://192.168.50.17:9200/_cat?pretty'
    
        _cat代表查看信息
        nodes为查看节点信息,默认会显示为一行,所以就用刀了?preety让信息更有好的显示
        ?preety让输出信息更友好的显示
    

    第三步:下载并安装 Kibana

    下载地址:https://www.elastic.co/cn/downloads/kibana

    帮助文档:https://www.elastic.co/guide/en/kibana/7.1/index.html

    1.下载并安装

    wget https://artifacts.elastic.co/downloads/kibana/kibana-7.1.1-x86_64.rpm
    rpm -ivh kibana-7.1.1-x86_64.rpm
    

    2.修改配置

    cp /etc/kibana/kibana.yml /etc/kibana/kibana.yml.bak
    cat <<\EOF >> /etc/kibana/kibana.yml
    ## 设置监听端口
    server.port: 5601
    
    ## 设置绑定IP
    server.host: "192.168.50.17"
    
    ## 修改系统语言
    i18n.locale: "zh-CN"
    
    ## 填写 ES 服务器地址(这里填写上边部署好的 ES 协调节点的地址和端口)
    elasticsearch.hosts: ["http://192.168.50.17:9200"]
    EOF
    

    3.启动服务

    systemctl enable kibana.service
    systemctl stop kibana.service
    systemctl start kibana.service
    systemctl status kibana.service
    

    4.登录查看

    ## 管理地址
    http://192.168.50.17:5601
    
    ## kibana 状态监控
    http://192.168.50.17:5601/status
    

    相关文章

      网友评论

          本文标题:ELK集群搭建大型日志系统:2.安装Kibana

          本文链接:https://www.haomeiwen.com/subject/fliujctx.html