最近要升級Hadoop的版本,需要重新安裝測試環境,特此記錄一下安裝配置步驟O(∩_∩)O
1. 依賴軟件
1.1 Java
Hadoop 2.7及以上版本需要Java 7,之前的版本支持Java 6,本文使用Hadoop 2.6.5版本,所以安裝Java 6就可以了(本文省略安裝步驟)
1.2 ssh
集羣、單節點模式都需要用到SSH登陸,安裝完SSH之後(本文省略安裝步驟)執行以下命令在用戶的主文件夾生成密鑰和加入授權
[root@xxx ~]# ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
[root@xxx ~]# cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
* 本文爲了方便測試使用root用戶,生產環境最好創建一個新用戶,例如hadoop,然後用新用戶登錄之後再執行上述命令
生成密鑰和加入授權後就執行以下命令進行無密碼直接登錄
[root@xxx ~]# ssh localhost
2. 下載和解壓Hadoop
2.1 如果服務器可以訪問公網,可以執行以下命令下載
[root@xxx ~]# wget http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-2.6.5/hadoop-2.6.5.tar.gz
* 上面的下載link使用的是其中一個鏡像
* 可自行修改上面的link下載相應的版本
* 如果不能訪問公網,則需要自行下載然後上傳到服務器
2.2 執行以下命令解壓
[root@xxx ~]# tar xvf hadoop-2.6.5.tar.gz
3. 修改環境變量
3.1 修改解壓目錄下面的etc/hadoop/hadoop-env.sh,根據服務器實際情況,新增或添加下面2行
# 指定JAVA安裝根目錄
export JAVA_HOME=/usr/java/latest
# 指定HADOOP安裝根目錄(上述解壓的目錄)
export HADOOP_PREFIX=/usr/local/hadoop-2.6.5
3.2 執行以下命令測試一下環境變量是否配置成功
[root@xxx ~]# cd hadoop-2.6.5
[root@xxx hadoop-2.6.5]# bin/hadoop
如果出現類似以下結果證明配置成功
Usage: hadoop [--config confdir] COMMAND
where COMMAND is one of:
fs run a generic filesystem user client
version print the version
jar <jar> run a jar file
checknative [-a|-h] check native hadoop and compression libraries availability
distcp <srcurl> <desturl> copy file or directories recursively
archive -archiveName NAME -p <parent path> <src>* <dest> create a hadoop archive
classpath prints the class path needed to get the
credential interact with credential providers
Hadoop jar and the required libraries
daemonlog get/set the log level for each daemon
trace view and modify Hadoop tracing settings
or
CLASSNAME run the class named CLASSNAME
Most commands print help when invoked w/o parameters.
4. 修改配置文件
4.1 修改解壓目錄下面的etc/hadoop/core-site.xml,定義一些基本的配置,例如啓動的端口(例如9000),臨時文件存放目錄(/tmp目錄需要先創建)等等
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/tmp/hadoop-${user.name}</value>
</property>
</configuration>
4.2 修改解壓目錄下面的etc/hadoop/hdfs-site.xml,定義複製的數量,下面使用1
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
5. 執行以下命令格式化Hadoop的文件系統
[root@xxx hadoop-2.6.5]# bin/hdfs namenode -format
* 檢查一下輸出的日誌,如果沒有出現ERROR就證明格式化成功
* 關鍵INFO是common.Storage: Storage directory xxx has been successfully formatted和util.ExitUtil: Exiting with status 0
6. 執行以下命令啓動NameNode和DataNode
[root@xxx hadoop-2.6.5]# sbin/start-dfs.sh
* 日誌文件默認保存在$HADOOP_HOME/logs
* 檢查一下輸出的日誌,如果沒有出現ERROR就證明啓動成功
7. 查看NameNode狀態頁面
啓動成功後可以訪問http://ip:50070/查看狀態
8. 執行以下命令在HDFS創建測試目錄
[root@xxx hadoop-2.6.5]# bin/hdfs dfs -mkdir /user
[root@xxx hadoop-2.6.5]# bin/hdfs dfs -mkdir /user/<username>
* <username>需要替換爲你的用戶名
執行以下命令驗證一下是否創建成功
[root@ocmp hadoop-2.6.5]# bin/hdfs dfs -ls -R /
drwxr-xr-x - root supergroup 0 2016-11-28 16:19 /user
drwxr-xr-x - root supergroup 0 2016-11-28 16:22 /user/root
* 如果返回類似上述結果證明創建成功
9. 配置YARN
9.1 修改解壓目錄下面的etc/hadoop/mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
9.2 修改解壓目錄下面的etc/hadoop/yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
9.3 執行以下命令啓動ResourceManager和NodeManager
[root@xxx hadoop-2.6.5]# sbin/start-yarn.sh
* 日誌文件默認保存在$HADOOP_HOME/logs
* 檢查一下輸出的日誌,如果沒有出現ERROR就證明啓動成功
9.4 查看ResourceManager信息頁面
啓動成功後可以訪問http://ip:8088/查看信息
10. 停止命令
[root@xxx hadoop-2.6.5]# sbin/stop-dfs.sh
[root@xxx hadoop-2.6.5]# sbin/stop-yarn.sh