2.1、 主机规划 主机名 IP 部署软件 备注 Cong11 192.168.1.11 ELK 7.3 ELK软件版本要一致 Cong12 192.168.1.12 httpd+ filebeat 使用filebeat收集日志 Cong13 192.168.1.13 Kafka+zookeeper 这里部署单节点 2.2、 环境配置 2.2.1、 软件版本 这里使用最新的7.3.0版本,ELK所有的组件最好选择相同的版本 2.2.2、 时间同步 所有节点都需要进行时间同步 [root@cong11 ~]# yum install -y ntp [root@cong11 ~]# ntpdate ntp1.aliyun.com [root@cong12 ~]# ntpdate ntp1.aliyun.com 2.3、 ELK部署(cong11) 这里我们首选把ELK的环境搭建好。一步一步去搭建服务。 2.3.4、 安装jdk1.8 由于ELK 3个软件都需要JDK只支持,所以只要安装Elasticsearch + Logstash + Kibana的服务器都要装JDK,jdk版本至少1.8 2.3.4.1、 解压jdk [root@cong11 ~]# tar -zxvf jdk-8u171-linux-x64.tar.gz -C /usr/local/ 1.1.1.1、 配置JDK环境变量 [root@cong11 ~]# vim /etc/profile #在文件最后加入一下行 JAVA_HOME=/usr/local/jdk1.8.0_171 PATH=
J
A
V
A
H
O
M
E
/
b
i
n
:
JAVA_HOME/bin:
JAVAH?OME/bin:PATH CLASSPATH=
J
A
V
A
H
O
M
E
/
j
r
e
/
l
i
b
/
e
x
t
:
JAVA_HOME/jre/lib/ext:
JAVAH?OME/jre/lib/ext:JAVA_HOME/lib/tools.jar export PATH JAVA_HOME CLASSPATH [root@cong11 ~]# source /etc/profile #使环境变量生效 2.3.4.3、 查看java环境 [root@cong11 ~]# java -version 2.3.5、 安装Elasticsearch 我们这里开始安装Elasticsearch,这里做实验配置用的是Elasticsearch单节点部署,生产环境中应该部署Elasticsearch集群,保证高可用。 2.3.5.4、 解压软件包 [root@cong11 ~]# tar -zxvf elasticsearch-7.3.0-linux-x86_64.tar.gz -C /usr/local/ 2.3.5.5、 创建用户 源码包安装Elasticsearch不能用root启动,这里创建普通用户elk [root@cong11 ~]# useradd elk
2.3.5.6、 给文件授权 [root@cong11 ~]# chown -R elk:elk /usr/local/elasticsearch-7.3.0/ 2.3.5.7、 修改linux系统打开文件最大数 [root@cong11 ~]# vim /etc/sysctl.conf vm.max_map_count=655360 [root@cong11 ~]# sysctl -p /etc/sysctl.conf vm.max_map_count = 655360 [root@cong11 ~]# vim /etc/security/limits.conf #在文件最后添加以下行 #修改最大打开文件数
- soft nofile 65536
- hard nofile 65536
修改最大进程数
- soft nproc 65536
- hard nproc 65536
2.3.5.8、 切换到elk用户 使用普通用户去启动elasticsearch,这是软件强制规定的。 [root@cong11 ~]# su - elk [elk@cong11 ~]$ cd /usr/local/elasticsearch-7.3.0/ [elk@cong11 elasticsearch-7.3.0]$ ls bin config jdk lib LICENSE.txt logs modules NOTICE.txt plugins README.textile
2.3.5.9、 Elasticsearch主配置文件 [elk@cong11 elasticsearch-7.3.0]$ vim config/elasticsearch.yml cluster.name: my-application #集群名称 node.name: node-1 #节点名称,如果有多个节点名称不允许相同 bootstrap.memory_lock: false #锁定内存,关闭,如果jvm占用2G 内存,改为true则直接占用物理机内存2G,可以更改systemctl文件让其允许锁定内存。 network.host: 0.0.0.0 #修改IP http.port: 9200 cluster.initial_master_nodes: [“node-1”] #开启这一项 [elk@cong11 elasticsearch-7.3.0]$ vim config/jvm.options #这里可以修改jvm虚拟机内存大小,默认1G,官方建议设置为最大物理内存的一半 -Xms1g -Xmx1g 2.3.5.10、 启动Elasticsearch [elk@cong11 elasticsearch-7.3.0]$ ./bin/elasticsearch 2.3.5.11、 后台启动 [elk@cong11 elasticsearch-7.3.0]$ ./bin/elasticsearch & 或者: [elk@cong11 elasticsearch-7.3.0]$ ./bin/elasticsearch -d 2.3.5.12、 查看端口 [elk@cong11 elasticsearch-7.3.0]$ netstat -antup | grep 9200
2.3.5.13、 查看进程 [elk@cong11 elasticsearch-7.3.0]$ jps -m 2.3.5.14、 elasticsearch测试 2.3.5.15、 加入开机自启动 [elk@cong11 elasticsearch-7.3.0]$ su - root #切换到root配置 [root@cong11 ~]# vim /etc/init.d/elasticsearch #!/bin/sh #chkconfig: 2345 80 05 #description: elasticsearch #author: taft
export JAVA_BIN=/usr/local/jdk1.8.0_171/bin export PATH=
P
A
T
H
:
PATH:
PATH:JAVA_HOME/bin export CLASSPATH=.:
J
A
V
A
H
O
M
E
/
l
i
b
/
d
t
.
j
a
r
:
JAVA_HOME/lib/dt.jar:
JAVAH?OME/lib/dt.jar:JAVA_HOME/lib/tools.jar export JAVA_HOME JAVA_BIN PATH CLASSPATH
case “$1” in start) su elk<<! cd /usr/local/elasticsearch-7.3.0/ ./bin/elasticsearch -d ! echo “elasticsearch startup” ;; stop) es_pid=ps aux|grep elasticsearch | grep -v 'grep elasticsearch' | awk '{print $2}' kill -9 $es_pid echo “elasticsearch stopped” ;; restart) es_pid=ps aux|grep elasticsearch | grep -v 'grep elasticsearch' | awk '{print $2}' kill -9 $es_pid echo “elasticsearch stopped” su elk<<! cd /usr/local/elasticsearch-7.3.0/ ./bin/elasticsearch -d ! echo “elasticsearch startup” ;; *) echo “start|stop|restart” ;; esac
exit $? su elk<<! 切换为elk用户执行下面的命令,<<! 相当于<<EOF 注意: 以上脚本的用户为elk,如果你的用户不是,则需要替换 以上脚本的JAVA_HOME以及elasticsearch_home如果不同请替换 [root@cong11 ~]# chmod +x /etc/init.d/elasticsearch #给脚本添加权限 [root@cong11 ~]# chkconfig --add /etc/init.d/elasticsearch #添加开机自启动 2.3.5.16、 测试脚本 [root@cong11 ~]# systemctl restart elasticsearch [root@cong11 ~]# ps -aux | grep elasticsearch 2.3.5.17、 监控集群状态 curl – sXGET http://192.168.1.10:9200/_cluster/health?pretty 可以通过提取status字段检测集群状态,正常为绿色,表示自己群可用,但是由于该实验为单节点,因此忽略
|