0. 步驟概述
1). 配置網(wǎng)絡(luò)修改主機名
2). 配置ssh免密碼登錄
3). 安裝jdk
4). 安裝hadoop
5). 配置hadoop單機偽分布運行環(huán)境(不使用yarn)
6). 為hadoop單機偽分布增加yarn配置
1. 配置網(wǎng)絡(luò)修改主機名
1.1 查看VMware虛擬網(wǎng)絡(luò)
1.1.1 點擊VMware菜單“編輯(E)”
1.1.2 在下拉菜單列表選擇“虛擬網(wǎng)絡(luò)編輯器”
1.1.3 在彈出的“虛擬網(wǎng)絡(luò)編輯器”窗口右下角選擇“更改設(shè)置(C)”
1.1.4 如果windows彈出的安全提示選擇“是”
1.1.5 在窗口上方重新刷新的網(wǎng)絡(luò)列表里選中“NAT模式”忍捡,窗口中間的“WMnet信息”下拗慨,復(fù)選框會默認(rèn)選中“NAT模式(與虛擬機共享主機的IP地址)(N)”
1.1.6 點擊“NAT設(shè)置(S)…”
1.1.7 在彈出的“NAT設(shè)置”窗口可以查看到如下信息:
網(wǎng)絡(luò)VMnet8
子網(wǎng)IP:192.168.111.0
子網(wǎng)掩碼:255.255.255.0
網(wǎng)關(guān)IP(G):192.168.111.2
#使用上述信息配置網(wǎng)卡相關(guān)屬性
1.2 配置虛擬機網(wǎng)卡ifcfg-eth0
1.2.1 打開配置文件ifcfg-eth0
[root@hadoop0 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
1.2.2 刪除ifcfg-eth0文件中的如下屬性
HWADDR=xx:xx:xx:xx:xx:xx
UUID=xxx
1.2.3 為ifcfg-eth0文件添加如下屬性宣肚,如已經(jīng)存在則替換或修改
TYPE=Ethernet
IPADDR=192.168.111.111 #ip地址
NETMASK=255.255.255.0 #子網(wǎng)掩碼
GATEWAY=192.168.111.2 #網(wǎng)關(guān)
ONBOOT=yes #隨系統(tǒng)自動啟動
BOOTPROTO=static #靜態(tài)地址
1.2.4 修改完成后/etc/sysconfig/network-scripts/ifcfg-eth0完整內(nèi)容如下
DEVICE=eth0
NM_CONTROLLED=yes
TYPE=Ethernet
IPADDR=192.168.111.111
NETMASK=255.255.255.0
GATEWAY=192.168.111.2
ONBOOT=yes
BOOTPROTO=static
1.3 設(shè)置NETWORKING刷后,修改主機名
1.3.1 向/etc/sysconfig/network添加如下內(nèi)容
[root@hadoop0 ~]# vi /etc/sysconfig/network
NETWORKING=yes #啟動時激活網(wǎng)絡(luò)
HOSTNAME=hadoop0 #自定義主機名
GATEWAY=192.168.111.2 #網(wǎng)關(guān)
1.3.2 修改完成后/etc/sysconfig/network完整內(nèi)容如下
NETWORKING=yes
HOSTNAME=hadoop0
GATEWAY=192.168.111.2
1.4 刪除70-persistent-net.rules文件
[root@hadoop0 ~]# rm -rf /etc/udev/rules.d/70-persistent-net.rules
#如果虛擬機克隆自另一臺虛擬機闷游,不刪除該文件會產(chǎn)生如下錯誤
device eth0 does not seem to present
1.5 重啟網(wǎng)絡(luò)使配置生效
[root@hadoop0 ~]# service network restart
1.6 測試連接local是否暢通
[root@hadoop0 ~]# ping 127.0.0.1
64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.021 ms
64 bytes from 127.0.0.1: icmp_seq=4 ttl=64 time=0.021 ms
#暢通則持續(xù)顯示上述內(nèi)容
1.7 測試連接外網(wǎng)是否暢通
[root@hadoop0 ~]# ping baidu.com
64 bytes from 111.13.101.208: icmp_seq=1 ttl=128 time=5.50 ms
64 bytes from 111.13.101.208: icmp_seq=1 ttl=128 time=5.50 ms
#暢通則持續(xù)顯示上述內(nèi)容
1.8 配置resolv.conf
1.8.1 如果ping外網(wǎng)ip地址暢通镊尺,ping域名出現(xiàn)如下錯誤
unknown host baidu.com
說明配置文件缺少nameserver
1.8.2 向resolv.conf文件添加如下內(nèi)容
[root@hadoop0 ~]# vi /etc/resolv.conf
nameserver 114.114.114.114
nameserver 8.8.4.4
1.8.3 修改完成后/etc/resolv.conf完整內(nèi)容如下
nameserver 114.114.114.114
nameserver 8.8.4.4
1.8.4重新測試連接外網(wǎng)域名
[root@hadoop0 ~]# ping baidu.com
64 bytes from 111.13.101.208: icmp_seq=1 ttl=128 time=5.50 ms
64 bytes from 111.13.101.208: icmp_seq=1 ttl=128 time=5.50 ms
#暢通則持續(xù)顯示上述內(nèi)容
#其中111.13.101.208是baidu.com解析后的ip地址悲立,可能會有所不同
1.9 關(guān)閉防火墻
# 如果測試外網(wǎng)不通,輸入如下命令關(guān)閉防火墻
1.9.1 臨時關(guān)閉防火墻
[root@hadoop0 ~]# service iptables off
1.9.2 永久關(guān)閉防火墻
[root@hadoop0 ~]# chkconfig iptables off
1.10 在hosts文件中添加主機名映射
1.10.1 為/etc/hosts文件添加如下內(nèi)容
[root@hadoop0 ~]# vi /etc/hosts
192.168.111.111 hadoop0
1.10.2 添加完成后/etc/hosts文件完整內(nèi)容如下
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.111.111 hadoop0
1.11 其他
1.11.1 安裝vim
連接網(wǎng)絡(luò)成功后档冬,如果vim命令不存在膘茎,使用如下命令安裝vim
[root@hadoop0 ~]# yum install -y vim*
1.11.2 使用xShell連接并操作虛擬機
網(wǎng)絡(luò)連接成功后,可自行選擇使用xShell連接并操作虛擬機酷誓,提供了比VMware原生界面更方便的操作
2. 設(shè)置SSH免密登錄
2.1 生成密匙
[root@hadoop0 ~]# ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
2.2 查看生成的密匙
[root@hadoop0 ~]# cd ~/.ssh
[root@hadoop0 .ssh]# ls
id_dsa id_dsa.pub
#在~/.ssh目錄下生成了id_dsa和id_dsa.pub兩個文件
2.3 測試ssh連接本機
[root@hadoop0 ~]# ssh hadoop0
The authenticity of host 'hadoop0 (192.168.111.111)' can't be established.
RSA key fingerprint is xxx
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'hadoop0,192.168.111.111' (RSA) to the list of known hosts.
root@hadoop0's password:
# ssh連接本機仍需輸入密碼
2.4 登錄自身免密
[root@hadoop0 ~]# cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
2.5 查看結(jié)果
2.5.1 進(jìn)入~/.ssh目錄
[root@hadoop0 ~]# cd ~/.ssh
2.5.2 ~/.ssh目錄在id_dsa和id_dsa.pub的基礎(chǔ)上又新增了authorized_keys
[root@hadoop0 .ssh]# ls
authorized_keys id_dsa id_dsa.pub
2.6 驗證ssh連接本機
[root@hadoop0 ~]# ssh hadoop0
# 無須再輸入密碼披坏,表示配置成功
3 安裝JDK(在虛擬機hadoop0上)
3.1 在hadoop0上創(chuàng)建目錄/usr/java/
[root@hadoop0 ~]# mkdir /usr/java
3.2使用xftp上傳jdk-7u67-linux-x64.tar.gz
xftp左側(cè)窗口為windows文件目錄;
右側(cè)窗口為當(dāng)前虛擬機linux文件目錄;
從左側(cè)窗口找到windows本地的jdk-7u67-linux-x64.tar.gz;
在右側(cè)窗口進(jìn)入/usr/java/目錄;
左側(cè)窗口雙擊jdk-7u67-linux-x64.tar.gz文件,即可上傳至左側(cè)窗口目前所在的虛擬機目錄;
如有問題自行查詢xShell和xFtp的使用方法
3.3 解壓jdk-7u67-linux-x64.tar.gz到/usr/java
3.3.1 進(jìn)入/usr/java目錄
[root@hadoop0 ~]# cd /usr/java
[root@hadoop0 java]
3.3.2 解壓jdk-7u67-linux-x64.tar.gz到/usr/java
[root@hadoop0 java]# tar -zxvf jdk-7u67-linux-x64.tar.gz
3.4 配置java環(huán)境變量
# 編輯/etc/profile文件并添加如下內(nèi)容
[root@hadoop0 ~]# vim /etc/profile
#jdk
export JAVA_HOME=/usr/java/jdk1.7.0_67
export CLASSPATH=.:$JAVA_HOME/lib
export PATH=$JAVA_HOME/bin:$PATH
3.5 使/etc/profile配置生效
[root@hadoop0 ~]# source /etc/profile
3.6 查看java版本,檢查環(huán)境變量是否生效
[root@hadoop0 ~]# java -version
java version "1.7.0_67"
Java(TM) SE Runtime Environment (build 1.7.0_67-b01)
Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)
#正常顯示如上信息則配置成功
4 在hadoop0上配置hadoop環(huán)境變量
4.1 創(chuàng)建/opt/test目錄
[root@hadoop0 ~]# mkdir /opt/test
4.2 使用xftp上傳hadoop-2.6.5.tar.gz到/opt/test/
4.3 將hadoop-2.6.5.tar.gz解壓到文件夾/opt/test/
4.3.1 進(jìn)入/opt/test目錄
[root@hadoop0 ~]# cd /opt/test/
[root@hadoop0 test]#
4.3.2解壓hadoop-2.6.5.tar.gz到文件夾/opt/test/
[root@hadoop0 test]# tar -zxvf hadoop-2.6.5.tar.gz
4.4 配置HADOOP環(huán)境變量
# 在/etc/profile添加如下內(nèi)容
[root@hadoop0 test]# vim /etc/profile
#hadoop
export HADOOP_PREFIX=/opt/test/hadoop-2.6.5
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_PREFIX/bin:$HADOOP_PREFIX/sbin
4.5使/etc/profile配置生效
[root@hadoop0 test]# source /etc/profile
4.6 輸入hadoop命令查看是否配置成功
[root@hadoop0 test]# hadoop version
Hadoop 2.6.5
…
#出現(xiàn)上述版本號信息表示環(huán)境變量配置成功
5 配置hadoop單機偽分布運行環(huán)境(不使用yarn)
5.0 進(jìn)入$HADOOP_HOME/etc/hadoop/目錄
[root@hadoop0 ~]# cd /opt/test/hadoop-2.6.5/etc/hadoop/
[root@hadoop0 hadoop]#
5.1在hadoop-env.sh上配置JAVA_HOME
# 為$HADOOP_HOME/etc/hadoop/hadoop-env.sh添加如下內(nèi)容
[root@hadoop0 hadoop]# vim hadoop-env.sh
export JAVA_HOME=/usr/java/jdk1.7.0_67
5.2 配置core-site.xml
# 將$HADOOP_HOME/etc/hadoop/core-site.xml內(nèi)容替換如下
[root@hadoop0 hadoop]# vim core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop0:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/var/test/hadoop/local</value>
</property>
</configuration>
5.3 配置hdfs-site.xml
# 將$HADOOP_HOME/etc/hadoop/hdfs-site.xml內(nèi)容替換如下
[root@hadoop0 hadoop]# vim hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop0:50090</value>
</property>
</configuration>
5.4 配置slaves
5.4.1將原有內(nèi)容替換為當(dāng)前虛擬機名稱盐数,單機偽分布只配置一臺
[root@hadoop0 hadoop]# vim slaves
hadoop0
5.4.2 配置完成后$HADOOP_HOME/etc/hadoop/slaves完整內(nèi)容如下
hadoop0
5.5 啟動hadoop偽分布集群
5.5.1 首次啟動格式化namenode
[root@hadoop0 ~]# hdfs namenode -format
5.5.2 啟動集群
[root@hadoop0 ~]# start-dfs.sh
5.5.3 查看進(jìn)程
[root@hadoop0 ~]# jps
2051 SecondaryNameNode
1870 DataNode
1781 NameNode
2159 Jps
5.5.4 查看集群信息
[root@hadoop0 ~]# hadoop fs
5.5.5 查看根目錄下的所有內(nèi)容
[root@hadoop0 ~]# hdfs dfs -ls
5.6 上傳文件測試單機偽分布集群(未使用yarn)
5.6.1 進(jìn)入$HADOOP_HOME/share/hadoop/mapreduce/目錄
[root@hadoop0 ~]# cd /opt/test/hadoop-2.6.5/share/hadoop/mapreduce/
5.6.2 為方便測試直接在mapreduce目錄生成測試文件
[root@hadoop0 mapreduce]# echo "hello world hello world hello" >> test.txt
# 或者使用語句生成包含更多內(nèi)容的文本
for i in `seq 100000`;do echo “hello world hello world $i” >>test.txt;done
5.6.3上傳test.txt文件到根目錄
5.6.3.1 默認(rèn)上傳
[root@hadoop0 mapreduce]# hadoop fs -put test.txt /
5.6.3.2 也可以指定blocksize
[root@hadoop0 mapreduce]# hdfs dfs -D dfs.blocksize=1048576 -put test.txt /
5.6.4 運行wordcount測試程序
[root@hadoop0 mapreduce]#
hadoop jar hadoop-mapreduce-examples-2.6.5.jar wordcount /test.txt /output
#其中output是在hdfs文件系統(tǒng)的根目錄下創(chuàng)建的輸出路徑
5.6.5 查看mapreduce運行結(jié)果
[root@hadoop0 mapreduce]# hadoop dfs -text /output/part-*
hello 100003
world 200002
“hello 100000
6. 為hadoop單機偽分布添加yarn
6.0 進(jìn)入$HADOOP_HOME/etc/hadoop目錄
[root@hadoop0 ~]# cd /opt/test/hadoop-2.6.5/etc/hadoop/
[root@hadoop0 hadoop]
6.1 分別在mapred-env.sh, yarn-env.sh上配置JAVA_HOME
6.1.1 為$HADOOP_HOME/etc/hadoop/mapred-env.sh添加JAVA_HOME
[root@hadoop0 hadoop]# vim mapred-env.sh
export JAVA_HOME=/usr/java/jdk1.7.0_67
6.1.2 為$HADOOP_HOME/etc/hadoop/yarn-env.sh添加JAVA_HOME
[root@hadoop0 hadoop]# vim yarn-env.sh
export JAVA_HOME=/usr/java/jdk1.7.0_67
6.2 配置mapred-site.xml
6.2.1復(fù)制一份mapred-site.xml.template并命名為mapred-site.xml
[root@hadoop0 hadoop]# cp mapred-site.xml.template mapred-site.xml
6.2.2 將$HADOOP_HOME/etc/hadoop/mapred-site.xml內(nèi)容替換如下
[root@hadoop0 hadoop]# vim mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
6.3 配置yarn-site.xml
# 將$HADOOP_HOME/etc/hadoop/yarn-site.xml內(nèi)容替換如下
[root@hadoop0 hadoop]# vim yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
6.4 啟動配置了yarn的單機偽分布集群
6.4.1 啟動hdfs
[root@hadoop0 ~]# start-dfs.sh
6.4.2 查看進(jìn)程
[root@hadoop0 ~]# jps
2051 SecondaryNameNode
1870 DataNode
1781 NameNode
2159 Jps
6.4.3 啟動yarn
[root@hadoop0 ~]# start-yarn.sh
6.4.4 查看進(jìn)程
[root@hadoop0 ~]# jps
2051 SecondaryNameNode
1870 DataNode
1781 NameNode
2650 Jps
2291 NodeManager
2203 ResourceManager
# 增加了NodeManager和ResourceManager兩個進(jìn)程
6.5 在運行yarn的單機偽分布集群上測試wordcount程序
6.5.1 進(jìn)入$HADOOP_HOME/share/hadoop/mapreduce/目錄
[root@hadoop0 ~]# cd /opt/test/hadoop-2.6.5/share/hadoop/mapreduce/
6.5.2 運行wordcount測試程序棒拂,輸出到/output2
[root@hadoop0 mapreduce]#
hadoop jar hadoop-mapreduce-examples-2.6.5.jar wordcount /test.txt /output2
#運行時會首先看到如下信息
INFO client.RMProxy: Connecting to ResourceManager at /0.0.0.0:8032
6.5.3 查看mapreduce運行結(jié)果
[root@hadoop0 mapreduce]# hadoop dfs -text /output2/part-*
hello 100003
world 200002
“hello 100000
參考資料:
a). Hadoop數(shù)據(jù)分析平臺實戰(zhàn)——010hadoop介紹安裝
后續(xù)步驟:
4). 第四階段:Hadoop高可用+聯(lián)邦+視圖文件系統(tǒng)(HA+Federation+ViewFs)