歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> ubuntu14.04下hadoop2.6.0安裝

ubuntu14.04下hadoop2.6.0安裝

日期:2017/3/1 11:44:19   编辑:關於Linux

1. 下載ubuntu14.04 i386

地址:http://old-releases.ubuntu.com/releases/14.04.1/

2. 安裝JDK

地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

2.1.解壓安裝

我們把JDK安裝到這個路徑:/jdk 或/usr/lib/jvm

如果沒有這個目錄(第一次當然沒有),我們就新建一個目錄

sudo mkdir /jdk

建立好了以後,我們來到剛才下載好的壓縮包的目錄,解壓到我們剛才新建的文件夾裡面去,並且修改好名字方便我們管理

sudo tar -zxvf jdk-8u91-linux-i586.gz -C /jdk

// sudo mv jdk1.7.0_05/jdk7

2.2.配置環境變量

Vim ~/.bashrc

在打開的文件的末尾添加

exportJAVA_HOME=/jdk1.8.0_91

exportJRE_HOME=${JAVA_HOME}/jre

exportCLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

exportPATH=${JAVA_HOME}/bin:$PATH

保存退出,然後輸入下面的命令來使之生效

source ~/.bashrc

2.3配置環境變量

sudo gedit /etc/profile

exportJAVA_HOME=/jdk1.8.0_91

exportJRE_HOME=${JAVA_HOME}/jre

exportCLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

exportPATH=${JAVA_HOME}/bin:$PATH

3.在Ubuntu下創建hadoop用戶組和用戶

1.創建hadoop用戶組;

1.sudoaddgrouphadoop

2.創建hadoop用戶;

1.sudoadduser-ingrouphadoophadoop

3.給hadoop用戶添加權限,打開/etc/sudoers文件;

1.sudogedit/etc/sudoers

在root ALL=(ALL:ALL)ALL下添加hadoopALL=(ALL:ALL) ALL.

4.安裝ssh服務

4.1 sudoapt-getinstallsshopenssh-server

4.2 建立ssh無密碼登錄本機

切換到hadoop用戶,執行以下命令:

1.su-hadoop

ssh生成密鑰有rsa和dsa兩種生成方式,默認情況下采用rsa方式。

1.創建ssh-key,,這裡我們采用rsa方式;

1.ssh-keygen-trsa-P""(注:回車後會在~/.ssh/下生成兩個文件:id_rsa和id_rsa.pub這兩個文件是成對出現的)

2.進入~/.ssh/目錄下,將id_rsa.pub追加到authorized_keys授權文件中,開始是沒有authorized_keys文件的;

1.cd~/.ssh

2.catid_rsa.pub>>authorized_keys(完成後就可以無密碼登錄本機了。)

3.登錄localhost;

1.sshlocalhost

4.執行退出命令;

1.exit

5.安裝Hadoop

sudo tar -xzvf hadoop-2.6.0.tar.gz-C /usr/local/hadoop

cd /usr/local/ sudo mv ./hadoop-2.6.0/ ./hadoop # 將文件夾名改為hadoop sudo chown -R hadoop ./hadoop

Hadoop 解壓後即可使用。輸入如下命令來檢查 Hadoop 是否可用,成功則會顯示 Hadoop 版本信息:

cd /usr/local/hadoop ./bin/hadoop version

6.嘗試運行自帶例子

cd /usr/local/hadoop mkdir ./input cp ./etc/hadoop/*.xml ./input # 將配置文件作為輸入文件 ./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar grep ./input ./output 'dfs[a-z.]+' cat ./output/* # 查看運行結果 刪除目錄 sudo rm –r output

7.Hadoop偽分布式配置

Hadoop 可以在單節點上以偽分布式的方式運行,Hadoop 進程以分離的 Java 進程來運行,節點既作為 NameNode 也作為 DataNode,同時,讀取的是 HDFS 中的文件。

Hadoop 的配置文件位於 /usr/local/hadoop/etc/hadoop/ 中,偽分布式需要修改2個配置文件core-site.xmlhdfs-site.xml。Hadoop的配置文件是 xml 格式,每個配置以聲明property 的 name 和 value 的方式來實現。

修改配置文件core-site.xml(通過 gedit 編輯會比較方便:gedit./etc/hadoop/core-site.xml),將當中的

修改為下面配置:

1. 
2. 
3. hadoop.tmp.dir
4. file:/usr/local/hadoop/tmp
5. Abase for other temporary directories.
6. 
7. 
8. fs.defaultFS
9. hdfs://localhost:9000
10. 
11. 

同樣的,修改配置文件hdfs-site.xml

1. 
2. 
3. dfs.replication
4. 1
5. 
6. 
7. dfs.namenode.name.dir
8. file:/usr/local/hadoop/tmp/dfs/name
9. 
10. 
11. dfs.datanode.data.dir
12. file:/usr/local/hadoop/tmp/dfs/data
13. 
14. 

Hadoop配置文件說明

Hadoop 的運行方式是由配置文件決定的(運行 Hadoop 時會讀取配置文件),因此如果需要從偽分布式模式切換回非分布式模式,需要刪除 core-site.xml 中的配置項。

此外,偽分布式雖然只需要配置 fs.defaultFS 和 dfs.replication 就可以運行(官方教程如此),不過若沒有配置 hadoop.tmp.dir 參數,則默認使用的臨時目錄為 /tmp/hadoo-hadoop,而這個目錄在重啟時有可能被系統清理掉,導致必須重新執行 format 才行。所以我們進行了設置,同時也指定 dfs.namenode.name.dir 和 dfs.datanode.data.dir,否則在接下來的步驟中可能會出錯。

配置完成後,執行 NameNode 的格式化:

1. ./bin/hdfs namenode -format

成功的話,會看到 “successfully formatted” 和“Exitting with status 0” 的提示,若為 “Exitting with status 1” 則是出錯。

\

執行namenode格式化

如果在這一步時提示Error:JAVA_HOME is not set and could not be found.的錯誤,則說明之前設置JAVA_HOME 環境變量那邊就沒設置好,請按教程先設置好JAVA_HOME 變量,否則後面的過程都是進行不下去的。

接著開啟 NameNode 和 DataNode 守護進程。

1../sbin/start-dfs.sh #start-dfs.sh是個完整的可執行文件,中間沒有空格

Shell 命令

若出現如下SSH提示,輸入yes即可。

\

啟動Hadoop時的SSH提示

啟動時可能會出現如下 WARN 提示:WARNutil.NativeCodeLoader: Unable to load native-hadoop library for your platform…using builtin-java classes where applicable WARN 提示可以忽略,並不會影響正常使用。

成功啟動後,可以訪問Web 界面http://localhost:50070查看 NameNode 和 Datanode 信息,還可以在線查看 HDFS 中的文件。

\

Copyright © Linux教程網 All Rights Reserved