a. 目前已经克隆好了三台主机,除了hostname与ip,其他均一致
b. 全部均已经新建好hadoop-sny
用户,密码是shaonaiyi
c. 全部俊已经配置好了NAT网络环境,ip分别为:
主机master的ip:192.168.128.131
主机slave1的ip:192.168.128.132
主机slave2的ip:192.168.128.133
d. 每台主机(主机又称为服务器)可以互相ping通,可以上外网
a. 配置好三台服务器的域名映射
意义:可以用用户名代替长长的ip地址,有利于操作和以后集群的迁移、运维等等
b. 配置好三台服务器可以免密码登录到对方
意义:以后的大数据环境需要用到,不然无法操作
a. 编辑文件hosts并添加映射内容(三台服务器均需要操作)
sudo vi /etc/hosts
192.168.128.131 master
192.168.128.132 slave1
192.168.128.133 slave2
b. 查看一遍是否添加成功(三台服务器均可以操作一下)
cat /etc/hosts
a. 每台机器都跑一下下面三个指令,即用用户名代替了ip地址,一般不会出问题的)
ping master
ping slave1
ping slave2
a. 生成服务器密钥(输入指令后,连按三次回车)
ssh-keygen
PS:三台机器均需要操作,注意本教程是用hadoop-sny
用户操作
a. master上执行(将公钥id_rsa.pub
写入到authorized_keys
文件)
说明:生成的秘钥默认是在~/.ssh
目录下,该目录下有公钥与私钥,我们将公钥写到authorized_keys
中,相当于一个钥匙袋的功能,等一下要聚合slave1、slave2的钥匙到此处。
cd ~/.ssh
cat id_rsa.pub >> authorized_keys
b. slave1上执行(将公钥id_rsa.pub写入到authorized_keys1文件)
cd ~/.ssh
cat id_rsa.pub >> authorized_keys1
c. 将slave1的authorized_keys1文件拷贝到master节点的~/.ssh
目录(如没有scp指令,master、slave1、slave2均执行yum install -y openssh-clients
安装)
scp authorized_keys1 hadoop-sny@master:~/.ssh/
PS:第一次用scp指令需要输入密码,输入yes
,然后输入master的hadoop-sny
用户的密码:shaonaiyi即可显示拷贝成功!输入错就再输入一遍哈哈哈~
d. slave2上执行(将公钥id_rsa.pub写入到authorized_keys2文件)
cd ~/.ssh
cat id_rsa.pub >> authorized_keys2
e. 将slave2的authorized_keys2文件拷贝到master节点的~/.ssh
目录
scp authorized_keys2 hadoop-sny@master:~/.ssh/
a. 此时回到master查看,发现~/.ssh
目录已经有三台服务器的公钥了,但是还没有聚合
b. 聚合公钥(其实就是把slave1、slave2的放到钥匙袋,目前master的已经在了)
cat authorized_keys1 >> authorized_keys
cat authorized_keys2 >> authorized_keys
c. 查看authorized_keys
文件,发现有三台服务器的公钥了
cat authorized_keys
a. 钥匙袋即authorized_keys文件
scp authorized_keys hadoop-sny@slave1:~/.ssh/
scp authorized_keys hadoop-sny@slave2:~/.ssh/
a. 三台服务器均执行下面几句话:
ssh master
exit
ssh slave1
exit
ssh slave2
exit
PS:如果不用输入密码也能登录进彼此就说明成功了!
b. 注意:
一定要在测试完后要用exit
退出回到之前的账号,不然可能会自己忘记了,没退出,导致之后操作的内容是在别的服务器操作的。
c. 提示:
一定要三台机器都测试,而且是这样的格式:ssh 用户名
,不然后面用Hadoop等的使用过程中会出现要输入密码的情况。
0x03 编写查看各节点进程脚本 1. jps_all.sh脚本
作者简介:邵奈一
大学大数据讲师、大学市场洞察者、专栏编辑
公众号、微博、CSDN:邵奈一
复制粘贴玩转大数据系列专栏已经更新完成,请跳转学习!