1. 程式人生 > >搭建Hadoop的環境

搭建Hadoop的環境

準備實驗的環境:
1、安裝Linux、JDK
2、配置主機名、免密碼登入
3、約定:安裝目錄:/usr/local/bin

安裝:
1、解壓 : tar -zxvf hadoop-2.7.7.tar.gz -C /usr/local/bin/
2、設定環境變數: vi ~/.bash_profile
HADOOP_HOME=/usr/local/bin/hadoop-2.7.7
export HADOOP_HOME

PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export PATH
/usr/local/bin/hadoop-2.7.7
生效環境變數: source ~/.bash_profile


第一節:Hadoop的目錄結構

第二節:Hadoop的本地模式
1、特點:不具備HDFS,只能測試MapReduce程式
2、修改hadoop-env.sh

修改第27行:export JAVA_HOME=/root/training/jdk1.7.0_75

3、演示Demo: $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.4.1.jar
命令:hadoop jar hadoop-mapreduce-examples-2.4.1.jar wordcount /root/data/input/data.txt /root/data/output/wc
日誌:17/08/04 23:28:38 INFO mapreduce.Job: map 100% reduce 100%

注意:MR有一個預設的排序規則

第三節:Hadoop的偽分佈模式
1、特點:具備Hadoop的所有功能,在單機上模擬一個分散式的環境
(1)HDFS:主:NameNode,資料節點:DataNode
(2)Yarn:容器,執行MapReduce程式
主節點:ResourceManager
從節點:NodeManager

2、步驟:
(1)hdfs-site.xml
<!--配置HDFS的冗餘度-->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>

<!--配置是否檢查許可權-->
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>

(2)core-site.xml
<!--配置HDFS的NameNode-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://192.168.88.11:9000</value>
</property>

<!--配置DataNode儲存資料的位置-->
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/bin/hadoop-2.7.7/tmp</value>
</property>


(3) mapred-site.xml
<!--配置MR執行的框架-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>

(4) yarn-site.xml
<!--配置ResourceManager的地址-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>192.168.43.128</value>
</property>

<!--配置NodeManager執行任務的方式-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>

(5) 格式化NameNode
hdfs namenode -format
日誌:Storage directory/usr/local/bin/hadoop-2.7.7/tmp/dfs/name has been successfully formatted.


(6) 啟動:start-all.sh
(*) HDFS: 儲存資料
(*) Yarn:執行計算

(7) 訪問:(*)命令列
(*)Java API
(*)Web Console:
HDFS:http://192.168.43.128:50070
Yarn:http://192.168.43.128:8088