一、搭建環境的前提條件
環境:ubuntu-16.04
hadoop-2.6.0
jdk1.8.0_161。這里的環境不一定需要和我一樣,基本版本差不多都ok的,所需安裝包和壓縮包自行下載即可。
因為這里是配置Hadoop的教程,配置Java以及安裝VMware Tools就自行百度解決哈,這里就不寫了(因為教程有點長,可能有些地方有些錯誤,歡迎留言評論,我會在第一時間修改的)。
二、搭建的詳細步驟
1.配置免密碼登陸ssh
先判斷是否安裝ssh,輸入命令:ssh localhost,若提示輸入密碼,即已經安裝。如果沒有安裝,輸入命令:sudo apt-get install openssh-server 安裝
修改ssh配置文件:
輸入命令:vim /etc/ssh/ssh_config 將其中的 Port 22 字段和 PermitLocalCommand no 字段前面的 '#’刪除,並且,將 PermitLocalCommand 后面的 no 改為 yes
修改過后截圖:
查看在根目錄下是否存在.ssh文件夾:
輸入命令:cd
ls -a
若沒有則在根目錄下創建.ssh文件夾,輸入命令:mkdir .ssh
產生密鑰,輸入命令:cd /root/.ssh
ssh-keygen -t rsa
將生成的公鑰追加到授權的key中去
輸入命令:cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
驗證安裝是否成功,輸入命令:ssh –version
ssh localhost 提示不需要輸入密碼則安裝成功。
2. 配置Hadoop
將下載好的Hadoop壓縮包文件拖進Linux下,為了后續的學習的過程,最好單獨創建一個文件夾存放這些文件。我這里使用命令:mkdir /home/xiaow/hadoop2.0創建了一個名為hadoop2.0的文件夾,再將hadoop2.6.0壓縮包拖進里面並解壓。
配置環境變量,輸入命令:cd /etc
vim profile
在末尾追加:export HADOOP_HOME=/home/xiaow/hadoop2.0/hadoop-2.6.0
export PATH=$HADOOP_HOME/sbin:$HADOOP_HOME/bin:$PATH
注意:這里的路徑為自己解壓后的路徑,每個人的路徑不相同。
配置完環境變量后,需要系統配置一下環境變量,以便生效。
輸入命令:source /etc/profile
3. 修改Hadoop配置文件
需要修改的 hadoop 的配置文件有 5 個,即 core-site.xml、hdfs-site.xml、yarn-site.xml、 slaves、hadoop-env.sh 五個文件。這5個文件的位置為:
(1). 配置core-site.xml文件
<property> <name>hadoop.tmp.dir</name> <value>/home/tmp </value> 設置臨時文件夾,只要在 home 下即可 </property> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> 也可以改為本機 IP 地址 </property>
(2). 配置hdfs-site.xml文件
<property> <name>dfs.replication</name> <value>1</value> 備份數目,單節點上是 1,多節點一般為 3 </property> <property> <name>dfs.namenode.name.dir</name> <value>/home/xiaow/hadoop/dfs/name</value> NameNode 所在路徑 </property> <property> <name>dfs.datanode.data.dir</name> <value>/home/xiaow/hadoop/dfs/data</value> dataNode 所在路徑 </property> <property> <name>dfs.permissions</name> <value>false</value> HDFS 的權限,默認就行 </property>
(3). 配置yarn-site.xml文件
<property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property>
(4). 配置slaves文件
默認就好,不用修改
(5). 配置hadoop-env.sh
將里面的 JAVA_HOME=${JAVA_HOME}修改為自己安裝的jdk地址
至此hadoop配置文件的修改,已經全部完成。
三、啟動Hadoop
輸入命令:
cd /home/xiaow/hadoop2.0/hadoop-2.6.0 bin/hadoop namenode –format sbin/start-all.sh jps
出現如下圖所示6個Java進程,則Hadoop偽分布式成功搭建。
四、補充說明
1、如果出現下面這種情況
輸入命令:source /etc/profile 即可解決
2、出現進程不夠的情況(一般是少一個datanode進程)
應先輸入 sbin/stop-all.sh 停止 hadoop所有進程
解決辦法可能有以下兩種:
1. 再仔細檢查剛才配置文件是否出現錯誤。一般自己檢查不出錯誤,可叫同學幫忙檢查一下,必須仔細比對。 再依次使用這三個命令啟動Hadoop:
2.可能是臨時文件夾沒刪掉。
找到上圖箭頭所指示的文件夾並刪掉,在重新啟動hadoop,如此問題解決。