新聞中心
本節(jié)繼續(xù)和大家一起學習利用Cloudera實現Hadoop 方法,上節(jié)我們介紹了利用Cloudera實現Hadoop 的規(guī)劃,本節(jié)就詳細介紹一下其安裝設置,希望本節(jié)的介紹對你的學習有所幫助。

創(chuàng)新互聯(lián)公司服務項目包括五家渠網站建設、五家渠網站制作、五家渠網頁制作以及五家渠網絡營銷策劃等。多年來,我們專注于互聯(lián)網行業(yè),利用自身積累的技術優(yōu)勢、行業(yè)經驗、深度合作伙伴關系等,向廣大中小型企業(yè)、政府機構等提供互聯(lián)網行業(yè)的解決方案,五家渠網站推廣取得了明顯的社會效益與經濟效益。目前,我們服務的客戶以成都為中心已經輻射到五家渠省份的部分城市,未來相信會繼續(xù)擴大服務區(qū)域并繼續(xù)獲得客戶的支持與信任!
利用 Cloudera 實現Hadoop
安裝
規(guī)劃好了就開始安裝Hadoop,如前言中所說使用Cloudera的Hadoop發(fā)布版安裝Hadoop是十分方便的,首先當然是在每臺主機上一個干凈的操作系統(tǒng)(我用的是Ubuntu 8.04,用戶設為Hadoop,其它的版本應該差不多),然后就是安裝Hadoop了(這樣安裝的是Hadoop-0.20,也可以安裝Hadoop- 0.18的版本,反正安裝步驟都差不多。注意,不能同時啟用Hadoop-0.20和Hadoop-0.18)。由于每臺機器安裝步驟都一樣,這里就寫出了一臺主機的安裝步驟,主要分為以下幾個步驟:
設置Cloudera的源
生成Cloudera源文件(這里采用的是Hadoop-0.20版本):
sudo vi /etc/apt/sources.list.d/cloudera.list#穩(wěn)定版(Hadoop-0.18)#deb http://archive.cloudera.com/debian hardy-stable contrib#deb-src http://archive.cloudera.com/debian hardy-stable contrib#測試版(Hadoop-0.20)deb http://archive.cloudera.com/debian hardy-testing contribdeb-src http://archive.cloudera.com/debian hardy-testing contrib生成源的密鑰:
sudo apt-get install curlcurl -s http://archive.cloudera.com/debian/archive.key | sudo apt-key add -
安裝Hadoop
更新源包索引:
sudo apt-get updatesudo apt-get dist-upgrade安裝Hadoop:
sudo apt-get install hadoop-0.20 hadoop-0.20-conf-pseudo
部署
安裝好這幾臺主機的Hadoop環(huán)境之后,如果要實現Hadoop 還要對它們進行分布式運行模式的部署了,首先是設置它們之間的互聯(lián)。
主機互聯(lián)
Hadoop環(huán)境中的互聯(lián)是指各主機之間網絡暢通,機器名與IP地址之間解析正常,可以從任一主機ping通其它主機的主機名。注意,這里指的是主機名,即在Hadoop-01主機上可以通過命令ping Hadoop-02來ping通Hadoop-02主機(同理,要求這幾臺主機都能相互Ping通各自的主機名)??梢酝ㄟ^在各主機的/etc /hosts文件來實現,具體設置如下:
sudo vi /etc/hosts127.0.0.1 localhost10.x.253.201 hadoop-01 hadoop-0110.x.253.202 hadoop-02 hadoop-0210.x.253.203 hadoop-03 hadoop-0310.x.253.204 hadoop-04 hadoop-0410.x.3.30 firehare-303 firehare-303將每個主機的hosts文件都改成上述設置,這樣就實現了主機間使用主機名互聯(lián)的要求。
注:如果深究起來,并不是所有的主機都需要知道Hadoop環(huán)境中其它主機主機名的。其實只是作為主節(jié)點的主機(如NameNode、 JobTracker),需要在該主節(jié)點hosts文件中加上Hadoop環(huán)境中所有機器的IP地址及其對應的主機名,如果該臺機器作Datanode 用,則只需要在hosts文件中加上本機和主節(jié)點機器的IP地址與主機名即可(至于JobTracker主機是否也要同NameNode主機一樣加上所有機器的IP和主機名,本人由于沒有環(huán)境,不敢妄言,但猜想是要加的,如果哪位兄弟有興趣,倒是不妨一試)。在這里只是由于要作測試,作為主節(jié)點的主機可能會改變,加上本人比較懶,所以就全加上了。:) 下面看一下Cloudera實現Hadoop 時的相關設置。
計算機帳號設置
Hadoop要求所有機器上hadoop的部署目錄結構要相同,并且都有一個相同用戶名的帳戶。由于這里采用的是Cloudera發(fā)布的Hadoop包,所以并不需要這方面的設置,大家了解一下即可。
SSH設置
在 Hadoop 分布式環(huán)境中,主節(jié)點(NameNode、JobTracker) 需要通過 SSH 來啟動和停止從節(jié)點(DataNode、TeskTracker)上的各類進程。因此需要保證環(huán)境中的各臺機器均可以通過 SSH 登錄訪問,并且主節(jié)點用 SSH 登錄從節(jié)點時,不需要輸入密碼,這樣主節(jié)點才能在后臺自如地控制其它結點??梢詫⒏髋_機器上的 SSH 配置為使用無密碼公鑰認證方式來實現。 Ubuntu上的SSH協(xié)議的開源實現是OpenSSH, 缺省狀態(tài)下是沒有安裝的,如需使用需要進行安裝。下面再來看一下利用Cloudera實現Hadoop 過程中如何安裝OpenSSH。
安裝OpenSSH
安裝OpenSSH很簡單,只需要下列命令就可以把openssh-client和openssh-server給安裝好: sudo apt-get install ssh
設置OpenSSH的無密碼公鑰認證
首先在Hadoop-01機器上執(zhí)行以下命令:
hadoop@hadoop-01:~$ ssh-keygen -t rsaGenerating public/private rsa key pair.Enter file in which to save the key (/home/hadoop/.ssh/id_rsa):Enter passphrase (empty for no passphrase):(在這里直接回車)Enter same passphrase again:(在這里直接回車)Your identification has been saved in /home/hadoop/.ssh/id_rsa.Your public key has been saved in /home/hadoop/.ssh/id_rsa.pub.The key fingerprint is:9d:42:04:26:00:51:c7:4e:2f:7e:38:dd:93:1c:a2:d6 hadoop@hadoop-01上述命令將為主機hadoops-01上的當前用戶hadoop生成其密鑰對,該密鑰對被保存在/home/hadoop/.ssh/id_rsa 文件中,同時命令所生成的證書以及公鑰也保存在該文件所在的目錄中(在這里是:/home/hadoop/.ssh),并形成兩個文件 id_rsa,id_rsa.pub。然后將 id_rsa.pub 文件的內容復制到每臺主機(其中包括本機hadoop-01)的/home/hadoop/.ssh/authorized_keys文件的尾部,如果該文件不存在,可手工創(chuàng)建一個。
注意:id_rsa.pub 文件的內容是長長的一行,復制時不要遺漏字符或混入了多余換行符。
無密碼公鑰SSH的連接測試
從 hadoop-01 分別向 hadoop-01, hadoop-04, firehare-303 發(fā)起 SSH 連接請求,確保不需要輸入密碼就能 SSH 連接成功。注意***次 SSH 連接時會出現類似如下提示的信息:
The authenticity of host [hadoop-01] can't be established. The key fingerprint is: c8:c2:b2:d0:29:29:1a:e3:ec:d9:4a:47:98:29:b4:48 Are you sure you want to continue connecting (yes/no)?請輸入 yes, 這樣 OpenSSH 會把連接過來的這臺主機的信息自動加到 /home/hadoop/.ssh/know_hosts 文件中去,第二次再連接時,就不會有這樣的提示信息了。本節(jié)關于利用Cloudera實現Hadoop 的內容就介紹到這里。
網站題目:Cloudera實現Hadoop步驟詳解
文章地址:http://m.fisionsoft.com.cn/article/coiisdd.html


咨詢
建站咨詢
