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:
JAVAHOME/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:
JAVAHOME/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:
JAVAHOME/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,如果你的用户不是,则需要替换
以上脚本的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字段检测集群状态,正常为绿色,表示自己群可用,但是由于该实验为单节点,因此忽略
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)