elasticsearch迁移

公司之前的elasticsearch分布在各个线上服务上,随着业务增加,elasticsearch的使用越来越频繁,防止影响线上服务器的正常运作,决定把线上的elasticsearch迁移到新买的阿里云主机上

注:因为已经迁移完了才写的这篇文章,中间可能有些步骤稍微少一点,仅供参考,根据自己实际生产环境来配置,不要直接复制代码。

环境:
机器:阿里云主机
系统:Centos7.3
es版本:elasticsearch-5.4.0
旧ES:172.18.30.181
新ES:172.18.30.190

一、先把要迁移的elasticsearch停止掉
1、进入es的web界面
我这里的IP地址是阿里云主机上elasticsearch的外网访问地址,在浏览器直接输入地址加上端口号就可以访问
elasticsearch迁移_第1张图片

2、把要迁移的机器的elasticsearch停止(在web界面可以操作)
即使这台机器是主节点,关停主节点后主节点就会移到其他的节点上,所以不用担心
elasticsearch迁移_第2张图片

二、拷贝正常节点下的elasticsearch-5.4.0文件夹 到新的机器,并创建好elasticsearch需要的用户、组、还有数据文件夹和日志文件夹
1、找一台在集群中正常节点的机器把elasticsearch目录全部拷贝过去
root@elasticsearch3:/opt # pwd
/opt
root@elasticsearch3:/opt # ls
elasticsearch-5.4.0
root@elasticsearch3:/opt # scp -r elasticsearch-5.4.0/ 172.18.30.190:/opt/

2、在新机器上安装java环境
root@elasticsearch2:~ # yum -y install java

3、创建elasticsearch的组和用户并把相关的文件夹的属主和属组都给到elsearch
root@elasticsearch2:~ # groupadd elsearch
root@elasticsearch2:~ # useradd elsearch -g elsearch -p elasticsearch
root@elasticsearch2:/opt # chown -R elsearch:elsearch elasticsearch-5.4.0/

4、创建数据及日志目录并把属主和属组改为elsearch (根据配置文件指定的文件夹路径和名字来创建,我这里用的是自己指定的路径)
root@elasticsearch2:~ #mkdir -p /data/elasticsearch/logs /data/elasticsearch/data
root@elasticsearch2:/data/elasticsearch # chown -R elsearch:elsearch data
root@elasticsearch2:/data/elasticsearch # chown -R elsearch:elsearch logs

三、修改配置
1、首先要先把/etc/hosts文件里的主机名映射给改了,因为elasticsearch需要把集群里所有主机的ip和对应的集群里的名字绑定在一起,需要把旧的ES机器的/etc/hosts文件发给新的机器,并修改里面的IP地址

这是没改过之前的配置,红色框里的是旧的ES机器,这里的ip是本机的内网ip,Sniper是在集群中的名字,其他的ip地址和名字对应了集群中其他机器的IP地址和集群名称,这里的话如果你打开的是哪台IP的机器就要把自己的IP地址给注释掉
elasticsearch迁移_第3张图片

root@elasticsearch3:/opt # scp /etc/hosts 172.18.30.190:/etc/hosts #把旧机器的/etc/hosts文件发送给新的机器

root@elasticsearch2:~ # vim /etc/hosts #来到新机器上修改hosts文件,把ip名字改为自己的ip,并注释掉自己
elasticsearch迁移_第4张图片

现在去集群里其他的机器修改hosts文件,这里只演示其中一台机器的操作,集群里其他的机器都要做相同的操作
root@elasticsearch2:~ # ssh 172.18.30.179
root@elasticsearch:~ # vim /etc/hosts
elasticsearch迁移_第5张图片
操作都是一样的,都需要把自己的IP注释掉,把集群里的其他的机器的IP和集群名都写上,我这里就不重复贴图了.

2、把集群里所有的hosts文件改完后,回到新买的机器上面继续操作
root@elasticsearch2:~ # vim /etc/security/limits.conf #把文件打开数调大一点,还有就是内存锁关闭
在文件的末尾加上两行内容

    • nofile 65536
    • memlock unlimited

elasticsearch迁移_第6张图片

root@elasticsearch2:~ # vim /etc/sysctl.conf #在这个文件里把这个参数的值调大一点,不然启动时候会说这个值太小了,导致无法启动
vm.max_map_count=262144
elasticsearch迁移_第7张图片

四、启动服务
在这些都做完后就可以去启动一下服务了(在启动之前要先把该开的端口都给打开)elasticsearch启动服务在安装文件夹里的bin目录下,su到刚才创建的elsearch去启动
root@elasticsearch2:su - elsearch
root@elasticsearch2:cd /opt/elasticsearch-5.4.0/bin/
root@elasticsearch2:/opt/elasticsearch-5.4.0/bin # nohup sh elasticsearch & #将启动脚本放置后台不然关掉窗口脚本就停止了

启动完成后上es的网站上看一下节点信息
elasticsearch迁移_第8张图片

可以看到Sniper上面的IP已经改为新买的阿里云主机的IP了!

你可能感兴趣的:(elasticsearch迁移)