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*