第一步我们需要在 evassh 服务器初始化虚拟服务器:
cd /opt
wrapdocker
ulimit -f unlimited
docker load -i ubuntu16-ssh.tar
docker-compose up -d
注意:请不要在各个虚拟服务器之间进行 ssh 登录,这种操作会导致无法保存配置数据。正确方法是:在虚拟服务器里执行 exit 后回到 evassh 服务器,再按上述方法登录各虚拟服务器。
文件传输
通过 scp 命令将 evassh 上面的 Java 安装包、Zookeeper安装包 与 Hadoop 安装包放入 master 服务器上的/opt 目录下。
scp /opt/jdk-8u141-linux-x64.tar.gz root@172.18.0.2:/opt
scp /opt/hadoop-3.1.0.tar.gz root@172.18.0.2:/opt
scp /opt/zookeeper-3.4.5.tar.gz root@172.18.0.2:/opt
第一次连接,会询问是否继续连接。键盘输入 yes
并输入密码 123123
即可进行传输。
配置免密登录
在集群搭建过程中,我们会频繁的在各个服务器之间跳转,此过程是通过 SSH 去连接的,为了避免启动过程输入密码,我们可以配置免密登录。
1、分别在 master、slave1、slave2 生成密钥,命令如下:
在 master 服务器生成秘钥:
# 进入 master 服务器,键盘输入 yes 与 密码 123123
ssh 172.18.0.2
ssh-keygen -t rsa
# 执行命令之后,连着按三个回车键即可生成秘钥。
在 salve1 服务器生成秘钥:
进入 salve1 服务器,键盘输入 yes 与 密码 123123
ssh 172.18.0.3
ssh-keygen -t rsa
在 salve2 服务器生成秘钥:
进入 salve2 服务器,键盘输入 yes 与 密码 123123
ssh 172.18.0.4
ssh-keygen -t rsa
master、slave1和slave2直接已经做了映射,所以这里不需要再做映射。
2、 在 master 复制 master、slave1、slave2 的公钥。
cat ~/.ssh/id_rsa.pub>> ~/.ssh/authorized_keys
ssh slave1 cat ~/.ssh/id_rsa.pub>> ~/.ssh/authorized_keys
ssh slave2 cat ~/.ssh/id_rsa.pub>> ~/.ssh/authorized_keys
密码为:123123
3、 在 slave1 复制 master 的 authorized_keys 文件。
ssh master cat ~/.ssh/authorized_keys>> ~/.ssh/authorized_keys
4、 在 slave2 复制 master 的 authorized_keys 文件。
ssh master cat ~/.ssh/authorized_keys>> ~/.ssh/authorized_keys
集群之间免密至此设置成功
集群安装 JavaJDK
在 master 服务器的 /opt 目录下有 evassh 服务器传过来的 Java 安装包与 Hadoop 安装包。解压 Java 安装包至/usr/local
目录下。
tar -zxvf /opt/jdk-8u141-linux-x64.tar.gz -C /usr/local/
解压好JDK
之后还需要在环境变量中配置JDK
,才可以使用,接下来就来配置JDK
。 输入命令:vim /etc/profile
编辑配置文件; 在文件末尾输入如下代码(不可以有空格):
export JAVA_HOME=/usr/local/jdk1.8.0_141
export PATH=$PATH:$JAVA_HOME/bin
然后,保存并退出。
最后:source /etc/profile
使刚刚的配置生效。
输入:java -version
出现如下界面代