日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

从零开始学习Hadoop--第1章 Hadoop的安装

發布時間:2023/11/29 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 从零开始学习Hadoop--第1章 Hadoop的安装 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Hadoop的安裝比較繁瑣,有如下幾個原因:其一,Hadoop有非常多的版本;其二,官方文檔不盡詳細,有時候更新脫節,Hadoop發展的太快了;其三,網上流傳的各種文檔,或者是根據某些需求定制,或者加入了不必須要的步驟,或者加入容易令人誤解的步驟。其實安裝是很重要的步驟,只有安裝好了,才能談及下一步。

在本書撰寫的時候,選用Hadoopstable版安裝。


筆者的登錄用戶名是brian,大家可以根據自己的登錄名更改命令,后面凡是出現brian的地方,都用自己的登錄用戶名替換掉。


1. 操作系統

操作系統是Ubuntu10.04桌面版。


如果操作系統其他版本的Ubuntu,在圖形界面上會略有一點區別,但對安裝影響不大。不同發行版的Linux的安裝Hadoop的過程基本類似,沒太大的差別。

2.Hadoop的版本

Hadoop當前的stable版是1.2.1

3.下載Hadoop

3.1Hadoop的主頁上提供了多個下載鏈接。

http://www.apache.org/dyn/closer.cgi/hadoop/common/

3.2任選一個下載站點如下:

http://mirror.esocc.com/apache/hadoop/common/

3.3選擇stable版,其實stable版就是1.2.1版:

http://mirror.esocc.com/apache/hadoop/common/stable/

在這個目錄下有多個文件,是針對不同的linux發行版的,不需要全部下載。

3.4下載hadoop-1.2.1.tar.gzhadoop-1.2.1.tar.gz.mds

打開命令終端,下文的命令都是在終端里執行,為方便起見,命令都用引號引起。

stable版本的Hadoop的兩個文件下載到“~/setup/hadoop”目錄下,也就是”/home/brian/setup/hadoop”目錄,命令如下:

3.4.1“mkdir -p ~/setup/hadoop”

mkdir命令是創建新目錄。”-p”參數的意思是,假如hadoop目錄的上級目錄不存在,也創建上級目錄。在終端里執行“manmkdir”,可以看到對這個命令的更詳細的解釋,按一下q鍵重新返回終端。

在命令終端里,”~”表示當前登錄用戶的主目錄。比如說,在開機的時候,登錄用戶是brian,那么在命令終端里,”~”就表示目錄”/home/brian”,如果開機時候,登錄用戶是john,那么”~”就表示”/home/john”目錄。

3.4.2"cd ~/setup/hadoop"

cd就是changedirectory的縮寫,切換當前目錄。

3.4.3"wgethttp://mirror.esocc.com/apache/hadoop/common/stable/hadoop-1.2.1.tar.gz.mds"

wget是下載文件的命令行工具,”manwget”有詳細說明。

3.4.4"wgethttp://mirror.esocc.com/apache/hadoop/common/stable/hadoop-1.2.1.tar.gz"

3.4.5"md5sum hadoop-1.2.1.tar.gz"

md5sum命令,計算一個文件的md5碼。開源社區在提供源碼下載的時候,會同時提供下載文件的md5碼。md5碼是根據文件內容生成的32位字符串,不同的文件的md5碼是不同的,如果下載出錯,下載文件的md5碼跟正常文件的md5碼是不一樣的,由此檢測下載是否正常,只有在極其罕見的情況下,才會出現不同的文件有相同md5碼。hadoop-1.2.1.tar.gz是一個比較大的文件,需要檢查下載的文件是否完整,執行這個命令之后,會出現形如"8D79 04 80 56 17 C1 6C B2 27 D1 CC BF E9 38 5A hadoop-1.2.1.tar.gz"的字符串,前面的一串字符串就是32位的md5校驗碼。

3.4.6"cat hadoop-1.2.1.tar.gz.mds"

cat命令,catcatenate的縮寫,在標準輸出上打印文件內容,通常標準輸出就是屏幕。這個命令會在屏幕上打印hadoop-1.2.1.tar.gz.mds的內容,也就是一些校驗碼,在里面找到"md5"這一行,如果跟md5sum出來的一致,則表明下載文件完整的,否則需要重新下載。

