KVM方式集群部署ES
步骤
本文档模拟的是把kvm镜像拷贝到新机子上进行部署的过程。
由于多台机子和单台机子上进行部署的过程很类似,所以这里只描述部署一台机子的过程。
一台主机(需要提前安装好kvm)
kvm的镜像 (可从192.168.1.99:/kvmimg目录下载)
把下载的两个文件 es-172.26.43.130.img es-172.26.43.130.xml 上传到主机的某个目录下。 比如(/opt/kvmimg)
查看主机的cpu model : virsh capabilities
编辑上传的xml文件,找到cpu相关的xml配置,并修改model为刚才查到的model。
上图中的name uuid memory 可自行根据实际情况修改。
继续修改xml,找到 “es-172.26.43.130.img” 字样的位置,并修改路径为正确的路径。
执行:virsh define 上传的xml文件路径 .
执行: virsh start xml文件中的name (可能会有意外情况,请参考下方的 意外情况)
执行:virsh console xml文件中的name 进入虚拟机 (root / Admin@9000)
修改网络文件获取ip (/etc/sysconfig/network-scripts/ifcfg-eth0)
修改es的配置文件为正确的配置 (es的存放目录在 /programs/elasticsearch-7.4.1 )
- 注意:数据存放和日志存放目录需要 elastic 用户能方法 。 elastic 用户已经默认创建好了
启动es (bin/elasticsearch -d)
su elastic
cd /programs/elasticsearch-7.4.1
bin/elasticsearch -d
- 还需要启动nfs
意外情况
上面在执行virsh start xxx 的时候可能会出现下面的几个错。
the cpu is incompatible with host cpu: 主机不提供所需功能:md-clear ssbd - 修改xml直接删除xml文件中的cpu的相关配置信息即可 (应该刚才已经执行了 virsh define 命令,所以这里的修改使用 virsh edit 虚拟机名字 来修改)
the cput is incompatible with host cpu: 主机不提供所需功能:spec-ctrl .
- 这个问题应该就是xml文件中cpu的model不对,请重新检查 上面的2、3两个步骤
虚拟机磁盘扩容
默认情况下上诉步骤跑起来的虚拟机只有10g的磁盘空间。所以需要扩容。
扩容的两种方式:
直接扩容原来的img文件(是一个虚拟硬盘)
创建新的img文件然后挂载上去(相当于挂载一个新磁盘)
直接扩容原有img文件
退出虚拟机进入宿主机,然后执行
进入虚拟机: virsh console xxxxx 可以看到硬盘容量增加了100G
但增加的容量现在不可用,需要执行:
再看看:
执行reboot,再次进入虚拟机
格式化新分区
挂载到某个目录 (这里挂载到 /opt 目录)
修改 /etc/fstab 文件,让虚拟机重启后自动挂载 /dev/vda4分区到 /opt目录下
重启 reboot ,进入虚拟机,查看挂载情况
创建新的img文件然后挂载上去
这种方式相当于挂载了一个新的硬盘上去
在宿主机创建虚拟硬盘文件 .
编辑虚拟机的xml文件 virsh edit xxxxx,找到disk相关配置,加入下面的配置:
<disk type='file' device='disk'> <driver name='qemu' type='qcow2'/> <source file='/pqs/kvm/pqstest/test.img'/> <target dev='hdf' bus='virtio'/> </disk>
重启虚拟机,进入虚拟机(好像可以不重启,可自行测试)
查看硬盘情况,出现新的硬盘
对新硬盘分区(这里只分1个区,可自行决定分几个)
查看硬盘情况,看到新分区
格式化并挂载新分区到目录下,这个步骤和上面的步骤一样了,不再赘述
系统推荐
- synchronized原理深度剖析
- JVM参数设置
- K8S 无感发布
- Thread & ExecutorService & ThreadPoolExecutor 总览
- PGSQL GIN索引“失效”
- 正则表达式匹配第几个符号问题
- InnoDB存储引擎
- MySQL索引
- ShadowsockServer配置
- Nginx的双向认证配置
- BBR加速
- Linux
- 随机毒鸡汤:不要把希望寄托在别人身上,也不要让别人,把希望寄托在你身上。