初學hadoop經歷及使用Ambari快速部署Hadoop大資料環境介紹

來源:互聯網
上載者:User

前言

做大資料相關的後端開發工作一年多來,隨著Hadoop社區的不斷發展,也在不斷嘗試新的東西,本文著重來講解下Ambari,這個新的HTTP://www.aliyun.com/zixun/aggregation/14417. html">Apache的專案,旨在讓大家能夠方便快速的配置和部署Hadoop生態圈相關的元件的環境,並提供維護和監控的功能.

作為新手,我講講我自己的學習經歷,剛剛開始學習的時候,當然最簡單的 Google 下Hadoop ,然後下載相關的包,在自己的虛擬機器(CentOS 6.3) 上安裝一個單機的Hadoop版本用來做測試,寫幾個測試類, 然後做下CRUD測試之類的,跑跑Map/Reduce的測試,當然這個時候對於Hadoop還不是很瞭解,不斷的看別人的文章,瞭解下整體的架構,自己所做的就是修改conf下的幾個設定檔,讓Hadoop能夠正常的跑起來, 這個時候幾種在修改配置上,這個階段之後,又用到了HBase,這個Hadoop生態圈的另外一個產品,當然還是修改配置,然後 start-all.sh , start-hbase.sh 把服務起起來,然後就是修改自己的程式,做測試, 隨著用Hbase 學了下 Zookeeper 和Hive等, 接著過了這個操作階段了之後,開始研究Hadoop2.0,還有CSDN上很多大牛的文章了之後, 算是對Hadoop的生態圈整體有一些瞭解, 介於自己在公司所承擔的開發所涉及到相關的技術僅僅就這些.但是作為一個愛好探索的人,是否想多瞭解下呢,它的性能怎麼樣? 它是具體如何運作的? 看大公司的那些PPT,人家(淘寶等大公司)動不動就是幾十個,幾百個,乃至幾千個節點,人家是如何管理的,性能是怎麼樣的?看著PPT裡面的那些效能測試的曲線,你是否也能夠詳細的瞭解,並且對自己的專案進行性能調優呢? 我貌似找到答案了,那就是 Ambari , 由 HortonWorks 開發的一個Hadoop相關的專案,具體可以上官方去瞭解.

瞭解Hadoop生態圈

現在我們經常看到的一些關鍵字有: HDFS,MapReduce,HBase,Hive,ZooKeeper,Pig,Sqoop,Oozie,Ganglia,Nagios,CDH3,CDH4,Flume,Scribe, Fluented,HttpFS等等,其實應該還有更多,Hadoop生態圈現在發展算是相當繁榮了,而在這些繁榮的背後又是誰在推動的呢? 讀過Hadoop歷史的朋友可能知道,Hadoop最早是始于Yahoo,但是現在主要是由 HortonWorks 和 Cloudera 這2家公司在維護者,大部分的commiter 都屬於這2家公司, 所以現在市面上看到的主要有2個版本,CDH系列,和社區版, 我最早用的是社區版本,後來換到CDH3,現在又換回社區版,因為有Ambari.當然,用什麼和不用什麼,只要自己的技術到家,還是都能修改的跑的正常的.這裡就不多說了 . 講了這麼多廢話了,開始講 Ambari安裝吧.

開始部署

首先瞭解下Ambari, 專案位址在:HTTP://incubator.apache.org/ambari/

安裝文檔在: HTTP://incubator.apache.org/ambari/1.2.2/installing-hadoop-using-ambari/content/index.html

安裝的時候請大家先看下安裝文檔吧,安裝文檔必須認真看,結合自己當前所使用的系統版本,配置不同的源,而且安裝過程中需要的時間相對比較長,所以需要認真的做好安裝文檔的每個步驟. 這裡我就說我遇到的一些問題. (也可參考hadoop集群監控工具ambari安裝)

以下說說我自己的安裝過程.

機器準備:

我的測試環境採用 9 台 HP 的機器,分別是 cloud100 - cloud108 , cloud108做為管理節點.

Ambari安裝的環境路徑:

各台機器的安裝目錄:

/usr/lib/hadoop

/usr/lib/hbase

/usr/lib/zookeeper

/usr/lib/hcatalog

/usr/lib/hive

Log路徑, 這裡需要看出錯資訊都可以在目錄下找到相關的日誌

/var/log/hadoop

/var/log/hbase

設定檔的路徑

/etc/hadoop

/etc/hbase

/etc/hive

HDFS的存儲路徑

/hadoop/hdfs

安裝過程需要注意的點:

1, 安裝的時候,需要做好每台機器的ssh免密碼登陸,可以參考CentOS6.4之圖解SSH無驗證雙向登陸配置,做好之後,從 管理節點到各個集群節點之間,都能使用這個登陸.

2, 如果你的機器之前安裝過 Hadoop的相關服務,特別是Hbase 裡面配置了 HBASE_HOME 的環境變數,需要 unset掉, 這個環境變數會影響,因為我之前把這些路徑放到 /etc/profile 裡面導致影響了HBase, 因為Ambari安裝的路徑和你之前安裝的可能不一樣.

3,在服務選擇頁面的時候, NameNode 和 SNameNode 需要佈置在一起, 我之前嘗試做 HA 而把他們分開,但是SNameNode一直起不來,導致整個啟動失敗,接下來時間需要花在HA上.

  

3.png (161.09 KB, 下載次數: 0)

