1.复制虚拟机
在ELK集群的搭建之前请确保像我上篇文章(Linux虚拟机中ELK的安装配置)一样安装配置好ELK,我们就可以开始本篇中的操作了~~~~
- 选择专家模式,副本类型选择完全复制,备份选择当前虚拟电脑状态,勾选重新初始化所有网卡的MAC地址,如下图:
2.修改主机名和主机列表
- 输入:
vi /etc/sysconfig/network-script/ifcfg-enp0s3
修改网络ip地址 - 重新载入网络配置 :
systemctl restart network
- 关闭防火墙:
systemctl stop firewalld
- 防止防火墙开机启动:
systemctl disable firewalld
vi /etc/hostname
分别修改为bigdata01,bigdata02,bigdata03
主机名修改完后 不会立即显示在屏幕上,如果觉得不方便辨认,可以先重新启动一次,就可以看到名称的改变。
3.配置免密登录
ssh-keygen -t rsa -P ""
生成私钥cat .ssh/id_rsa.pub >> .ssh/authorized_keys
复制私钥到公钥ssh-copy-id -i .ssh/id_rsa.pub -p22 root@bigdata03
远程复制到另一台机器,重复操作,三台机器之间环形链接,一号机复制到二三号,二号机复制到一三号,三号机复制到一二号,配置6次。ssh -p 22 root@bigdata03
远程登录验证,不需要输入密码即可,ssh免密登录,默认端口22
4.配置Elasticsearch集群
-
输入:
vi /opt/es622/config/elasticsearch.yml
修改节点名,ip地址,主机列表
如图:上图是二号机配置,三号机:node-02,192.168.56.112
上图是一号机配置 -
切换用户:
su es
-
在es622目录下,删除data和log目录,依次运行:
-
rm -rf data
-
rm -rf log
-
cd bin
-
./elasticsearch
-
最后就可以依次在三台虚拟机中运行es
5.logstash示例
- 输入:
cd /opt/logstash622
进入logstash的安装目录 - 输入:
./bin/logstash -e 'input { stdin{} } output { stdout{} }'
来测试logstash是否正常工作,需要等待 - 输入:
./bin/logstash -e 'input { stdin{} } output { stdout{ codec => json } }'
把控制台输入的数据转换成json格式的数据,也可以替换成rubydebug类型的 ./bin/logstash -e 'input { stdin{} } output { stdout{ codec => json } elasticsearch { hosts => [“192.168.56.110:9200”] } }'
把控制台输入的数据转换成rubydebug类型的数据,同时上传到es服务器,可以在对应192.168.56.110:9100的页面进行查看- 使用logstash读取文件,需创建temp文件夹,创建两个文件demo.conf和test.txt
- ./bin/logstash -f demo.conf 改变demo.conf的内容
input{
file{
path => "/opt/logstash622/temp/test.txt"
start_position => "beginning"
sincedb_path => "/dev/null"
}
}
output{
stdout{
codec => rubydebug
}
elasticsearch{
hosts => ["192.168.56.110:9200"]
}
}