Hadoop HDFS 配置、格式化、啟動、基本使用Hadoop MapReduce配置、wordcount程式提交
Hadoop的安裝方式
單機:所有的服務執行在一個程序裡面,開發階段才會使用
分散式:將多個服務(JVM),分別執行在多臺機器上。
偽分散式:將多個服務(JVM)執行在一臺機器上
Hadoop偽分散式安裝
文件:http://hadoop.apache.org/docs/r2.7.6/hadoop-project-dist/hadoop-common/SingleCluster.html
安裝過程:
(1)上傳解壓
tar -zxvf hadoop-2.7.3.tar.gz -C /opt/modules/
rm -rf sbin/*.cmd
(3)修改配置檔案(安裝模組來配置)
-》*-env.sh 環境變數檔案
hadoop-env.sh
yarn-env.sh
修改JAVA_HOME=/opt/modules/jdk1.8.0_91
-》common
core-site.xml
<!--指定檔案系統HDFS的主節點NameNode執行的 主機名 和 埠 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://bigdata-hpsk01.huadian.com:8020</value>
</property>
<!--指定HDFS檔案系統在本地臨時儲存的目錄(需要手動建立),預設是/tmp, -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/modules/hadoop-2.7.3/datas/tmpData</value>
</property>
-》HDFS
hdfs-site.xml
<!--由於偽分散式,只有一臺機器,所有資料塊 沒有必要設定3份-->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
slaves
指定DataNode執行在那些機器上
一行一個主機名,DataNode將會執行在此主機上
-》啟動HDFS
-》格式化檔案系統
bin/hdfs namenode -format
成功的標準:
18/09/04 00:15:05 INFO util.ExitUtil: Exiting with status 0
-》啟動
主節點:NameNode
sbin/hadoop-daemon.sh start namenode
-》驗證是否啟動
方式一:
Jps
方式二:
通過Web UI檢視
bigdata-hpsk01.huadian.com:50070
訪問失敗的原因:
(1)確定程序是否啟動
(2)對映是否配置成功
(3)防火牆是否關閉,selinux是否設定為disable
-》HDFS的基本使用
幫助文件
bin/hdfs dfs
- 建立目錄
bin/hdfs dfs -mkdir -p /datas/input
- 上傳檔案
bin/hdfs dfs -put /opt/datas/input.data /datas/input/
- 列舉目錄檔案
bin/hdfs dfs -ls /datas
webUI
- 檢視檔案內容
bin/hdfs dfs -text /datas/input/input.data
- 刪除檔案
bin/hdfs dfs -rm -f -r /datas/input/input.data
-》YARN
yarn-site.xml
<!--YARN的主節點ResourceManager 執行的主機名-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>bigdata-hpsk01.huadian.com</value>
</property>
<!--告知YARN,MapReduce程式將執行在其上-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
slaves --我們不需要配置,剛剛已經配置過一次了
指定NodeManager執行在那些機器上
一行一個主機名,DataNode將會執行在此主機上
-》啟動YARN
啟動
主節點
sbin/yarn-daemon.sh start resourcemanager
從節點
sbin/yarn-daemon.sh start nodemanager
驗證:
方式一:JPS
方式二:WebUI,8088埠
bigdata-hpsk01.huadian.com:8088
-》MapReduce
mv mapred-site.xml.template mapred-site.xml
<!--指定MapReduce程式執行在YARN上-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
-》將MapReduce程式執行在YARN上
準備測試:需要分享的資料
/datas/input/input.data
MapReduce程式
/opt/modules/hadoop-2.7.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar
提交
將mapreduce程式提交到YARN上執行
bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount /datas/input/input.data /datas/output/output1