下載附件 保存到相冊

2014-4-25 23:12 上傳

4. JobTrakcer 不和Namenode在一起也會導致 啟動不起來.

5. Datanode的節點 不能少於 Block replication 中數, 基本都是需要 >= 3.

  

4.png (89.18 KB, 下載次數: 0)

下載附件 保存到相冊

2014-4-25 23:12 上傳

6. Confirm Hosts 的時候,需要注意裡面的 Warning 資訊,把相關的Warning都處理掉,有一些Warning會導致安裝出錯.

7. 記住安裝中所新建的使用者,接下來需要用到這些使用者.

  

5.png (43.68 KB, 下載次數: 0)

下載附件 保存到相冊

2014-4-25 23:12 上傳

8. Hive和HBase Master 部署在同一個節點,這裡當然你也可以分開. 設置好後就開始安裝了.

  

6.png (59.13 KB, 下載次數: 0)

下載附件 保存到相冊

2014-4-25 23:12 上傳

9.如果安裝失敗的情況下,如何重新安裝.

首先,先刪除掉系統已經安裝的檔相關的目錄,

sh file_cp.sh cmd "rm -rf /usr/lib/hadoop && rm -rf /usr/lib/hbase && rm -rf /usr/lib/zookeeper"

sh file_cp.sh cmd "rm -rf /etc/hadoop && rm -rf /etc/hbase && rm -rf /hadoop && rm -rf /var/log/ha doop"

sh file_cp.sh cmd "rm -rf /etc/ganglia && rm -rf /etc/hcatalog && rm -rf /etc/hive && rm -rf /etc/ nagios && rm -rf /etc/sqoop && rm -rf /var/log/hbase && rm -rf /var/log/nagios && rm -rf / var/log/hive && rm -rf /var/log/zookeeper && rm -rf /var/run/hadoop && rm -rf /var/run/hbase & & rm -rf /var/run/zookeeper "

再在Yum remove 掉安裝的相關的包.

sh file_cp.sh cmd "yum -y remove ambari-log4j hadoop hadoop-lzo hbase hive libconfuse nagios sqoop zookeeper"

我這裡使用到了自己寫的Shell,方便在多台機器之間執行命令:

HTTPs://github.com/xinqiyang/opshell/tree/master/hadoop

Reset下Ambari-Server

ambari-server stop

ambari-server reset

ambari-server start

10.注意時間的同步,時間問題會導致regionserver起不來

  

7.png (210.96 KB, 下載次數: 0)

下載附件 保存到相冊

2014-4-25 23:12 上傳

11. iptables 需要關閉,有的時候可能機器會重新開機,所以不單單需要 service stop 也需要chkconfig 關閉掉.

最後安裝完成後,登陸位址查看下服務的情況:

HTTP://管理節點ip:8080 , 比如我這裡的: HTTP://192.168.1.108:8080/ 登陸之後,需要設置之前在安裝Ambari-server時候輸入的帳號和密碼,進入

  

8.png (150.91 KB, 下載次數: 0)

下載附件 保存到相冊

2014-4-25 23:12 上傳

查看 ganglia的監控

  

9.png (168.44 KB, 下載次數: 0)

下載附件 保存到相冊

2014-4-25 23:12 上傳

查看 nagios 的監控

  

10.png (166.22 KB, 下載次數: 0)

下載附件 保存到相冊

2014-4-25 23:12 上傳

測試

安裝完成後,看著這些都正常了,是否需要自己驗證一下呢? 不過基本跑了冒煙測試後,正常的話,基本還是正常的,但是我們自己也得來操作下吧.

驗證HDFS

  

11.png (120.58 KB, 下載次數: 0)

下載附件 保存到相冊

2014-4-25 23:12 上傳

驗證Map/Reduce

  

12.png (134.94 KB, 下載次數: 0)

下載附件 保存到相冊

2014-4-25 23:12 上傳

驗證HBase

  

13.png (111.13 KB, 下載次數: 0)

下載附件 保存到相冊

2014-4-25 23:12 上傳

驗證Hive

  

14.png (145.61 KB, 下載次數: 0)

下載附件 保存到相冊

2014-4-25 23:12 上傳

總結

到這裡,相關的 hadoop 及 hbase 及hive 的相關配置就都配置完成了,接下來需要做一些壓力測試.還有其他方面的測試, 對於Ambari帶的是 HortonWorks 打包的rpm版本的 Hadoop相關的源碼, 所以這裡可能會和其他的版本有一些不同,但是作為開發環境來說,暫時還是沒有很多大的影響的,但是現在還沒有在生產上使用, 所以也不管說如何的穩定,接下來我會在開發專案的過程中,將所遇到的Bug給列出來. 總體來說Ambari還是很值得使用的,畢竟能夠減少很多不必要的配置時間,而且相對在單機環境下, 在集群環境下更能貼近生產做一些相關的效能測試和調優測試等等, 而且配置的ganglia和nagios的監控也能夠發佈的讓我們查看到集群相關的資料,總體來說還是推薦使用的,新東西有Bug是在所難免的,但是在用的過程中我們會不斷的完善. 接下來如果有時間,會對Ambariserver的功能進行擴展,添加諸如redis/nginx之類的常用的高性能模組的監控選項. 這個有時間在弄了. 總之,歡迎使用Ambari.

原文連結:HTTP://www.uml.org.cn/sjjm/201305244.asp

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.