Linux下ELK7.1.0集群搭建

您所在的位置:网站首页 es7集群搭建 Linux下ELK7.1.0集群搭建

Linux下ELK7.1.0集群搭建

2022-05-20 01:22| 来源: 网络整理| 查看: 265

一、创建用户

从5.0开始,ElasticSearch 安全级别提高了,不允许采用root帐号启动,所以我们要添加一个用户

1、创建 elasticsearch 用户组 [root@localhost ~]# groupadd elasticsearch 2、创建用户 es 并设置密码为es [root@localhost ~]# useradd es [root@localhost ~]# passwd es 3、用户es 添加到 elasticsearch 用户组 [root@localhost ~]# usermod -G elasticsearch es 4、设置sudo权限 [root@localhost ~]# visudo 在root ALL=(ALL) ALL 一行下面 添加es用户 如下: es ALL=(ALL) ALL 5、添加成功保存后切换到es用户操作 [root@localhost ~]# su es [es@localhost root]$ 二、关闭防火墙 1.查看防火状态 systemctl status firewalld service iptables status 2.永久关闭防火墙 systemctl disable firewalld chkconfig iptables off 3.防火墙其他命令(搭建时可不用) 1.暂时关闭防火墙 systemctl stop firewalld service iptables stop 2.重启防火墙 systemctl enable firewalld service iptables restart 三、安装elasticsearch-7.1.0(多节点相同操作) 1.下载安装包 #这里到华为下载(可以到官网下下载) [es@localhost src]$ wget https://mirrors.huaweicloud.com/elasticsearch/7.1.0/elasticsearch-7.1.0-linux-x86_64.tar.gz [es@localhost src]$ tar -xvf elasticsearch-7.1.0.tar.gz #把解压的文件移动到 /usr/local [es@localhost src]$ sudo mv elasticsearch-7.1.0 /usr/local #更改elasticsearch-7.1.0 文件夹以及内部文件的所属用户为es, 用户组组为elasticsearch,-R表示逐级 [es@localhost local]$ sudo chown -R es:elasticsearch elasticsearch-7.1.0 2.ElasticSearch 配置

注意:本文是三个节点配置

1、elasticsearch.yml 修改 #打开elasticsearch.yml按i开始编辑 [es@localhost elasticsearch-7.1.0]$ vim config/elasticsearch.yml ##替换成以下配置 # 设置节点名称,集群内节点名称必须唯一。 node.name: node-2 # 表示该节点会不会作为主节点,true表示会;false表示不会 node.master: true # 当前节点是否用于存储数据,是:true、否:false node.data: true # 索引数据存放的位置 #path.data: /opt/elasticsearch/data # 日志文件存放的位置 #path.logs: /opt/elasticsearch/logs # 需求锁住物理内存,是:true、否:false #bootstrap.memory_lock: true # 监听地址,用于访问该es network.host: 0.0.0.0 # es对外提供的http端口,默认 9200 http.port: 9200 # TCP的默认监听端口,默认 9300 transport.tcp.port: 9300 # 设置这个参数来保证集群中的节点可以知道其它N个有master资格的节点。默认为1,对于大的集群来说,可以设置大一点的值(2-4) discovery.zen.minimum_master_nodes: 2 # es7.x 之后新增的配置,写入候选主节点的设备地址,在开启服务后可以被选为主节点 discovery.seed_hosts: ["192.168.0.36:9300", "192.168.0.37:9300", "192.168.0.39:9300"] discovery.zen.fd.ping_timeout: 1m discovery.zen.fd.ping_retries: 5 # es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举master cluster.initial_master_nodes: ["node-1", "node-2", "node-3"] # 是否支持跨域,是:true,在使用head插件时需要此配置 http.cors.enabled: true # “*” 表示支持所有域名 http.cors.allow-origin: "*" action.destructive_requires_name: true action.auto_create_index: .security,.monitoring*,.watches,.triggered_watches,.watcher-history* bootstrap.memory_lock: false bootstrap.system_call_filter: false # 开启x-pack安全验证 #xpack.security.enabled: true #xpack.license.self_generated.type: basic #xpack.security.transport.ssl.enabled: true #xpack.security.transport.ssl.verification_mode: certificate #xpack.security.transport.ssl.keystore.path: elastic-certificates.p12 #xpack.security.transport.ssl.truststore.path: elastic-certificates.p12

本文三个节点配置,多个节点注意修改下面配置: //节点名称不能相同 node.name: node-1 discovery.seed_hosts: ["192.168.0.36:9300", "192.168.0.37:9300", "192.168.0.39:9300"] cluster.initial_master_nodes: ["node-1", "node-2", "node-3"]

2、修改/etc/sysctl.conf #切换回root 用户 执行 vim /etc/sysctl.conf #在文件最后面添加内容:vm.max_map_count=262144 [root@localhost ~]# sysctl -p net.ipv4.ip_forward = 0 net.ipv4.conf.default.rp_filter = 1 net.ipv4.conf.default.accept_source_route = 0 kernel.sysrq = 0 kernel.core_uses_pid = 1 net.ipv4.tcp_syncookies = 1 kernel.msgmnb = 65536 kernel.msgmax = 65536 kernel.shmmax = 68719476736 kernel.shmall = 4294967296 vm.max_map_count = 262144 [root@localhost ~]# #保存退出后,使用sysctl -p 刷新生效 3、修改文件/etc/security/limits.conf vim /etc/security/limits.conf #添加如下内容: * hard nofile 65536 * soft nofile 65536 * soft nproc 2048 * hard nproc 4096 #启动elasticesearch 可能还会报如下错误 #max number of threads [1024] for user [lish] likely too low, increase to at least [4096] #解决:切换到root用户,进入limits.d目录下修改配置文件。 vi /etc/security/limits.d/90-nproc.conf #修改如下内容: * soft nproc 1024 #修改为 * soft nproc 4096

