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.txthadoop 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/ ./wcoutput3.查看結果
二、完全分布式運行模式(開發重點)
配置JDK、Hadoop
hadoop2上將jdk拷貝到hadoop3
opt/module目錄下:
hadoop3上拉取hadoop2上的jdk
opt/module目錄下:
在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.sh5.檢查
sudo vim /etc/profile.d/my_env.sh6.讓環境變量生效
source /etc/profileSSH 無密登錄配置
/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 /outputhadoop集群啟停腳本
基本命令
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
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的Hadoop 运行模式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring boot集成mongodb
- 下一篇: python+xlrd+echarts数