从零开始搭建es虚拟机集群
因为需要,特意除了一篇教程,有问题地方希望指出。
环境
虚拟机:VirtualBox 6.0.6(如果有服务器,可以直接使用服务器)。
百度云:https://pan.baidu.com/s/1XdWZ6WcIEP4Dsj9UtDPTJQ 提取码:dhzy
虚拟机镜像:CentOS-6.5-i386-minimal.iso(这里32位,电脑内存不够)。
百度云:https://pan.baidu.com/s/1UJ0DC-UKqtn2DUW801Am0A 提取码:g68e
电脑环境:16G,64位,i5
1.搭建虚拟机环境
打开VritualBox,这里 eshop-cache(01-04)不用管,和es 没有关系,当时做redis 测试的。
点击新建,更改一下文件夹位置,不然会放到c盘,占用空间越来越大。版本我这里选择的是32位的。点击下一步。
这里分配 3个G的内存,根据自己的计算机适当调整,我们要搭建4台集群。
点击创建。
默认,下一步。
默认下一步。
这边位置要注意一下,尽量别放c盘,自己选择存放位置。
创建完毕之后,选中ElasticSearch01 ,点击设置 - 系统,处理器,将处理器数量单核改成双核(1改成2)。
点击网络-网卡1-连接方式, 改成 桥接网卡。点击 ok,保存。
2.安装Centos, 启动系统。
启动 ElasticSearch01,选择 Centos镜像,根据你的虚拟机环境选择对应的镜像,我这里位32位的。点击启动。注意:鼠标点击之后,切换出来快捷键为:右边的 Ctrl。
默认选择第一个,敲回车键。
选择Skip,回车。
点击 ok。
点击 Next,回车。
这里选择语言,我选择的是简体中文。
这里选择键盘,默认选择美国英语式,直接下一步。
这里选择默认即可,下一步。
这里进行分区,选择 是,忽略所有数据(Y)。
这里为主机起个别名。就叫 elasticsearch-01,点击下一步.
这里选择 亚洲/上海,点击下一步。
这里输入密码,密码我这里设置为 elasticsearch,确认密码,下一步。
然后,点击下一步。
选择 将修改写入磁盘(W),点击下一步。
稍等一会,此时正在安装,然后 点击重新引导(t)。
到目前为止,基本 系统 安装完毕,输入root登录,密码为刚才设置的elasticsearch。
3.配置一下网络,可以连接外网。
登录之后,此时ping不通 www.baidu.com, 需要进行一下配置,输入命令 :
vi /etc/sysconfig/network-scripts/ifcfg-eth0
回车。
此时,按 a 可以进行操作,我们把
HWADDR、UUID、MM_CONTROLLED
这三行删除,然后 把
BOOTPROTO 改成 static,
ONBOOT 改成 yes,之后
添加 IPADDR = (自己的ip地址,根据本机来,我的本机为 10.0.1.89),
NETMASK = (本机子网掩码),GATEWAY = (网关)。
然后按 Esc,输入 :wq,回车。
此时输入
service network restart
重启一下,就可以 ping 通 本机ip了。我这里开始使用 SecureCRT连接虚拟机。
然后输入
vi /etc/hosts
编辑 在后面添加一行
(虚拟机ip) elasticsearch-01
(我们刚才起的名字虚拟机的),然后 Esc , :wq 保存退出。
此时 ping www.baidu.com, 如果 不通 ,
vi /etc/resolv.conf
在里面添加 dns,
nameserver 114.114.114.114
(我这里的dns),然后 输入命令 service network restart 重启, 在ping www.baidu.com 此时应该通的,不通 是你dns错了。
Ps:查看 本机
dns -> win+r -> 输入cmd -> 回车 -> ipconfig/all
4.关闭防火墙
执行命令:
service iptables stop
service ip6tables stop
chkconfig iptables off
chkconfig ip6tables off
最好把windows 防火墙也关掉。
然后,执行
yum clean all
然后
yum makecache
稍微等一会。
验证 yum ,安装 telnet ,执行命令:
yum install -y telnet
稍微等一会。、
执行
telnet
出现如下,说明正确安装。
5.安装 jdk。
使用 WinScp(连接工具),将 jdk-8u74-linux-i586.rpm 上传到虚拟机 /usr/local 下面。
进入到 /uer/loacl 下面,
cd /usr/local/
执行
rpm -ivh jdk-8u74-linux-i586.rpm
安装完成,删除 jdk rpm包,命令 :
rm -rf jdk-8u74-linux-i586.rpm
配置环境变量,执行命令 :
vi ~/.bashrc
设置环境变量,添加两行。
export JAVA_HOME=/usr/java/latest
export PATH=$PATH:$JAVA_HOME/bin
Ok,执行命令:
source ~/.bashrc
然后查看java 环境变量,看是否成功。命令:
java -version
如下,则成功。
ps:如果jdk 版本不一致,解决办法。
https://blog.csdn.net/qq_41497111/article/details/89511416
ok,其他三台虚拟机同上步骤安装。
我这里 的四台 地址分别是
10.0.1.91、10.0.1.92、10.0.1.93、10.0.1.94
elasticsearch-01、elasticsearch-02、elasticsearch-03、elasticsearch-04
6.配置ssh 免密登录。
执行命令
ssh-keygen -t rsa
期间有输入直接回车
执行命令
cd /root/.ssh/
执行命令
cp id_rsa.pub authorized_keys
之后我们用ssh登录一下看看。
ssh elasticsearch-01
直接输入yes,没问题,ok。登出ssh的命令 为
logout
其他三台机器都是如此配置。
之后,输入命令:
vi /etc/hosts
在后面添加其他三台的 ip 虚拟机名字 , 映射 保存退出。
其他三台都是如此配置。 在输入命令,
service network restart
执行。
接着,我们在 elasticsearch-02,elasticsearch-03,elasticsearch-04,分别执行以下命令:
ssh-copy-id -i elasticsearch-01
分别输入
ssh elasticsearch-01
验证一下。
Ok,都没问题,我们到 elasticsearch-01 输入命令:
cat authorized_keys
现在这里已经有其他三台机器的公钥。
之后我们在 elasticsearch-01 分别输入以下命令,拷贝公钥
scp authorized_keys root@elasticsearch-02:/root/.ssh
scp authorized_keys root@elasticsearch-03:/root/.ssh
scp authorized_keys root@elasticsearch-04:/root/.ssh
Ok,我们这是分别在其他机器登录 ssh,访问不同虚拟机,此时已经没问题。
Ok,至此为止,整个虚拟机集群已经完毕。