连接之前一定要关闭防火墙!!!!!!!!!
打开Xshell
,点击新建
:
输入主机名称和ip地址,然后点击用户身份验证:
输入用户名和密码,这里建议不要用root
用户直接登陆:
最后点击确定,连接成功是这个样子的:
hadoop102、hadoop103同理
使用Xshell
文件传输工具把jdk
和hadoop
包上传到linux
的/opt/software
下
首先改变文件夹/opt/software
的权限:
sudo chmod 777 /opt/software
更改完权限之后:
然后打开Xshell
的文件传输工具,开始上传两个压缩包:
上传完成之后:
然后使用把JDK
解压到/opt/module
下:
sudo tar -zxvf jdk-8u212-linux-x64.tar.gz -C /opt/module/
进入/opt/module
下查看:
然后配置JAVA
的环境变量,进入到文件/etc/profile.d
,新建一个文件my_env.sh
cd /etc/profile.d # 进入到该文件夹
sudo vim my_env.sh # 自己创建一个文件
在my_env.sh
文件中写入:
#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_212
export PATH=$PATH:$JAVA_HOME/bin
最后重新加载profile
sudo source /etc/profile
最后输入java -version
校验是否安装成功:
进入Hadoop
的压缩包目录下,将压缩包解压到/opt/module
中
sudo tar -zxvf hadoop-3.1.3.tar.gz -C /opt/module/
进入/opt/module
下查看:
安装成功,然后配置hadoop
的环境变量
同样在/etc/profile.d/my_enc.sh
后追加:
#HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
最后重新加载profile
sudo source /etc/profile
运行hadoop
:
集群分发的作用就是,比如在第一台服务器上修改了某个文件,服务器又很多,一台一台的修改太麻烦了,所以有个分发的脚本直接分发就好了。
在/home/wzq/bin
目录下创建xsync
文件:
[wzq@hadoop102 ~]$ cd /home/wzq/
[wzq@hadoop102 ~]$ mkdir bin
[wzq@hadoop102 ~]$ cd bin/
[wzq@hadoop102 bin]$ vim xsync
在该文件中写下下面的代码:
#!/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 $file ]
then
#5. 获取父目录
pdir=$(cd -P $(dirname $file); pwd)
#6. 获取当前文件的名称
fname=$(basename $file)
ssh $host "mkdir -p $pdir"
rsync -av $pdir/$fname $host:$pdir
else
echo $file does not exists!
fi
done
done
使该文件具有执行权限
chmod +x xsync
测试脚本:
xsync /home/wzq/bin
到hadoop103
上查看,成功拷贝:
然后将脚本复制到/bin
中,以便全局调用
cd /home/wzq/bin
sudo cp xsync /bin/
然后把/opt/moudle/
的软件分发给hadoop103和104
:
sudo ./bin/xsync /opt/module
==如果使用sudo进行xsync,一定要把它的路径补全==
然后分发java和hadoop
的环境配置
sudo ./bin/xsync /etc/profile.d/my_env.sh
最后在hadoop103和104
重新加载/etc/profile
,使java和hadoop
生效
source /etc/profile
最后分别测试
即使使用了xsync
分发脚本,但是每次分发都要输入两次密码,很是麻烦,所以配置一下ssh免密登陆
进入/home/wzq/.ssh
:
cd /home/wzq/.ssh/
# 生成密钥
ssh-keygen -t rsa
# 分别配置免密登陆
ssh-copy-id hadoop102
ssh-copy-id hadoop103
ssh-copy-id hadoop104
最后在hadoop103和104
以wzq(非root)
的身份都执行一下以上命令
最后在hadoop104
上免密登陆一下hadoop102
: