Linux中安裝配置hadoop集群


一. 簡介

  參考了網上許多教程,最終把hadoop在ubuntu14.04中安裝配置成功。下面就把詳細的安裝步驟敘述一下。我所使用的環境:兩台ubuntu 14.04 64位的台式機,hadoop選擇2.7.1版本。(前邊主要介紹單機版的配置,集群版是在單機版的基礎上,主要是配置文件有所不同,后邊會有詳細說明)

二. 准備工作

2.1 創建用戶

創建用戶,並為其添加root權限,經過親自驗證下面這種方法比較好。

1 sudo adduser hadoop
2 sudo vim /etc/sudoers
3 # 修改內容如下:
4 root ALL = (ALL)ALL
5 hadoop ALL = (ALL)ALL

給hadoop用戶創建目錄,並添加到sudo用戶組中,命令如下:

1 sudo chown hadoop /home/hadoop
2 # 添加到sudo用戶組
3 sudo adduser hadoop sudo

最后注銷當前用戶,使用新創建的hadoop用戶登陸。

2.2 安裝ssh服務

ubuntu中默認是沒有裝ssh server的(只有ssh client),所以先運行以下命令安裝openssh-server。安裝過程輕松加愉快~

sudo apt-get install ssh openssh-server

2.3 配置ssh無密碼登陸

直接上代碼:執行完下邊的代碼就可以直接登陸了(可以運行ssh localhost進行驗證)

1 cd ~/.ssh  # 如果找不到這個文件夾,先執行一下 "ssh localhost"
2 ssh-keygen -t rsa
3 cp id_rsa.pub authorized_keys

注意:

這里實現的是無密登陸自己,只適用與hadoop單機環境。如果配置Hadoop集群設置Master與Slave的SSH無密登陸可以參考我的另一篇博文:http://www.cnblogs.com/lijingchn/p/5580263.html

 三. 安裝過程

3.1 下載hadoop安裝包

有兩種下載方式:

1. 直接去官網下載:

http://mirrors.hust.edu.cn/apache/hadoop/core/stable/hadoop-2.7.1.tar.gz

2. 使用wget命令下載:

wget http://mirrors.hust.edu.cn/apache/hadoop/core/stable/hadoop-2.7.1.tar.gz

3.2 配置hadoop

1. 解壓下載的hadoop安裝包,並修改配置文件。我的解壓目錄是(/home/hadoop/hadoop-2.7.1),即進入/home/hadoop/文件夾下執行下面的解壓縮命令。

tar -zxvf hadoop-2.7.1.tar.gz

2. 修改配置文件:(hadoop2.7.1/etc/hadoop/)目錄下,hadoop-env.sh,core-site.xml,mapred-site.xml.template,hdfs-site.xml。

(1). core-site.xml 配置:其中的hadoop.tmp.dir的路徑可以根據自己的習慣進行設置。

<configuration>

<property>

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

<value>file:/home/hadoop/hadoop/tmp</value>

<description>Abase for other temporary directories.</description>

</property>

<property>

<name>fs.defaultFS</name>

<value>hdfs://localhost:9000</value>

</property>

</configuration>

(2). mapred-site.xml.template配置: 

<configuration>

<property>

<name>mapred.job.tracker</name>

<value>localhost:9001</value>

</property>

</configuration>

(3). hdfs-site.xml配置: 其中dfs.namenode.name.dir和dfs.datanode.data.dir的路徑可以自由設置,最好在hadoop.tmp.dir的目錄下面。

注意:如果運行Hadoop的時候發現找不到jdk,可以直接將jdk的路徑放置在hadoop-env.sh里面,具體如下:

export JAVA_HOME="/opt/java_file/jdk1.7.0_79",即安裝java時的路徑。

<configuration>

<property>

<name>dfs.replication</name>

<value>1</value>

</property>

<property>

<name>dfs.namenode.name.dir</name>

<value>file:/home/hadoop/hadoop/tmp/dfs/name</value>

</property>

<property>

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

<value>file:/home/hadoop/hadoop/tmp/dfs/data</value>

</property>

</configuration>

配置完成后運行hadoop。

四. 運行hadoop

4.1 初始化HDFS系統

在hadop2.7.1目錄下執行命令:

bin/hdfs namenode -format

出現如下結果說明初始化成功。

4.2 開啟 NameNode 和 DataNode 守護進程

在hadop2.7.1目錄下執行命令:

sbin/start-dfs.sh

成功的截圖如下:

4.3 使用jps命令查看進程信息:

若出現如圖所示結果,則說明DataNode和NameNode都已經開啟。

4.4 查看web界面

在瀏覽器中輸入 http://localhost:50070 ,即可查看相關信息,截圖如下

至此,hadoop的環境就已經搭建好了。

 五. 運行wordcount demo

1.  在本地新建一個文件,里面內容隨便填:例如我在home/hadoop目錄下新建了一個haha.txt文件,里面的內容為" hello world! "。

2. 然后在分布式文件系統(hdfs)中新建一個test文件夾,用於上傳我們的測試文件haha.txt。在hadoop-2.7.1目錄下運行命令:

# 在hdfs的根目錄下建立了一個test目錄
bin/hdfs dfs -mkdir /test

# 查看HDFS根目錄下的目錄結構
bin/hdfs dfs -ls /

結果如下:

3. 將本地haha.txt文件上傳到test目錄中;

# 上傳
bin/hdfs dfs -put /home/hadoop/haha.txt /test/
# 查看
bin/hdfs dfs -ls /test/

結果如下:

4. 運行wordcount demo;

# 將運行結果保存在/test/out目錄下
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar wordcount /test/haha.txt /test/out
# 查看/test/out目錄下的文件
bin/hdfs dfs -ls /test/out

結果如下:

運行結果表示:運行成功,結果保存在part-r-00000中。

5. 查看運行結果;

# 查看part-r-00000中的運行結果
bin/hadoop fs -cat /test/out/part-r-00000

結果如下:

至此,wordcount demo 運行結束。

六. 總結

配置過程遇到了很多問題,最后都一一解決,收獲很多,特此把這次配置的經驗分享出來,方便想要配置hadoop環境的各位朋友~

(Hadoop集群安裝配置過程基本和單機版是一樣的,主要是在配置文件方面有所區別,以及ssh無密登陸要求master和slave能夠互相無密登陸。具體的配置可以參考:http://www.linuxidc.com/Linux/2015-02/113486.htm

 

參考:

http://www.tuicool.com/articles/bmeUneM

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM