Hadoop安裝

本教程是以Ubuntu 系統作爲安裝講解環境,爲了減少不必要的麻煩,請您  安裝Ubuntu 並能正常啓動進入系統。同時也必須要 安裝Java。

一、添加 Hadoop 系統用戶組和用戶

使用以下命令在終端中執行以下命令來先創建一個用戶組:

yiibai@ubuntu:~$ sudo addgroup hadoop_

操作結果如下:
Hadoop安裝

使用以下命令來添加用戶:

yiibai@ubuntu:~$ sudo adduser --ingroup hadoop_ hduser_

輸入您的密碼,姓名和其他詳細信息。
Hadoop安裝

二、配置SSH

爲了在集羣管理節點,Hadoop需要SSH訪問

首先,切換用戶,輸入以下命令:

yiibai@ubuntu:~$ su hduser_

Hadoop安裝

以下這個命令將創建一個新的密鑰。

hduser_@ubuntu:~$ ssh-keygen -t rsa -P ""

Hadoop安裝

使用此密鑰啓用SSH訪問本地計算機。

hduser_@ubuntu:~$ cat /home/hduser_/.ssd/id_rsa.pub >> /home/hduser_/.ssh/authorized_keys

Hadoop安裝

現在,測試SSH設置通過「hduser」用戶連接到locahost。

hduser_@ubuntu:~$ ssh localhost

Hadoop安裝

注意:

請注意,執行  'ssh localhost' 命令後如果看到下面的錯誤響應,  可能 SSH 在此係統不可用。

Hadoop安裝

來解決上面這個問題,安裝 SSH 服務 -

清除 SSH 使用以下命令:

hduser_@ubuntu:~$ sudo apt-get purge openssh-server

在安裝開始前清除 SSH 服務,這是一個很好的做法(建議),如果遇到「

is not in the sudoers file ...「提示,請使用有sudo 的用戶來執行,

這裏使用的用戶是:yiibai
Hadoop安裝

使用以下命令來安裝SSH,使用以下命令:

yiibai@ubuntu:~$ sudo apt-get install openssh-server

Hadoop安裝

三、下載Hadoop

在瀏覽器中打開網址: http://hadoop.apache.org/releases.html
Hadoop安裝
選擇一個最新 2.7.1 的穩定版本(stable)的二進制包下載,如下:
Hadoop安裝

下載完成後,默認將文件放在 /home/yiibai/Downloads,如下圖所示:

Hadoop安裝

現在進入到到包含tar文件的目錄,準備解壓 tar.gz 文件:

yiibai@ubuntu:~$ cd /home/yiibai/Downloads

使用以下命令解壓文件包: 

yiibai@ubuntu:~$ sudo tar xzf hadoop-2.7.1.tar.gz

現在重命名 hadoop-2.2.0 爲 hadoop

yiibai@ubuntu:~$ sudo mv hadoop-2.7.1 /usr/local/hadoop

更改文件用戶屬性,執行以下命令:

yiibai@ubuntu:$ cd /usr/local
yiibai@ubuntu:
$ sudo chown -R hduser_:hadoop_ hadoop

到這裏,hadoop文件的相關工作已經準備好,接下來我們還要做一些關鍵的設置。

四、修改  ~/.bashrc 文件

添加以下這些行到 ~/.bashrc 文件的末尾,內容如下所示:

1

2

3

4

5

6

#Set HADOOP_HOME

export HADOOP_HOME=/usr/local/hadoop

#Set JAVA_HOME

export JAVA_HOME=/usr/local/jdk1.8.0_60

# Add bin/ directory of Hadoop to PATH

export PATH=$PATH:$HADOOP_HOME/bin

在終端下執行以下命令,打開編輯器並將上面的內容加入到文件的底部,如下圖所示:

yiibai@ubuntu:~$ vi ~/.bashrc

Hadoop安裝

現在,使用下面的命令環境配置

yiibai@ubuntu:~$ . ~/.bashrc

五、配置關聯HDFS

設置  JAVA_HOME 在文件  /usr/local/hadoop/etc/hadoop/hadoop-env.sh 中,使用以下行代替,即寫上完整的 Java 安裝路徑。如下所示:

Hadoop安裝

在 $HADOOP_HOME/etc/hadoop/core-site.xml 文件中還有兩個參數需要設置:

1. 'hadoop.tmp.dir' - 用於指定目錄讓 Hadoop 來存儲其數據文件。

2. 'fs.default.name' - 指定默認的文件系統

爲了設置兩個參數,打開文件 core-site.xml

yiibai@ubuntu:~$ sudo gedit /usr/local/hadoop/etc/hadoop/core-site.xml

拷貝以下所有行的內容放入到標籤 中間。

1

2

3

4

5

6

7

8

9

10

< property >

< name >hadoop.tmp.dir</ name >

< value >/app/hadoop/tmp</ value >

< description >Parent directory for other temporary directories.</ description >

</ property >

< property >

< name >fs.defaultFS </ name >

< value >hdfs://localhost:54310</ value >

