大数据菜鸟之路(5台服务器免密配置)
一。服务器准备
将前面准备好的linux7.5 的服务器复制4台
二。 规划
五台服务器,准备hadoop的HA 集群,因此101 ,103 作namenode
三。主机配置
vim /etc/hosts 1)将原来清空,将自己映射放进来: demo : 192.168.10.101 hadoop101 192.168.10.102 hadoop102 192.168.10.103 hadoop103 192.168.10.104 hadoop104 192.168.10.105 hadoop105 改完source 文件 或者 reboot 重启动。 2)修改Windows hosts 文件,为xshel连接简化 进到 C:\Windows\System32\drivers\etc 修改hosts 文件 可以将文件复制到桌面,用记事本打开: 192.168.10.101 hadoop101 192.168.10.102 hadoop102 192.168.10.103 hadoop103 192.168.10.104 hadoop104 192.168.10.105 hadoop105
四。免密配置
生成公秘钥 ssh-keygen -t rsa 敲三下回车就OK 生成公钥,秘钥 位置在/etc/ssh/文件下。id_rsa为私钥文件,id_rsa.pub为公钥文件。
2)分发公钥 ssh-copy-id hadoop102(IP地址) 然后输密码就ok 同理给hadoop103,hadoop104,hadoop105发送。 tips : 哪个服务做manager,就生成公密钥,然后将公钥分为给其他节点.
5. 抄一下同步脚本
rsync -av 源文件 用户角色ip:路径 #!/bin/bash #1. 判断参数个数 if [ $# -lt 1 ] then echo Not Enough Arguement! exit; fi #2. 遍历集群所有机器 for host in hadoop102 hadoop103 hadoop104 do echo ==================== $host ==================== #3. 遍历所有目录,挨个发送 for file in $@ do #4 判断文件是否存在 if [ -e KaTeX parse error: Expected 'EOF', got '#' at position 23: … then #̲5. 获取父目录 …(cd -P $(dirname KaTeX parse error: Expected 'EOF', got '#' at position 19: …e); pwd) #̲6. 获取当前文件的名称 …(basename $file) ssh $host “mkdir -p $pdir” rsync -av
p
d
i
r
/
pdir/
pdir/fname
h
o
s
t
:
host:
host:pdir else echo $file does not exists! fi done done 改一下权限 chmod 777 文件 or chmod +x 文件名
6 。环境学习
Linux的环境变量可在多个文件中配置,如/etc/profile,/etc/profile.d/*.sh,/.bashrc,/.bash_profile等
bash的运行模式可分为login shell和non-login shell。 例如,我们通过终端,输入用户名、密码,登录系统之后,得到就是一个login shell。而当我们执行以下命令ssh hadoop103 command,在hadoop103执行command的就是一个non-login shell 这两种shell的主要区别在于,它们启动时会加载不同的配置文件,login shell启动时会加载/etc/profile,/.bash_profile,/.bashrc。non-login shell启动时会加载~/.bashrc。
tips : 不管是login shell还是non-login shell,启动时都会加载/etc/profile.d/*.sh中的环境变量。