1.准备工作
1.1准备三台服务,我这边目前已经准备好啦。
我这边配置了三台服务器ip分别是
192.168.10.51
192.168.10.52
192.168.10.53
1.2配置workers(这个必须配)
现在51服务器配置 vim /etc/hosts
配置完ping 下自己配置的域名解析对的话就对了。
1.3脚本分发配置
cd /root/bin
#在目录下执行
vim xsync
#!/bin/bash
#1. 判断参数个数
if [ $# -lt 1 ]
then
echo Not Enough Arguement!
exit;
fi
#2. 遍历集群所有机器
for host in 192.168.10.51 192.168.10.52 192.168.10.53
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
查看下自己环境变量
echo $PATH
我是把脚本文件丢掉了root/bin
下面自己配也可以
然后在每台服务器执行 yum install rsync
然后在 /opt/model/hadoop-3.1.3/etc
执行
xsync hadoop/
2.1安装hadoop
在/opt/下创建两个目录
mkdir model
mkdir software
2.2把需要的软件拉到software上
2.1 解压jdk
tar -zxvf jdk-8u212-linux-x64.tar.gz -C /opt/model
解压之后记住这个解压到的目录地址 /opt/model/jdk1.8.0_212
cd /etc/profile.d/
vim my_env.sh
#JAVA_HOME
export JAVA_HOME=/opt/model/jdk1.8.0_212
export PATH=$PATH:$JAVA_HOME/bin
执行这个 source /etc/profile
3.1解压hadoop
tar -zxvf hadoop-3.1.3.tar.gz -C /opt/model
同上把hadoop的环境变量配到刚刚2.1里面的my_env.sh里面
#JAVA_HOME
export JAVA_HOME=/opt/model/jdk1.8.0_212
export PATH=$PATH:$JAVA_HOME/bin
#HADOOP_HOME
export HADOOP_HOME=/opt/model/hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
执行这个 source /etc/profile
然后执行hadoop 出现这个表示已经配置好拉。
2.Hadoop目录结构
最常用的目录/bin /etc /sbin
2.1 hadoop的常见三种部署模式
2.2 hadoop单机测试
首先在hadoop目录下面创建一个文件夹wciput
输入目录
在里面创建一个word.txt随便 写点内容
然后执行
# 运行jar 这个是指定jar所在的地址 wordcount 指定jar包中方法 ../wcinput/ 这个是统计文件输入路径 ../wcoutput输入路径(输入路径不能存在,存在会报错)
hadoop jar ../share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar wordcount ../wcinput/ ../wcoutput
执行完之后打开输入路径 /opt/model/hadoop-3.1.3/wcoutput
里面会有两个文件 _SUCCESS是空就是一个标识 统计的文件是在part-r-00000里面我们打开part-r-00000
统计出个单词出现的数量
3.服务器免密登录配置
3.1免密登录原理
3.2公钥私钥生成
cd ~
ls -la
cd .ssh/
ssh-keygen -t rsa
生成的私钥 公钥类似于git 配置里面的
#把公钥拷贝过去 第一次需要输入密码
ssh-copy-id 192.168.10.52
#ssh 然后就不需要密码拉
ssh 192.168.10.52
各个机器都要copy一份不然后期用脚本启动yarn 的时候会启动不起来 hadoop51 hadoop52 hadoop53 都生成一个密钥拷贝到相应机器上