前提条件: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
p
d
i
r
/
pdir/
pdir/fname
h
o
s
t
:
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 然后把配置分发到其他几个服务器上