1. 程式人生 > >Hadoop偽分散式環境搭建詳細步驟和詞頻統計

Hadoop偽分散式環境搭建詳細步驟和詞頻統計

一.Linux系統配置
以下操作是在root使用者下進行的

1.配置網路環境
在Linux圖形化介面,點選視窗欄的System-Preferences-Network Connections-System eth0-IPv4 Settings
Method的選項預設是DHCP,修改為Manual
點選右側的Add,Address填寫為ip地址,Network填寫255.255.255.0,Gateway填寫0.0.0.0

2.配置本地對映
在window上,配置hosts檔案
開啟檔案C:\Windows\System32\drivers\etc\hosts
最後一行追加:ip 主機名

192.168.172.101 master

3.關閉防火牆

# service iptables status           //檢視防火牆狀態
# service iptables stop             //臨時關閉防火牆
# chkconfig iptables off            //永久關閉防火牆

若是永久關閉防火牆,重啟後才會生效
4.在Linux上配置hosts列表

# vi /etc/hosts

開啟檔案後,在最後一行追加

192.168.172.144  master

5.建立資料夾,上傳安裝包

# sudo mkdir -p /opt/software               //用來存放安裝包
# sudo mkdir -p /opt/modules //軟體安裝在這個資料夾 # sudo mkdir -p /opt/data/tmp //存放資料 # sudo chown -R hadoop:hadoop *

使用rz工具或者filezilla將安裝包上傳到/opt/software目錄下
我使用的安裝包是hadoop-2.5.0.tar.gz 和 jdk-8u151-linux-x64.tar.gz
二.安裝配置JDK
這個過程也是步驟特別多,請參考我的博文《Linux系統上安裝Java詳細步驟》,地址是http://blog.csdn.net/MusicEnchanter/article/details/78751354

三.安裝配置Hadoop
1.將hadoop安裝包解壓到/opt/modules目錄下

# tar -zxvf hadoop-2.5.0.tar.gz -C /opt/modules

2.配置環境變數

# vi /etc/profile

在檔案最後插入如下語句

# HADOOP_HOME
export HADOOP_HOME=/opt/modules/hadoop-2.5.0
export HADOOP_CONF_FILE=$HADOOP_HOME/etc/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

檢查配置結果

# source /etc/profile              //使配置生效
# echo $HADOOP_HOME                //若出現hadoop安裝路徑,則配置成功

3.配置 hadoop-env.sh,yarn-env.sh,mapred-env.sh三個檔案

# echo $JAVA_HOME

返回的是java路徑:

/opt/modules/jdk1.8.0_151

使用vi命令分別開啟這三個檔案,將java路徑修改為

export JAVA_HOME=/opt/modules/jdk1.8.0_151
# bin/hadoop         //檢視是否生效

4.配置core-site.xml

<configuration>
<property>      
<name>fs.defaultFS</name>       
<value>hdfs://192.168.172.147:8020</value>
</property>
<property>  
<name>hadoop.tmp.dir</name> 
<value>/opt/data/tmp</value>
</property>
</configuration>

指定namenode所在機器位置及互動埠號,另外也是指定使用的是HDFS檔案系統
5.配置hdfs-site.xml

<configuration>
<property>  
<name>dfs.replication</name>    
<value>1</value>    
</property>
</configuration>

指定副本數的個數,預設的是三個
6.配置slaves,將檔案內容修改為主機名即可

master

指定從節點位置,包括DataNode和nodemanager
7.格式化namenode

# bin/hdfs namenode format

8.啟動

# hadoop-daemon.sh start namenode
# hadoop-daemon.sh start datanode

9.驗證,進入hdfs外部管理介面
在瀏覽器輸入

master:50070

10.

# bin/hdfs dfs -mkdir -p temp/conf`            //建立一個資料夾
# bin/hdfs dfs -mkdir -p /t/conf               //建立一個資料夾
# bin/hdfs dfs -put etc/hadoop/hdfs-site.xml
      /user/hadoop/temp/conf`                  //上傳檔案
# bin/hdfs dfs -ls /user/hadoop/temp/conf      //檢視目錄下檔案
# bin/hdfs dfs -get /user/hadoop/temp/conf/hdfs-site.xml /home/hadoop/get-site.xml                //將檔案下載到本地並更名

11.配置mapred-site.xml

<property>  
<name>mapreduce.framework.name</name>   
<value>yarn</value>
</property>

12.配置yarn-site.xml

<property>  
<name>yarn.resourcemanager.hostname</name>
<value>此處寫ip地址</value>
</property>

<property>  
<name>yarn.nodemanager.aux-services</name>      
<value>mapreduce_shuffle</value>
</property>

13.啟動yarn

#  yarn-daemon.sh start resourcemanager              // 啟動resourcemanager

14.進入yarn外部管理介面

在瀏覽器輸入
hadoop1:8088

15.驗證配置成功–詞頻統計

# vi /opt/data/wc.input
# bin/hdfs dfs -mkdir -p /user/hadoop/wordcount/input
# bin/hdfs dfs -put /opt/data/wc.input /user/hadoop/wordcount/input
mapreduce輸出路徑不能事先建立
# bin/hdfs dfs -mkdir -p /user/hadoop/wordcount/output
# bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0.jar wordcount /user/hadoop/wordcount/input /user/hadoop/wordcount/output
# bin/hdfs dfs -text /user/hadoop/wordcount/output/part*