僞分佈式的配置
Hadoop的運行模式有3種:
1.單機(本地)運行模式無需運行任何守護進程,所有程序都在單個JVM上執行,測試用
2.僞分佈式
將所有的守護進程運行在一個節點
3.集羣模式
1)完全分佈式
不同的守護進程運行在不同的節點
2)HA
Namenode HA
3)聯盟
本章介紹如何搭建hadoop第二種運行模式
1.系統環境
本章使用的centOS 6.4 64位作爲系統環境,不太清楚的朋友請看Linux部分
Linux環境
1.修改主機名【不能數字開頭,不能特殊字符】
# vi /etc/sysconfig/network
$ cat /etc/sysconfig/network
2.主機映射
# vi /etc/hosts
ip地址 主機名
3.windows下主機映射
C:/windows/system32/driver/hosts$
cat /etc/sysconfig/network-scripts/ifcfg-eth0
ONBOOT=yes
BOOTPROTO=static
2.jdk的配置
# mkdir /opt/software /opt/modules
/opt/software 存放*.tag.gz
/opt/modules 放置安裝文件
# chown -Rwangjing:wangjing /opt/modules/ /opt/software/
安裝jdk
$ tar -zxf jdk-7u67-linux-x64.tar.gz -C ../modules/
配置環境變量
# vim /etc/profile
#JAVA_HOME
export JAVA_HOME=/opt/modules/jdk1.7.0_67
export PATH=$PATH:$JAVA_HOME/bin
使配置生效
# source /etc/profile
卸載openJDK
# rpm -qa | grep jdk
# rpm -e --nodeps XXX.rpm //不驗證依賴進行卸載
Linux 防火牆
# service iptables status ##查看防火牆狀態
iptables: Firewall is not running.
# service iptables stop ##關閉防火牆
關閉開機啓動防火牆
# chkconfig iptables off ##不隨機啓動
關閉安全子系統
# vi /etc/sysconfig/selinux
SELINUX=disabled
2.hadoop配置
mapred-env.sh
yarn-env.sh
在這3個文件中都配置
export JAVA_HOME=/opt/modules/jdk1.7.0_67
3.配置hdfs(修改文件)
core.site.xml
hdfs-site.xml
4.格式化namenode,不要重複格式
sbin/hdfs namenode -format 確認這條命令後,hadoop-2.5.0目錄下會多出data目錄和logs目錄
5.啓動、查看hdfs守護進程
啓動:
sbin/hadoop-daemon.sh start namenode
sbin/hadoop-daemon.sh start datanode
查看:
6.在瀏覽器上訪問(主機名:50070),進行驗證,能看到這個頁面說明前面的配置是正常的(打開不了這個頁面,可以去虛擬機自帶火狐瀏覽器驗證)
7.配置yarn、mapreduce
yarn.site.xml
mapreduce.site.xml
slaves(只需要配置主機名即可)
8.重新啓動、查看hdfs、yarn守護進程
sbin/hadoop.daemon.sh start namenode
sbin/hadoop.daemon.sh start datanode
sbin/yarn.daemon.sh start resourcemanager
sbin/yarn.daemon.sh start nodemanager
圖中所示爲正常啓動
9.測試
上傳文件到input
首先創建input目錄 bin/hadoop dfs -mkdir /input
把文件上傳input bin/hadoop dfs -put /home/wangjing/word.txt /input
上傳成功
執行word.txt文件,並計算出文件中相同的字符串多少個
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0.jar wordcount /input/word.txt /output
輸入主機名:8088,打開
執行成功
測試完成