Hadoop 运行模式

文章目录

    • 一、本地运行模式(官方 WordCount)
      • 1.创建文件写入数据
      • 2.执行程序
      • 3.查看结果
    • 二、完全分布式运行模式(开发重点)
      • 配置JDK、Hadoop
      • xsync 集群分发脚本
        • 1.创建xsync
        • 2.添加可执行权限
        • 3.所有的hadoop都有sxync
        • 4.分发环境变量
        • 5.检查
        • 6.让环境变量生效
      • SSH 无密登录配置
      • 集群配置
      • 群起集群并测试
      • 目录切换
      • 历史服务器配置
      • 配置日志的聚集
      • hadoop集群启停脚本
      • 查看三台服务器 Java 进程脚本:jpsall

一、本地运行模式(官方 WordCount)

1.创建文件写入数据

[atjh@hadoop102 hadoop-3.1.3]$

mkdir wcinputcd wcinputvim word.txt

hadoop yarn
hadoop mapreduce
atguigu
atguigu

2.执行程序

回到 Hadoop 目录/opt/module/hadoop-3.1.3

bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar wordcount wcinput/ ./wcoutput

3.查看结果

在这里插入图片描述

二、完全分布式运行模式(开发重点)

配置JDK、Hadoop

hadoop2上将jdk拷贝到hadoop3
opt/module目录下:

scp -r jdk1.8.0_212/ atjh@hadoop103:/opt/module/

hadoop3上拉取hadoop2上的jdk
opt/module目录下:

scp -r atjh@hadoop102:/opt/module/hadoop-3.1.3 ./

在hadoop3上将hadoop2中的jdk和hadoop拷贝到hadoop4上

scp -r atjh@hadoop102:/opt/module/* atjh@hadoop104:/opt/module/

在这里插入图片描述

xsync 集群分发脚本

1.创建xsync

cd /opt/cd /home/atjh/mkdir bincd binvim 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

2.添加可执行权限

在这里插入图片描述

3.所有的hadoop都有sxync

xsync bin/

在这里插入图片描述

4.分发环境变量

sudo ./bin/xsync /etc/profile.d/my_env.sh

在这里插入图片描述

5.检查

sudo vim /etc/profile.d/my_env.sh

在这里插入图片描述

6.让环境变量生效

source /etc/profile

在这里插入图片描述

SSH 无密登录配置

/home/atjh目录下

ls -alcd .ssh/ssh-keygen -t rsassh-copy-id hadoop102

在这里插入图片描述
在这里插入图片描述

检查
在这里插入图片描述
换用户的话需要再次配置一下(方法相同)

test一下
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
成功!!over

集群配置

在这里插入图片描述
在这里插入图片描述

群起集群并测试

在这里插入图片描述

hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar  wordcount /wcinput /wcoutput

目录切换

/opt/module/hadoop-3.1.3/etc/hadoop
在这里插入图片描述
在这里插入图片描述

历史服务器配置

配置 mapred-site.xml

vim mapred-site.xml

写入内容

<!-- 历史服务器端地址 -->
<property><name>mapreduce.jobhistory.address</name><value>hadoop102:10020</value>
</property>
<!-- 历史服务器 web 端地址 -->
<property><name>mapreduce.jobhistory.webapp.address</name><value>hadoop102:19888</value>
</property>

分发配置

xsync mapred-site.xml

启动历史服务器

bin/mapred --daemon start historyserver

在这里插入图片描述

hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar wordcount /input /output

在这里插入图片描述
小bug
在这里插入图片描述

配置日志的聚集

 xsync $HADOOP_HOME/etc/hadoop/yarn_site.xml
sbin/stop-yarn.shmapred --daemon stop historyserver
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar wordcount /input /output

hadoop集群启停脚本

基本命令

myhadoop.sh stopmyhadoop.sh start

在这里插入图片描述

#!/bin/bash
if [ $# -lt 1 ]
thenecho "No Args Input..."exit ;
fi
case $1 in
"start")echo " =================== 启动 hadoop 集群 ==================="echo " --------------- 启动 hdfs ---------------"ssh hadoop102 "/opt/module/hadoop-3.1.3/sbin/start-dfs.sh"echo " --------------- 启动 yarn ---------------"ssh hadoop103 "/opt/module/hadoop-3.1.3/sbin/start-yarn.sh"echo " --------------- 启动 historyserver ---------------"ssh hadoop102 "/opt/module/hadoop-3.1.3/bin/mapred --daemon start 
historyserver"
;;
"stop")echo " =================== 关闭 hadoop 集群 ==================="echo " --------------- 关闭 historyserver ---------------"ssh hadoop102 "/opt/module/hadoop-3.1.3/bin/mapred --daemon stop 
historyserver"echo " --------------- 关闭 yarn ---------------"ssh hadoop103 "/opt/module/hadoop-3.1.3/sbin/stop-yarn.sh"echo " --------------- 关闭 hdfs ---------------"ssh hadoop102 "/opt/module/hadoop-3.1.3/sbin/stop-dfs.sh"
;;
*)echo "Input Args Error..."
;;
esac

查看三台服务器 Java 进程脚本:jpsall

在这里插入图片描述


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部