一臺linux服務器【Linux 5.5,x86_64,用於安裝hadoop】
2、需要軟件
jdk1.6.0_31
hadoop-2.2.0.tar.gz
3、建立ssh無密碼登錄
主要是每次啓動hadoop時不用多次輸入登錄Linux操作系統密碼。
(1)實現無密碼登錄本機
$ ssh-keygen -t rsa
直接回車,會提示輸入存儲密碼的文件名,輸入id_rsa,完成後會在~/.ssh/生成兩個文件:id_rsa和id_rsa.pub。
$ ssh-keygen -t dsa
直接回車,會提示輸入存儲密碼的文件名,輸入id_dsa,完成後會在~/.ssh/生成兩個文件:id_dsa和id_dsa.pub。
$cat~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys 將生成的密鑰串在鑰匙鏈上
$cat~/.ssh/id_dsa.pub >>~/.ssh/authorized_keys 將生成的密鑰串在鑰匙鏈上
$chmod 600 ~/.ssh/authorized_keys。
然後 ssh localhost 驗證是否成功,第一次要你輸入yes,以後就不需要了。
4、安裝hadoop
保證待安裝hadoop的服務器上安裝jdk;
假設hadoop安裝在/home/username/hadoop目錄下(username爲操作系統登錄用戶),以下統稱hadoop安裝目錄。
(1)解壓hadoop-2.2.0.tar.gz到hadoop安裝目錄下。
(2)配置系統環境變量
可修改/etc/profile文件,在文件末尾添加如下內容。本文是修改/home/username/.bash_profile,修改完後請重新登錄ssh。
exportHADOOP_PREFIX="/home/username/hadoop/hadoop-2.2.0"
PATH="$PATH:$HADOOP_PREFIX/bin:$HADOOP_PREFIX/sbin"
export HADOOP_MAPRED_HOME=${HADOOP_PREFIX}
export HADOOP_COMMON_HOME=${HADOOP_PREFIX}
export HADOOP_HDFS_HOME=${HADOOP_PREFIX}
export HADOOP_YARN_HOME=${HADOOP_PREFIX}
export HADOOP_CONF_DIR="${HADOOP_PREFIX}/etc/hadoop"
export YARN_CONF_DIR="${HADOOP_PREFIX}/etc/hadoop"
export HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_PREFIX}/lib/native
exportHADOOP_OPTS="-Djava.library.path=$HADOOP_PREFIX/lib"
(3)配置hadoop
需要修改以下配置文件:
hadoop-env.sh
修改JAVA_HOME,這裏JAVA_HOME的路徑必須指定爲真實的路徑,不能引用${JAVA_HOME},否則運行的時候會有錯誤JAVA_HOME is not set。配置如下:
export JAVA_HOME=/usr/java/jdk1.6.0_26
core-site.xml
hdfs-site.xml
其中,/home/username/hadoop/dfs/name,/home/username/hadoop/dfs/data都是文件系統中的目錄,需要先新建。
mapred-site.xml
yarn-site.xml
注意yarn.nodemanager.aux-services屬性的值應爲mapreduce_shuffle,而不是mapreduce.shuffle(差別爲“_”與“.”),否則會出現錯誤。
5、啓動hadoop
完成以上配置後可以檢測是否配置成功。
(1)格式化hadoop的文件系統HDFS
在啓動hadoop之前,需要格式化hadoop的文件系統HDFS。進入/home/username/hadoop/hadoop-2.2.0/bin文件夾,執行以下命令進行格式化:
$ hdfs namenode -format
(2)啓動hadoop
格式化文件系統成功後,進入/home/username/hadoop/hadoop-2.2.0/sbin目錄,啓動hadoop。執行以下命令:
$ start-all.sh --此命令在hadoop2.2.0版本已被遺棄。
hadoop2.2.0推薦使用以下命令啓動:
首先啓動hdfs:
$ start-dfs.sh
或者
$ hadoop-daemon.sh startnamenode
$ hadoop-daemon.sh startdatanode
然後啓動yarn daemons:
$ start-yarn.sh
或者
$ yarn-daemon.sh startresourcemanager
$ yarn-daemon.sh startnodemanager
啓動完成後訪問以下地址查看dfs狀態,如果成功會顯示對應界面:
http://x.x.x.x:50070/dfshealth.jsp HDFS的web界面
datanode:
resourcemanager(JobTracker replacement):
http://x.x.x.x:8088/cluster Web app /cluster
nodemanager(TaskTrackerreplacement):
http://x.x.x.x:8042/node Web app /node