elk7.10.2分布式集群安装(centos7)
ELK安装
主机规划
192.168.31.101 cancer01 es master/es datanode/logstash
192.168.31.102 cancer02 es master/es datanode/logstash
192.168.31.103 cancer03 es master/es datanode/logstash/kibana
ES安装
下载
elasticsearch-7.10.2-linux-x86_64.tar.gz
logstash-7.10.2-linux-x86_64.tar.gz
kibana-7.10.2-linux-x86_64.tar.gz
elasticsearch-analysis-ik-7.10.2.zip
jdk-11.0.9_linux-x64_bin.rpm
环境准备
设置IP
在每台主机上设置IP
1、修改配置文件 # vim /etc/sysconfig/network-scripts/ifcfg-eth0(ifcfg-eth0为网卡名,不同主机可能名称不同) BOOTPROTO=static ONBOOT=yes IPADDR=192.168.31.101 NETMASK=255.255.255.0 GATEWAY=192.168.31.1 DNS1=192.168.31.1 DNS2=0.0.0.0 2、重启服务 # service network restart |
设置主机名
在每台主机上设置主机名
1、查看主机名 # hostnamectl 2、用命令修改 # hostnamectl set-hostname cancer01 (修改当前主机名) 3、修改配置文件 # vim /etc/hosts (每台主机hosts文件均为如下内容) 127.0.0.1 localhost 192.168.116.101 cancer01 192.168.116.102 cancer02 192.168.116.103 cancer03 4、重启主机 # reboot now |
关闭防火墙
在每台主机上关闭防火墙
# systemctl stop firewalld.service centos7停止firewall # systemctl disable firewalld.service centos7禁止firewall开机启动 |
关闭selinux
在每台主机上关闭selinux
selinux=disabled |
禁用透明大页
在每台主机上禁用Transparent Hugepage
查看状态 # cat /sys/kernel/mm/transparent_hugepage/enabled 返回结果 [always] madvise never 永久关闭 # vim /etc/rc.local if test -f /sys/kernel/mm/transparent_hugepage/enabled; then echo never > /sys/kernel/mm/transparent_hugepage/enabled fi if test -f /sys/kernel/mm/transparent_hugepage/defrag; then echo never > /sys/kernel/mm/transparent_hugepage/defrag fi 或者直接运行下面命令: # echo never > /sys/kernel/mm/transparent_hugepage/enabled # echo never > /sys/kernel/mm/transparent_hugepage/defrag 重启机器 查看状态 # cat /sys/kernel/mm/transparent_hugepage/enabled 返回结果 always madvise [never] |
设置虚拟内存
在每台主机上设置最大虚拟内存区
echo "vm.max_map_count=262144" > /etc/sysctl.conf 或者 sysctl -w vm.max_map_count=262144 > /etc/sysctl.conf sysctl -p
|
设置文件句柄数量和进程数量
在每台主机上设置文件句柄打开数量和进程数量
1、查看 最大打开文件句柄数和最大进程数 # ulimit -a 最大打开文件句柄数 #ulimit -n 最大进程数 #ulimit -u 2、查看应用进程打开文件句柄数 # lsof -n|awk '{print $2}'|sort|uniq -c|sort -nr|more 根据进程ID号来查看进程名 # ps aef|grep 24204 3、用户级限制修改 # vim /etc/security/limits.conf * soft nofile 65535 * hard nofile 65535 * soft nproc 32000 * hard nproc 32000 centos7修改用户进程数和文件描述符 soft nproc: 单个用户可用的最大进程数量(软限制) hard nproc:单个用户可用的最大进程数量(硬限制) soft nofile: 可打开的文件句柄的最大数(软限制) hard nofile: 可打开的文件句柄的最大数(硬限制) * : 代表所有用户,也可以写成你需要修改的用户名 4、系统级限制修改 # echo 6553560 > /proc/sys/fs/file-max (临时生效,重启机器后会失效) # vim /etc/sysctl.conf fs.file-max = 6553560 (永久生效) # reboot now |
主机时间同步
在每台主机上安装ntp时间同步插件
1.检查是否有时间同步的插件: # rpm -qa | grep ntp 2.没有就安装(每台都要安装): # yum -y install ntp ntpdate 3.选择一台服务器作为集群的时间服务器,主节点 比如:cancer01:时间服务器,cancer02、cancer03、cancer04、cancer05时间同步cancer01 4.修改主节点配置 #vim /etc/ntp.conf ## 1 同步网络时间地址 server 0.asia.pool.ntp.org server 1.asia.pool.ntp.org server 2.asia.pool.ntp.org server 3.asia.pool.ntp.org ## 2 当外部时间不可用,则使用当前硬件时间 server 127.127.1.0 iburst local lock ## 3 允许哪些网段的机器,来同步时间 restrict 192.168.31.0 mask 255.255.255.0 nomodify notrap ##注:1位置为修改原有的配置,2,3位置的新增加的,其余原有文件配置保持不动 5.修改从节点配置 #vim /etc/ntp.conf ## 客户端节点配置同步时间的主节点,表示向主节点cancer01同步时间 server cancer01 prefer server 127.127.1.0 fudge 127.127.1.0 stratum 10 #vim /etc/ntp/step-tickers cancer01 6.重启所有节点ntp服务,并设置开机启动 #systemctl restart ntpd #systemctl enable ntpd 7.在从节点从主节点同步时间 #ntpdate -u cancer01 8.从节点设置定时任务 #crontab -e ## follow time from master host 0 * * * * ntpdate -u cdh01 ## write system time to hardware time 1 * * * * hwclock –systohc ## 同步时间后,还需把同步到的时间写入机器硬件时间,命令为 hwclock --systohc ## 或者 ## 每10分钟同步一次时间 0-59/10 * * * * /sbin/service ntpd stop 0-59/10 * * * * /usr/sbin/ntpdate -u node1 0-59/10 * * * * /sbin/service ntpd start |
配置免密
在每台主机上配置ssh免密
# ssh-keygen -t rsa 然后三次回车,运行结束会在~/.ssh下生成两个新文件: id_rsa.pub和id_rsa就是公钥和私钥 然后也是在每台主机上都执行: # ssh-copy-id cancer01 # ssh-copy-id cancer02 # ssh-copy-id cancer03 |
安装JDK
elasticsearch要求jdk为11.
在每台主机上安装jdk