< description >The name of the default file system. </ description >

</ property >

結果如下圖所示:

Hadoop安裝

進入到目錄:/usr/local/hadoop/etc/hadoop,使用如下的命令:

yiibai@ubuntu:~$ cd /usr/local/hadoop/etc/hadoop
yiibai@ubuntu:/usr/local/hadoop/etc/hadoop$

現在創建一個目錄,如上面配置 core-site.xml 中使用的目錄:/app/hadoop/tmp

yiibai@ubuntu:/usr/local/hadoop/etc/hadoop$ sudo mkdir -p /app/hadoop/tmp

授予權限目錄 /app/hadoop/tmp,執行如下的命令:

yiibai@ubuntu:$ sudo chown -R hduser_:hadoop_ /app/hadoop/tmp
yiibai@ubuntu:
$ sudo chmod 750 /app/hadoop/tmp

六、Map Reduce 配置

在設置這個配置之前, 我們需要設置 HADOOP_HOME 的路徑,執行以下命令:

yiibai@ubuntu:~$ sudo gedit /etc/profile.d/hadoop.sh

然後輸入以下一行,

export HADOOP_HOME=/usr/local/hadoop
Hadoop安裝

再執行以下命令:

yiibai@ubuntu:~$ sudo chmod +x /etc/profile.d/hadoop.sh

退出命令行終端再次進入,並輸入以下命令:echo $HADOOP_HOME 以驗證 hadoop 的路徑:

yiibai@ubuntu:~$ echo $HADOOP_HOME
/usr/local/hadoop

現在複製文件,執行以下命令:

yiibai@ubuntu:~$ sudo cp $HADOOP_HOME/etc/hadoop/mapred-site.xml.template $HADOOP_HOME/etc/hadoop/mapred-site.xml

使用vi 打開文件 mapred-site.xml 

yiibai@ubuntu:~$ sudo vi $HADOOP_HOME/etc/hadoop/mapred-site.xml

添加以下的設置內容到標籤 中,如下圖所示:

1

2

3

4

5

6

< property >

< name >mapreduce.jobtracker.address</ name >

< value >localhost:54311</ value >

< description >MapReduce job tracker runs at this host and port.

</ description >

</ property >

Hadoop安裝

打開 $HADOOP_HOME/etc/hadoop/hdfs-site.xml 文件如下:

yiibai@ubuntu:~$ sudo vi $HADOOP_HOME/etc/hadoop/hdfs-site.xml

添加以下的設置內容到標籤 中,如下圖所示:

1

2

3

4

5

6

7

8

9

< property >

< name >dfs.replication</ name >

< value >1</ value >

< description >Default block replication.</ description >

</ property >

< property >

< name >dfs.datanode.data.dir</ name >

< value >/home/hduser_/hdfs</ value >

</ property >

Hadoop安裝

創建以上配置指定的目錄並授權目錄給用戶,使用以下命令:

yiibai@ubuntu:$ sudo mkdir -p /home/hduser_/hdfs
yiibai@ubuntu:
$ sudo chown -R hduser_:hadoop_ /home/hduser_/hdfs
yiibai@ubuntu:~$ sudo chmod 750 /home/hduser_/hdfs

七、格式化HDFS

在第一使用 Hadoop 之前,需要先格式化 HDFS,使用下面的命令

yiibai@ubuntu:~$ $HADOOP_HOME/bin/hdfs namenode -format

執行結果如下圖所示:

Hadoop安裝

輸入:y,繼往下...

注:可能會遇到一些提示錯誤:「java.io.IOException: Cannot create directory /app/hadoop/tmp/dfs/name/current...」,請執行以下命令來創建目錄:

yiibai@ubuntu:$ sudo mkdir -p /app/hadoop/tmp/dfs/name/current
yiibai@ubuntu:
$ sudo chmod -R a+w /app/hadoop/tmp/dfs/name/current/

八、 啓動 Hadoop 的單節點集羣

使用以下命令啓動cHadoop 的單節點集羣(使用 hduser_ 用戶來啓動),如下:

hduser_@ubuntu:~$ $HADOOP_HOME/sbin/start-dfs.sh

上面的命令輸出結果如下所示:

Hadoop安裝

接下來再執行命令:

hduser_@ubuntu:~$ $HADOOP_HOME/sbin/start-yarn.sh

Hadoop安裝

現在使用 ' jps' 工具/命令, 驗證是否所有 Hadoop 相關的進程正在運行。

hduser_@ubuntu:~$ /usr/local/jdk1.8.0_60/bin/jps

如果 Hadoop 成功啓動,那麼 jps 輸出應顯示: NameNode, NodeManager, ResourceManager, SecondaryNameNode, DataNode.

九、停止/關閉 Hadoop

hduser_@ubuntu:~$ $HADOOP_HOME/sbin/stop-dfs.sh

Hadoop安裝

hduser_@ubuntu:~$ $HADOOP_HOME/sbin/stop-yarn.sh

Hadoop安裝

the end.