4.防火墙配置(已经关闭好像没有用,自测)

向防火墙中添加端口的命令为: firewall-cmd --zone=public --add-port=9200/tcp --permanent reaload 防火墙规则: firewall-cmd --reload 查看端口是否添加成功: firewall-cmd --zone=public --query-port=9200/tcp 5.启动 elasticsearch

集群全部安装后启动

#完成上面配置修改后,切换到es 用户,目录切换到 elasticsearch 安装目录下执行 [es@localhost elasticsearch-7.1.0]$ bin/elasticsearch 6.开启x-pack验证,设置elasticsearch集群用户账号密码 6.1.#开启x-pack只需要在elasticsearch的配置文件 elasticsearch.yml文件中新增如下配置即可: # 开启x-pack安全验证 xpack.security.audit.enabled: true xpack.license.self_generated.type: basic # 如果是basic license的话需要加入下面这一行,不然的话restart elasticsearch之后会报错。 xpack.security.transport.ssl.enabled: true 6.2.生成节点证书,复制到其他节点 #借助elasticsearch-certutil命令生成证书 bin/elasticsearch-certutil ca -out config/elastic-certificates.p12 -pass "" image.png 6.3配置加密通信

启用安全功能后,必须使用TLS来确保节点之间的通信已加密。 在elasticsearch.yml中心新增配置如下

xpack.security.transport.ssl.enabled: true xpack.security.transport.ssl.verification_mode: certificate xpack.security.transport.ssl.keystore.path: elastic-certificates.p12 xpack.security.transport.ssl.truststore.path: elastic-certificates.p12 6.4设置集群密码 ./bin/elasticsearch-setup-passwords interactive image.png 7.测试集群是否搭建成功 在浏览器输入任意一个ip[http://192.168.0.36:9200/_cat/nodes](http://192.168.0.36:9200/_cat/nodes) :9200 验证是否启动成功,如果浏览器输出如下信息,代表安装启动成功 image.png 8.注意:如果搭建集群前已经启动过es,先删除data和logs下文件再重新启动 [es@HNKC elasticsearch-7.1.0]$ rm -rf ./logs/* [es@HNKC elasticsearch-7.1.0]$ rm -rf ./data/* 三、安装可视化工具kibana-7.1.0 1.下载kibana-7.1.0 #这里到华为下载(可以到官网下下载) [es@localhost src]$ wget https://mirrors.huaweicloud.com/kibana/7.1.0/kibana-7.1.0-linux-x86_64.tar.gz [es@localhost src]$ tar -xvf kibana-7.1.0-linux-x86_64.tar.gz #把解压的文件移动到 /usr/local [es@localhost src]$ sudo mv kibana-7.1.0-linux-x86_64.tar.gz /usr/local #转到/usr/local目录下 [es@localhost src]$ cd usr/local #重命名Kibana [es@localhost local]$ mv kibana-7.1.0-linux-x86_64 kibana-7.1.0 2.修改kibana集群配置 #进入kibana.yml文件,修改文件 [es@MJ-CENTOS7 kibana-7.1.0]$ vim ./config/kibana.yml #向kibana.yml添加以下配置 server.port: 5601 server.host: "192.168.0.39" elasticsearch.hosts: ["http://192.168.0.36:9200","http://192.168.0.37:9200","http://192.168.0.39:9200"] #i18n.locale: "zh-CN" #elasticsearch.username: "kibana" #elasticsearch.password: "kibana" #启动kibana [es@MJ-CENTOS7 kibana-7.1.0]$ ./bin/kibana 3.查看kibana是否启动,查看集群状况

在浏览器输入http://192.168.0.39:5601

image.png

4.设置自动创建index PUT /_cluster/settings { "persistent" : { "action": { "auto_create_index": "true" } } } 四、设置开机自启 1、创建脚本文件

在 /etc/init.d 目录下,创建脚本文件 elasticsearch

cd /etc/init.d/ vim elasticsearch

将以下内容写入文件中(其中JDK安装路径、elasticsearch安装路径及用于启动的elasticsearch的用户根据实际情况进行修改)

#!/bin/sh #chkconfig: 2345 80 05 #description: elasticsearch export JAVA_HOME=/usr/local/java/jdk1.8.0_131 export JAVA_BIN=/usr/local/java/jdk1.8.0_131/bin export PATH=$PATH:$JAVA_HOME/bin export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export JAVA_HOME JAVA_BIN PATH CLASSPATH case "$1" in start) su - es

注意,   前两行必须填写,且要注释掉。     第一行为shell前行代码,目的告诉系统使用shell。     第二行分别代表运行级别、启动优先权、关闭优先权,且后面添加开机服务会用到。     shell脚本中的java、es路径、开启账户要注意。(我是在root用户下使用的,但是es是安装在brian下)

2、设置开机自启 #在 /etc/init.d 目录下赋予新创建的elasticsearch文件执行权限 chmod +x elasticsearch #添加到开机启动任务 chkconfig --add elasticsearch # 重启机器,检测elasticsearch是否自启 ps -ef|grep elasticsearch image.png elasticsearch进程已经起来 检测elasticsearch服务是否正常 # curl http://192.168.56.39:9200 image.png

服务正常,至此Linux下设置Elasticsearch开机自启完成!

五、logstash交给kibana监控

修改logstash.yml

#是否集群 xpack.monitoring.enabled: true #初始用户 xpack.monitoring.elasticsearch.username: "logstash_system" #密码 xpack.monitoring.elasticsearch.password: "123456" #es的集群 xpack.monitoring.elasticsearch.hosts: ["http://******:9200"] image.png


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3