前提条件:VM虚拟机linux版本为 CentOS-7.5-x86-1804详细安装和配置步骤可以问度娘。要关闭防火墙。
1、创建三台虚拟机为hadoop102,hadoop103,hadoop104都创建用户atguigu
卸载虚拟机自带jdk。
2、保证 Linux 系统 ifcfg-ens33 文件中 IP 地址、虚拟网络编辑器地址和 Windows 系 统 VM8 网络 IP 地址相同
3、在/etc/hosts目录下添加及为映射
192.168.10.100 hadoop100
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
192.168.10.106 hadoop106
192.168.10.107 hadoop107
192.168.10.108 hadoop108
hadoop102安装jdk配置环境变量
一、rsync 远程同步工具
主要为了方便同步多个服务器的数据。

可以编写xsync 集群分发脚本
创建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 KaTeX parse error: Expected 'EOF', got '#' at position 15: file ]
then
#̲5. 获取父目录
pdir=(cd -P $(dirname KaTeX parse error: Expected 'EOF', got '#' at position 14: file); pwd)
#̲6. 获取当前文件的名称
f…(basename $file)
ssh $host “mkdir -p $pdir”
rsync -av pdir/pdir/pdir/fname host:host:host:pdir
else
echo $file does not exists!
fi
done
done
修改脚本 xsync 具有执行权限
(1)chmod +x xsync
将脚本复制到/bin 中,以便全局调用
(2)sudo cp xsync /bin/
这下开始可以很方便的把hadoop102中的环境变量和数据分发到其他服务器了 xsync 数据的路径
但是每次分发都需要输入其他服务器的账号密码,怎么办呢?这需要设置ssh免密登入
二、ssh免密设置


三、集群配置

接下来需要修改默认的配置文件
core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml 四个配置文件存放在$HADOOP_HOME/etc/hadoop 这个路径上,用户可以根据项目需求重新进行修改配置。
配置 core-site.xml
配置 hdfs-site.xml
dfs.namenode.http-address hadoop102:9870 dfs.namenode.secondary.http-address hadoop104:9868配置 yarn-site.xml
yarn.nodemanager.aux-services mapreduce_shuffle yarn.resourcemanager.hostname hadoop103 yarn.nodemanager.env-whitelist配置mapred-site.xml
mapreduce.framework.name yarn 然后把配置分发到其他几个服务器上
Hadoop集群部署与SSH免密:配置与同步脚本
本文详细介绍了如何在CentOS 7.5虚拟机中安装Hadoop,配置核心文件(如core-site.xml等),并使用rsync同步数据。重点涉及创建用户、设置防火墙、SSH免密登录和编写xsync脚本实现集群数据分发。
2217

被折叠的 条评论
为什么被折叠?