4. 安裝JavaJDK

4.1在這里有jdk 1.7的下載

http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

如果是CPU32位,選擇下載Linuxx86,如果CPU64位的,選擇Linuxx64。一般來說,如果計算機是雙核的,肯定支持64位操作系統。或者可以運行”uname-a”命令看一下,在筆者的筆記本上運行這個命令結果如下:

Linuxbrian-i3 2.6.32-51-generic #113-Ubuntu SMP Wed Aug 21 19:46:35 UTC2013 x86_64 GNU/Linux

后面的x86_64表明系統是64位的。

在這個頁面,找”JavaSE Development Kit 7u40”,注意,這里有一個選項,必須選擇”AcceptLicense Agreement”,接受License才能下載。

下載的jdk1.7,存放到 “/home/brian/setup/java-jdk-1.7/”目錄。

下載的文件是”java-jdk-7u40-linux-i586.tar.gz”javajdk的版本常常有更新,次版本號有可能會比40更高一點。

4.2"sudo su -"

切換到root用戶,參考”mansudo”。這個命令會切換到root用戶,也就是最高權限的用戶。因為后面要執行的jdk安裝操作是在/usr/local目錄下進行的,用root用戶更方便。

4.3"cd /usr/local/lib"

4.4"tar -zxvf/home/brian/setup/java-jdk-1.7/java-jdk-7u40-linux-i586.tar.gz"

tarlinux下的打包和解壓命令行工具,具體細節可以參考”mantar”。這個命令將java-jdk-7u40-linux-i586.tar.gz壓縮包解壓到當前目錄下。解壓縮完畢之后,執行"ls",能看到當前目錄下有一個新目錄叫"jdk1.7.0_40"

4.5配置環境變量:

4.5.1“gedit /etc/profile”

geditlinux下類似Windoes的記事本的編輯器,文件/etc/profilelinux下的配置文件。本命令會打開這個配置文件,以備編輯。

4.5.2添加配置

/etc/profile文件末尾加上如下的三行代碼:


exportJAVA_HOME=/usr/local/lib/jdk1.7.0_40

exportCLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

exportPATH=$PATH:$JAVA_HOME/bin


保存文件,然后退出。

Linux系統,開機后會自動執行/etc/profile配置文件。export命令設置或者顯示環境變量。上述三行代碼,分別設置了JAVA_HOME,CLASSPATH, PATH這三個環境變量。

4.5.3"chown root:root -R /usr/local/lib/jdk1.7.0_40"

chown命令,更改目錄或者文件的擁有者。這條命令將jdk1.7.0_40目錄的擁有者改為root組的root用戶。”-R”參數是遞歸的意思,將jdk1.7.0_40目錄下連同子目錄都進行更改。

4.5.4"chmod 755 -R /usr/local/lib/jdk1.7.0_40"

chmod命令,更改目錄和文件的模式。本命令將jdk1.7.0_40的模式改為擁有者可以讀寫執行,同組用戶和其他用戶可讀可執行不可寫。“-R”參數同上,也是遞歸的意思。

4.5.5"source /etc/profile"

如果更改了/etc/profile配置文件,它只會在新的終端里生效,現在正在使用的終端是不會生效的。如果想讓它在正使用的終端也生效,需要用source命令運行一下配置文件。這條命令會讓4.4.2的三個環境變量立即生效。這條命令也可以簡寫成”./etc/profile”

4.5.6"java -version"

這條命令檢查jdk安裝是否成功。運行這條命令,只要沒有報錯就表明安裝成功了。

5.安裝hadoop

5.1"su brian"

su命令,切換用戶。安裝jdk用的是root用戶。現在切回brian用戶。

5.2"mkdir -p ~/usr/hadoop"

創建Hadoop的安裝目錄

5.3"cd ~/usr/hadoop"

5.4"tar -xvzf ~/setup/hadoop/hadoop-1.2.1.tar.gz"

