#6.6版本
###ELK stack:是软件集合elksticsearch、logstash、kibana的集合,都是开源软件
#这是集群cluster,若为单机节点,直接起;
本次实验是:一个master 两个:worker node
msater:一般3台;一般服务器
node:消耗大;
client:内存多;
搭建实验环境
3台虚拟机redhat7.5系统,内存:2G,cpu:2
主机信息 | 作用 |
---|---|
server1(172.25.8.1) | master节点 |
server2(172.25.8.2) | node1节点 |
server3(172.25.8.3) | node2节点 |
(1)用真机创建三个虚拟机
[root@foundation8 images]# qemu-img create -f qcow2 -b rhel7.5-1.qcow2 elk1
[root@foundation8 images]# qemu-img create -f qcow2 -b rhel7.5-1.qcow2 elk2
[root@foundation8 images]# qemu-img create -f qcow2 -b rhel7.5-1.qcow2 elk3
(2)用真机连接三台虚拟机
关闭防火墙和selinux
elksticsearch(6.6版)环境部署
软件包的下载:
清华大学开源软件镜像站
[root@server1 ~]# ls
elasticsearch-6.6.1.rpm elasticsearch-head-master.zip jdk-8u171-linux-x64.rpm #这些安装包是我提前下载好的
[root@server1 ~]# rpm -ivh jdk-8u171-linux-x64.rpm #安装jdk
[root@server1 ~]# rpm -ivh elasticsearch-6.6.1.rpm #安装es
[root@server1 ~]# systemctl daemon-reload #重新加载服务程序的配置文件
[root@server1 ~]# systemctl enable elasticsearch.service
[root@server1 systemd]# cd /etc/elasticsearch/
[root@server1 elasticsearch]# vim elasticsearch.yml #修改配置文件
17 cluster.name: my-es #集群名称
23 node.name: server1 #节点主机名称
35 path.data: /var/lib/elasticsearch #数据路径
39 path.logs: /var/log/elasticsearch #日志路径
45 bootstrap.memory_lock: true
57 network.host: 172.25.8.1
61 http.port: 9200
[root@server1 elasticsearch]# systemctl start elasticsearch.service #开启es服务
[root@server1 elasticsearch]# systemctl status elasticsearch.service #查看es服务状态
[root@server1 elasticsearch]# cat /var/log/elasticsearch/my-es.log#查看es的日志 #会有debug报错
[root@server1 elasticsearch]# vim /etc/security/limits.conf
62 elasticsearch soft memlock unlimited
63 elasticsearch hard memlock unlimited
[root@server1 elasticsearch]# systemctl status elasticsearch.service #查看服务状态有报错
[root@server1 elasticsearch]# vim /usr/lib/systemd/system/elasticsearch.service
39 LimitMEMLOCK=infinity
[root@server1 elasticsearch]# systemctl daemon-reload
[root@server1 elasticsearch]# yum install -y bash-* #下载可以tab补齐
[root@server1 elasticsearch]# vim /etc/security/limits.conf
65 elasticsearch - nofile 65535 #打开最大文件数
66 elasticsearch - nproc 4096 #打开最大进程
#记住每次修改过配置文件都要进行重启服务
[root@server1 elasticsearch]# cat /var/log/elasticsearch/my-es.log#查看es的日志 ,显示服务以生效
查看端口:9200和9300被打开
[root@server1 ~]# unzip elasticsearch-head-master.zip
[root@server1 ~]# cd elasticsearch-head-master/
[root@server1 ~]# ls
elasticsearch-6.6.1.rpm nodejs-9.11.2-1nodesource.x86_64.rpm
elasticsearch-head-master
elasticsearch-head-master.zi jdk-8u171-linux-x64.rpm
[root@server1 ~]# rpm -ivh nodejs-9.11.2-1nodesource.x86_64.rpm
#打开网络在主机上进行地址伪装和路由转换
[root@server1 ~]# cd elasticsearch-head-master/
[root@server1 elasticsearch-head-master]# npm install #npm进行下载,`注意路径`,有可能会出现报错,一定要注意你的taoba镜像的路径设置
[root@server1 ~]# tar jxf phantomjs-2.1.1-linux-x86_64
[root@server1 phantomjs-2.1.1-linux-x86_64]# ls
[root@server1 phantomjs-2.1.1-linux-x86_64]# cd bin/
[root@server1 bin]# cp phantomjs /usr/local/bin/ #将脚本启动文件存放在 /usr/local/bin/
[root@server1 elasticsearch-head-master]# yum install -y libfontconfig.so.1
[root@server1 elasticsearch-head-master]# yum install -y fontconfig #注意下载64位的
[root@server1 elasticsearch-head-master]# phantomjs
phantomjs>
[root@server1 elasticsearch-head-master]# node -v
v9.11.2
[root@server1 elasticsearch-head-master]# npm -v
5.6.0
[root@server1 elasticsearch-head-master]# npm run start &
[root@server1 elasticsearch-head-master]# netstat -antlp | grep 9100
#在浏览器上测试,输入:172.25.8.1.9100 es:http://172.25.8.1:9200
#无显示 是因为存在es跨域的问题
[root@server1 elasticsearch-head-master]# vim /etc/elasticsearch/elasticsearch.yml
63 http.cors.enabled: true
64 http.cors.allow-origin: "*" #允许所有的
跨域资源共享(CORS) 是一种机制,它使用额外的 HTTP 头来告诉浏览器 让运行在一个 origin (domain) 上的Web应用被准许访问来自不同源服务器上的指定的资源。当一个资源从与该资源本身所在的服务器不同的域、协议或端口请求一个资源时,资源会发起一个跨域 HTTP 请求。
[root@server1 ~]# systemctl restart elasticsearch.service
[root@server1 ~]# cat /var/log/elasticsearch/my-es.log #查看日志
#在浏览器上再次测试,会出现server1的服务;
#查看文件发现是9100端口
#在浏览器上再次测试,再次点击图中my-es的连接
#将jdk和es的rpm包发送给server2和server3