Hadoop运行环境搭建 | 安装Java、Hadoop以及集群分发脚本 | 图文详解


一、使用Xshell连接Linux

连接之前一定要关闭防火墙!!!!!!!!!

打开Xshell,点击新建
在这里插入图片描述
输入主机名称和ip地址,然后点击用户身份验证:
在这里插入图片描述
输入用户名和密码,这里建议不要用root用户直接登陆:
在这里插入图片描述
最后点击确定,连接成功是这个样子的:
在这里插入图片描述
hadoop102、hadoop103同理

二、安装Java

使用Xshell文件传输工具把jdkhadoop包上传到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

进入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

最后分别测试

五、配置SSH无密登陆

即使使用了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和104wzq(非root)的身份都执行一下以上命令

最后在hadoop104上免密登陆一下hadoop102
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/lesileqin/article/details/115398618