解壓縮完畢后,就有目錄~/usr/hadoop/hadoop-1.2.1,這是hadoop的主目錄。

5.5配置hadoop,參考了http://hadoop.apache.org/docs/stable/single_node_setup.pdf

按照偽分布式進行配置,也就是用一個機器同時運行NameNode,SecondaryNameNode, DataNode, JobTracker, TaskTracker 5個任務。

5.5.1配置文件在~/usr/hadoop/hadoop-1.2.1/conf/目錄下

5.5.2core-site.xml文件內容修改成如下:

<configuration>

<property>

<name>fs.default.name</name>

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

</property>

</configuration>

5.5.3mapred-site.xml文件內容修改如下:

<configuration>

<property>

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

<value>localhost:9001</value>

</property>

</configuration>

5.5.4hdfs-site.xml文件內容修改如下:

<configuration>

<property>

<name>dfs.replication</name>

<value>1</value>

</property>

</configuration>

5.5.5hadoop-env.sh文件里添加如下一條語句:

exportJAVA_HOME=/usr/local/lib/jdk1.7.0_40

6.安裝rsyncssh

6.1"sudo apt-get install ssh rsync"

這條命令安裝sshrsyncssh是一個很著名的安全外殼協議SecureShell Protocolrsync是文件同步命令行工具。

6.2配置ssh免登錄

6.2.1"ssh-keygen -t dsa -f ~/.ssh/id_dsa"

執行這條命令生成ssh的公鑰/私鑰,執行過程中,會一些提示讓輸入字符,直接一路回車就可以。

6.2.2"cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys"

ssh進行遠程登錄的時候需要輸入密碼,如果用公鑰/私鑰方式,就不需要輸入密碼了。上述方式就是設置公鑰/私鑰登錄。

6.2.3 “ssh localhost”

第一次執行本命令,會出現一個提示,輸入”yes”然后回車即可。

7.啟動hadoop

7.1"cd ~/usr/hadoop/hadoop-1.2.1"

7.2"./bin/hadoop namenode -format"

格式化NameNode

7.3"./bin/start-all.sh"

啟動所有節點,包括NameNode,SecondaryNameNode, JobTracker, TaskTracker, DataNode

7.4“jps”

檢查各進程是否運行,這時,應該看到有6java虛擬機的進程,分別是Jps,NameNode, SecondaryNameNode, DataNode, JobTracker,TaskTracker,看到6個是對的,表明啟動成功。如果提示”jps”沒安裝或者找不到,執行一次”source/etc/profile”即可。

8.測試hadoop

8.1"cd ~/usr/hadoop/hadoop-1.2.1"

8.2"./bin/hadoop fs -put README.txt readme.txt"

將當前目錄下的README.txt放到hadoop進行測試,這個README.txtHadoop的介紹文件,這里用它做測試。這條命令將README.txt文件復制到Hadoop的分布式文件系統HDFS,重命名為readme.txt

8.3"./bin/hadoop jar hadoop-examples-1.2.1.jar wordcount readme.txtoutput"

運行hadoopexampleswordcount,測試hadoop的執行。這條語句用Hadoop自帶的examples里的wordcount程序,對readme.txt進行處理,處理后的結果放到HDFSoutput目錄。

8.4"./bin/hadoop fs -cat output/part-r-00000"

這條命令查看處理結果,part-r-00000文件存放wordcount的運行結果,cat命令將文件內容輸出到屏幕,顯示字符的統計結果。這是一個簡單的字符統計,wordcount只是做了簡單的處理,所以會看到單詞后面有標點符號。


9. 練習

筆者做一次完整的安裝是50分鐘左右,其中下載Hadoop安裝包和JavaJDK安裝包是半小時,操作部分用時20分鐘。新手第一次安裝,2~5個小時內完成都是正常的。建議將Hadoop的安裝過程按照上述流程走上三遍,熟悉每個步驟,然后不看流程憑記憶做出來,重復練習多次次,以加深印象。如果再有時間的話,可以逐個研究里面涉及到的各種命令,諸如wget,ssh, rsync等等。

?

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的从零开始学习Hadoop--第1章 Hadoop的安装的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。