ELK如何配置集群
本文中提及的ELK文件夹都改过名,依次为:
elasticsearch-6.2.2.tar 改为es622 ;
elasticsearch-head-master 改为eshead
一、复制虚拟机 本文以VirtualBox为例:
首先,我已经安装好了一个虚拟机,对ELK也完成了配置。下面复制两个虚拟机
文章图片
二、修改主机名和主机列表 1.对复制的两个虚拟机进行网络配置
(1)输入:vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
- 由于虚拟机是复制过来的,所以
BOOTPROTO=static ONBOOT=yes
这两个已经设置好,不用进行设置,只需要在最后一行加入IPADDR=192.168.56.140
//此处的IP地址不能和已有的ip地址冲突 另一台虚拟机也按照这个原则进行配置,我的ip地址设为
IPADDR=192.168.56.141
systemctl restart network
【ELK如何配置集群】(3)关闭防火墙,并禁用
systemctl stop firewalld
systemctl disable firewalld
2.修改两个虚拟机的主机名
vi /etc/hostname
// 我修改为test1和test2,这里大家可以随意,开心就好,重启虚拟机后生效
3.修改所有虚拟机的主机列表,增加主机ip地址和主机名
vi /etc/hosts
文章图片
// 120、121、122为我之前配置的,此处不用管,本次新加了140和141
三、配置免密登录 1.ssh-keygen -t rsa -P “” //生成私钥,上引号里面没有空格,每个虚拟机都要配置
执行该命令,可能会弹出如下图片,回车即可
文章图片
2.
cat .ssh/id_rsa.pub >> .ssh/authorized_keys
//复制私钥到公钥,每个虚拟机都要执行该命令3.
ssh-copy-id -i .ssh/id_rsa.pub -p22 root@test1
//远程复制到另一台机器,两两复制例:3个虚拟机主机名分别为a,b,c
a执行:
ssh-copy-id -i .ssh/id_rsa.pub -p22 root@b
ssh-copy-id -i .ssh/id_rsa.pub -p22 root@c
b执行:
ssh-copy-id -i .ssh/id_rsa.pub -p22 root@a
ssh-copy-id -i .ssh/id_rsa.pub -p22 root@c
c执行:
ssh-copy-id -i .ssh/id_rsa.pub -p22 root@a
ssh-copy-id -i .ssh/id_rsa.pub -p22 root@b
4.ssh -p22 root@test1 //远程登录验证,不需要输入密码即可,最好先把虚拟机重启一下,两两尝试一下
例:3个虚拟机主机名分别为a,b,c
a执行:
ssh -p22 root@b
ssh -p22 root@c
b执行:
ssh -p22 root@a
ssh -p22 root@c
c执行:
ssh -p22 root@a
ssh -p22 root@b
四、配置elasticsearch集群 1.输入:
vi /opt/es622/config/elasticsearch.yml
//修改节点名,ip地址,主机列表我是以bigdata01作为主节点,所以node.master : true 设置的是true
bigdata01配置截图:bigdata01的IP地址是120,121和122是之前配置的,这里不用管,140和 141需要这次添加进去
文章图片
test1配置截图:test1的IP地址是140,因为不是主节点,所以node.master : false
文章图片
Test2配置截图:test1的IP地址是141,因为不是主节点,所以node.master : false
文章图片
##### 参数解释:
cluster.name
集群名称,各节点配成相同的集群名称。node.name
节点名称,各节点配置不同。node.master
指示某个节点是否符合成为主节点的条件。node.data
指示节点是否为数据节点。数据节点包含并管理索引的一部分。path.data
数据存储目录。path.logs
日志存储目录。bootstrap.memory_lock
内存锁定,是否禁用交换。bootstrap.system_call_filter
系统调用过滤器。network.host
绑定节点IP。http.port
端口。discovery.zen.ping.unicast.hosts
提供其他 Elasticsearch 服务节点的单点广播发现功能。discovery.zen.minimum_master_nodes
集群中可工作的具有Master节点资格的最小数量,官方的推荐值是(N/2)+1,其中N是具有master资格的节点的数量。discovery.zen.ping_timeout
节点在发现过程中的等待时间。discovery.zen.fd.ping_retries
节点发现重试次数。http.cors.enabled
是否允许跨源 REST 请求,表示支持所有域名,用于允许head插件访问ES。http.cors.allow-origin
允许的源地址。2.切换每个虚拟机用户:
su es
//root用户无法启动elasticsearch,es为事先创建好的用户3.主节点删除es622文件夹下的data和logs目录,运行
cd /opt/es622
rm -rf data
rm -rf logs
./bin/elasticsearch
新开一个窗口:
cd /opt/eshead
npm run start
//这条命令要在eshead目录下运行,可以用root用户启动4、其他子节点分别删除es622文件夹下的data和logs目录,并运行
cd /opt/es622
rm -rf data
rm -rf logs
./bin/elasticsearch
5、在浏览器中主节点的es: http://192.168.56.120:9100/
成功截图:1是因为我还有2个节点未连接,但是可以看到刚才配置的test1和test2已经连接上
文章图片
推荐阅读
- 考研英语阅读终极解决方案——阅读理解如何巧拿高分
- 如何寻找情感问答App的分析切入点
- vue-cli|vue-cli 3.x vue.config.js 配置
- mybatisplus如何在xml的连表查询中使用queryWrapper
- MybatisPlus使用queryWrapper如何实现复杂查询
- 如何在Mac中的文件选择框中打开系统隐藏文件夹
- 漫画初学者如何学习漫画背景的透视画法(这篇教程请收藏好了!)
- java中如何实现重建二叉树
- Linux下面如何查看tomcat已经使用多少线程
- thinkphp|thinkphp 3.2 如何调用第三方类库