大数据菜鸟之路(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

四。免密配置

  1. 生成公秘钥

    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中的环境变量。

本文来自网络,不代表协通编程立场,如若转载,请注明出处:https://net2asp.com/a8c8e55bf0.html