about云開發

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

掃一掃,訪問微社區

查看: 592958|回復: 40
打印 上一主題 下一主題

Cloudera Manager、CDH零基礎入門、線路指導

  [復制鏈接]
跳轉到指定樓層
樓主
發表于 2014-9-19 18:50:20 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
本帖最后由 pig2 于 2014-10-14 12:42 編輯
問題導讀:
1.什么是cloudera CM 、CDH?
2.CDH、CM有哪些版本?
3.CDH、CM有哪些安裝方式?
4.CDH如何開發?





我們知道cloudera CDH 是為簡化hadoop的安裝,也對對hadoop做了一些封裝。那么我們就像嘗試學習cloudera。
cloudera本質hadoop的封裝,那么學起來,應該不難。不就是下載下來,然后自動安裝,最后管理hadoop生態系統的一些服務。
的確是這樣的,但是也沒有我們想象的那么簡單。

基礎知識
那么我們就開始第一步吧,第一步之前,那就是你的基礎,這個是很關鍵的,如果不會使用Linux,那么你需要看一下另外一篇文章:零基礎學習hadoop到上手工作線路指導(初級篇)。可以看看Linux的基礎知識模塊。需要掌握的內容還是不少的:




Linux掌握了,那么我們是否需要掌握虛擬機的基礎知識,在搭建hadoop集群中,可以這些是必須掌握的,那么cloudera是否需要,也是需要的,這里就不在羅列了,詳細參考零基礎學習hadoop到上手工作線路指導(初級篇)。但是cloudera CM的安裝比起hadoop集群的安裝對硬件的要求更高。內存至少10G,為什么會這么多,如果少于10G是否可以,答案是可以的,但是后面你會遇到各種問題,或許都找不到答案。
對于cloudera-scm-server就需要至少4G的內存,cloudera-scm-agent的內存至少也需要1.5G以上。那么如果你的機器是8G的,還是很吃力的。
在安裝的過程中,后面有很多的服務安裝遇到問題的可能性是很大的。

什么是CDH

hadoop是一個開源項目,所以很多公司在這個基礎進行商業化,Cloudera對hadoop做了相應的改變。
Cloudera公司的發行版,我們將該版本稱為CDH。


很多新手問的最多的問題是,哪個是收費的,那個是免費的。
Cloudera Express版本是免費的
Cloudera Enterprise是需要購買注冊碼的

更多內容:
Cloudera Hadoop什么是CDH及CDH版本介紹

CDH(Cloudera)與hadoop(apache)對比

大數據架構師基礎:hadoop家族,Cloudera產品系列等各種技術





官網介紹

當我們學習的時候,我們該如何學習,有兩種方式:第一種:先理論,后實踐
第二種:先實踐,后理論

上面兩種方式各有各的場合,如果你要去面試、考試、搞理論思想類,第一種方式是沒有問題的。因為這些都是停留在思想層面的。
對于一個編程技術人員來講,本人覺得第二種方式更加的短平快。
上面兩種方式都有些絕對,最佳的方式就是實踐與理論相結合。
這里撰文一下,引用孔子的一句話
學而不思則罔 思而不學則殆

只看書,不實踐,或則只倒騰部署、停留在某些問題得不到解決,但是又不去看書、百度、谷歌查找解決問題,這樣也是不行的。



好了,開始我們的官網:
官網是我們學習標準,所以我們首先要記住官網地址:
主頁:
http://www.cloudera.com/content/cloudera/en/home.html
進入官網我們可以做些什么事情:
1.提供API
2.查看部署文檔
3.下載安裝包
那么我們如何查找API,如何查找部署文檔,如何下載安裝包?
詳細可以查看
cloudera(CDH)官網介紹:安裝包、離線包該如何下載、官方文檔等介紹






安裝包下載:
同時附上各個版本包的地址:
Cloudera文檔匯總
http://www.cloudera.com/content/support/en/documentation.html
CDH4、CDH5包匯總
http://archive.cloudera.com/cdh4/
http://archive.cloudera.com/cdh5/
CM4、CM5包匯總
http://archive.cloudera.com/cm4/
http://archive.cloudera.com/cm5/

官網CDH5下載
http://www.cloudera.com/content/ ... /cdh/cdh-5-1-0.html

以前版本地址:
CDH1~CDH3
http://archive-primary.cloudera.com/cdh/


當我們看到安裝的時候,同時也困擾著我們,我們該選擇哪個安裝包。

首先需要介紹下CM(Cloudera Manager)及CDH的安裝方式:

CM(Cloudera Manager)有三種安裝方式:

1.第一種使用cloudera-manager-installer.bin安裝
這種安裝方式,只要從官網下載cloudera-manager-installer.bin,然后執行這個bin文件,剩下的就是等待下載和安裝。但是這個時間不是一般的長,最好吃個飯,睡個覺,最后看到還在安裝過程中。此帖安裝步驟及遇到問題記錄很詳細,可參考
Cloudera Manager5及CDH5在線(cloudera-manager-installer.bin)安裝詳細文檔


Cloudera Manager5及CDH5安裝指導(終極在線安裝)

遇到的問題:
當我們安裝完畢CM,那么我們就要添加主機,主機添加完畢,我們會看到安裝進度:




但是并不是每個人都能看到上面進度,而是看到下面錯誤:
Detecting Cloudera Manager Server...
Detecting Cloudera Manager Server...
BEGIN host -t PTR 192.168.1.198
198.1.168.192.in-addr.arpa domain name pointer localhost.
END (0)
using localhost as scm server hostname
BEGIN which python
/usr/bin/python
END (0)
BEGIN python -c 'import socket; import sys; s = socket.socket(socket.AF_INET); s.settimeout(5.0); s.connect((sys.argv[1], int(sys.argv[2]))); s.close();' localhost 7182
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "<string>", line 1, in connect
socket.error: [Errno 111] Connection refused
END (1)
could not contact scm server at localhost:7182, giving up
waiting for rollback request

上面錯誤該如何解決:
可以使用下面方法解決:
  1. mv /usr/bin/host /usr/bin/host.bak
復制代碼



2.第二種使用rpm、yum、apt-get方式在線安裝
這種安裝方式,在網上看的有點眼花繚亂,可能是因為我們對yum、apt、rpm了解的不多造成的,對于Linux基礎缺乏的,可以參考:yum與rpm、apt的區別:rpm的缺陷及yum的優勢,總的來說:由于rpm依賴關系不好,所以產生了yum,而yum和apt則都是Linux的包管理工具,并且解決了包與包的依賴關系。

這里列出一些安裝文檔
ubuntu 12.04 安裝 Cloudera Manager5及CDH5(Mysql)【添加yum源方式安裝集群】

遇到問題1:內存過小
使用yum安裝因為mysql的配置至少需要對Cloudera server 4G的內存,否則mysql的重啟過程中,就會遇到unknown instance.

遇到問題2:界面無法訪問
界面無法訪問,分為兩種情況
一種是Cloudera-manager-server沒有完全起來

當我們運行下面命令:



如果現在,輸入url,訪問web,可能會是無法訪問
host/ip:7180,我這里是172.16.77.60:7180




大概需要等10分鐘左右,界面就可以訪問了。



一種則是權限問題
所以我們初次安裝盡量使用root.還有我們需要會看日志。

Linux日志的位置:
下面為server日志




下面為agent日志


同時在我們安裝服務的過程中,我們還需要會查看角色日志,這樣從web界面就是可以看到,因為在我們安裝過程中,服務的安裝沒有那么順利。
這里暫時沒有截圖,我們只要記住角色日志,在界面中找到即可。


遇到問題3:無法找到cloudera agent客戶端

我們使用下面命令安裝了agent
  1. sudo apt-get install cloudera-manager-agent cloudera-manager-daemons
復制代碼
當然還有很多其它需要安裝,當我們的agent安裝成功后,為什么我們的的界面中不能發現agent.


本來我們有三臺,但是卻只有一臺,而且是cloudera server本地的agent





這是因為我們的在安裝的過程中,agent都指向了本地localhost.
我們打開配置文件
  1. sudo nano  /etc/cloudera-scm-agent/config.ini
復制代碼


修改
server_host為server ip地址
server_port為7180

下圖CDH即為cloudera server的hostname



修改完畢:
首先重啟Agent
sudo service cloudera-scm-agent restart
然后重啟server
sudo service cloudera-scm-server restart
這時候會發現已經生效。
更詳細內容可以參考
記錄cloudera Manager安裝Cloudera-Scm-Agent如何指向Cloudera-Scm-Server


更多文檔可以參考:
Cloudera Manager 和 CDH 4 終極安裝(一)

ClouderaManager以及CHD5.1.0集群部署安裝

Cloudera Manager (centos)離線安裝詳細介紹

CM5、CDH5安裝(CDH5半自動離線安裝)

Cloudera Manager 5 和 CDH5 本地(離線)安裝指南

Cloudera Manager 和 CDH5 本地(離線)安裝指導




3.第三種使用是Tarballs的方式

這種方式網上資料很少
安裝的命令如下:
  1. $ tar xzf cloudera-manager*.tar.gz -C /opt/cloudera-manager
復制代碼
這個跟hadoop的安裝方式是一樣的
安裝的方法詳細可參考:


這里在列出官網給出的三種安裝方式:


如果想安裝CM,這次再次強調一定要有足夠的內存。并且我們安裝完畢CM,一般會

4.安裝失敗處理
上面如果我們安裝失敗該如何處理:
使用 cloudera-manager-installer.bin(Parcles)安裝失敗后卸載cloudera

卸載 Cloudera Manager 5.1.x.和 相關軟件【官網翻譯:高可用】
5.目錄結構:
由于我們大多采用在線安裝的方式,所以出血,我們根本不知道cloudera安裝在了什么位置,詳細可以參考下面內容

解析Cloudera Manager內部結構、功能包括配置文件、目錄位置等
亦可參考下面帖子:
卸載 Cloudera Manager 5.1.x.和 相關軟件【官網翻譯:高可用】









CDH安裝方式:

Yum/Apt包,Tar包,RPM包,CM安裝
這些包的下載,可以在上文安裝包匯總中可以找到。
CDH1~CDH3
http://archive-primary.cloudera.com/cdh/

CDH4~CDH5
http://archive.cloudera.com/cdh4/
http://archive.cloudera.com/cdh5/


安裝文檔,下面可以參考
Linux(ubuntu12.04)單節點偽分布安裝CDH5.1.X及提交wordcount到yarn高可靠文檔
各個版本Linux單節點偽分布安裝CDH5.1.X及提交wordcount到yarn高可靠文檔


Hadoop CDH5 手動安裝偽分布式模式
通過CM方式安裝,大多在安裝CM的時候,已經安裝了CDH。




CDH開發

安裝完畢,我們還想開發提到開發,我們就想到eclipse插件,其實我們在開發過程中,插件作用就是幫助我們能夠方便的看到在Linux的文件。
所以開發方式也有兩種,
一種插件開發
我們如何找到eclipse插件,可以參考
cloudera CDH(5)開發方式及CDH eclipse插件編譯總結


一種是無插件開發
無插件開發,也就是直接添加開發包

可以參考:hadoop開發方式總結及操作指導

先總結到此,希望大家有所收獲。




有的同學反映寫的不夠細,這里在補充一些內容:
Cloudera Manager Server啟動后又掛掉的原因總結

我們安裝CDH的時候,會碰到cloudera server啟動后又掛掉了,這是什么原因?
查看日志:包下面問題

可是明明已經安裝jdk,并且已經設置了JAVA_HOME
  1. java -version
復制代碼


也能返回版本
這是怎么回事,猜測cloudera server(5)認oracle jdk,對于sun jdk也需要是在線安裝(至于是不識別sun jdk還未驗證)。同時還必須是jdk1.7.









也就是需要執行下面命令:
  1. sudo apt-get -o Dpkg::Options::=--force-confdef -o Dpkg::Options::=--force-confold -y install oracle-j2sdk1.7
復制代碼
原因是在后面執行scm-server數據庫配合的時候,如果找不到Java_home可能會初始化失敗。
Java_home默認安裝路徑如下。
  1. /usr/lib/jvm/java-7-oracle-cloudera
復制代碼

從上面我們得出,如果想安裝順序,我們最好使用下面命令來安裝jdk1.7
sudo apt-get -o Dpkg::Options::=--force-confdef -o Dpkg::Options::=--force-confold -y install oracle-j2sdk1.7

執行上面命令,那么還需要做下面工作:



然后我們接著執行命令:
  1. service cloudera-scm-server restart
復制代碼

認為終于好了,但是不幸的是,這次堅持了不到兩分鐘又掛掉了。


這次為什么會掛掉,不得不查看日志了:

Caused by: org.springframework.beans.factory.BeanCreationException: Error creati
ng bean with name 'entityManagerFactoryBean': FactoryBean threw exception on obj

ect creation; nested exception is javax.persistence.PersistenceException: org.hi
bernate.exception.GenericJDBCException: Could not open connection
        at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.
doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:149)
        at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.
getObjectFromFactoryBean(FactoryBeanRegistrySupport.java:102)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getObje
ctForBeanInstance(AbstractBeanFactory.java:1440)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBe
an(AbstractBeanFactory.java:247)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean
(AbstractBeanFactory.java:192)
        at org.springframework.beans.factory.support.BeanDefinitionValueResolver
.resolveReference(BeanDefinitionValueResolver.java:322)
        ... 17 more
Caused by: javax.persistence.PersistenceException: org.hibernate.exception.Gener
icJDBCException: Could not open connection
        at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityMan
agerImpl.java:1387)
        at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityMan
agerImpl.java:1310)
        at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException
(AbstractEntityManagerImpl.java:1397)
        at org.hibernate.ejb.TransactionImpl.begin(TransactionImpl.java:62)
        at com.cloudera.enterprise.AbstractWrappedEntityManager.beginForRollback
AndReadonly(AbstractWrappedEntityManager.java:85)
        at com.cloudera.enterprise.dbutil.DbUtil.isInnoDbEnabled(DbUtil.java:472
)



2014-09-22 17:51:27,328 ERROR [main:[email protected]] An attempt by a
client to checkout a Connection has timed out.
2014-09-22 17:51:27,339  INFO [main:[email protected]] Dest
roying singletons in org.springframework.beans.factory.support.DefaultListableBe
[email protected]: defining beans [commandLineConfigurationBean,entityManagerFa
ctoryBean,com.cloudera.server.cmf.TrialState,com.cloudera.server.cmf.TrialManage
r,com.cloudera.cmf.crypto.LicenseLoader]; root of factory hierarchy
2014-09-22 17:51:27,341 ERROR [main:[email protected]] Server failed.
org.springframework.beans.factory.BeanCreationException: Error creating bean wit
h name 'com.cloudera.server.cmf.TrialState': Cannot resolve reference to bean 'e
ntityManagerFactoryBean' while setting constructor argument; nested exception is
org.springframework.beans.factory.BeanCreationException: Error creating bean wi
th name 'entityManagerFactoryBean': FactoryBean threw exception on object creati
on; nested exception is javax.persistence.PersistenceException: org.hibernate.ex
ception.GenericJDBCException: Could not open connection
        at org.springframework.beans.factory.support.BeanDefinitionValueResolver
.resolveReference(BeanDefinitionValueResolver.java:328)
        at org.springframework.beans.factory.support.BeanDefinitionValueResolver
.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106)
        at org.springframework.beans.factory.support.ConstructorResolver.resolve
ConstructorArguments(ConstructorResolver.java:616)
        at org.springframework.beans.factory.support.ConstructorResolver.autowir
eConstructor(ConstructorResolver.java:148)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBean
Factory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1003)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBean
Factory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:907)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBean
Factory.doCreateBean(AbstractAutowireCapableBeanFactory.java:485)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBean
Factory.createBean(AbstractAutowireCapableBeanFactory.java:456)
        at org.springframework.beans.factory.support.AbstractBeanFactory$1.getOb
ject(AbstractBeanFactory.java:293)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistr
y.getSingleton(DefaultSingletonBeanRegistry.java:222)

看完日志,你是否還是云里霧里,這不得不說一下,我們該如何利用日志。
日志的作用是什么?日志的作用是提示,它大部分會給我們明確說遇到了什么問題,比如權限拒絕,等,但是有些你是看不明白的,那我們該如何處理?只能靠你的靈感了,沒有靈感怎么辦?那就需要自己縷順序,自己是怎么安裝、怎么操作的,然后從中能夠發現問題。漸漸的你就能培養出靈感了。

上面其實我只知道報的是一個Java異常,而且還跟鏈接有關系。
靈感來了,就像到了,是因為沒有執行下面命令:

配置cloudera-manager-server數據庫
  1. sudo /usr/share/cmf/schema/scm_prepare_database.sh mysql  -uroot -p --scm-host localhost scm scm scm_password
復制代碼
但是又出問題了,如下:





其實這個問題已經解決了,安裝我們可以進入上面步驟。
當我們安裝完畢,ok了,終于好了:

當我們看到下面內容的時候,all done,說明我們配置成功了。



然后我們再次重啟
  1. service cloudera-scm-server restart
復制代碼

ok始終在堅挺著,沒有掛機,問題得到解決











本帖被以下淘專輯推薦:

  • · 收藏|主題: 35, 訂閱: 12
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友 微信微信
收藏收藏37 轉播轉播 分享分享4 分享淘帖1 贊1 踩 分享到微信分享到微信

76

主題

38

聽眾

20

收聽

高級會員

Rank: 4

積分
3163

最佳新人活躍會員熱心會員

推薦
發表于 2016-7-27 12:05:39 | 只看該作者
Reynold.C 發表于 2016-7-27 11:34
請問樓主:CDH有時候會莫名其妙的掛了,但是又不知道,那CDH有沒有提供一些類似郵件提示的功能?這樣最起碼 ...

有郵件警告通知配置


來自:
鏈接:http://pan.baidu.com/s/1qY8aQoW 密碼:hldn
回復 支持 1 反對 0

使用道具 舉報

0

主題

6

聽眾

2

收聽

中級會員

Rank: 3Rank: 3

積分
607
板凳
發表于 2014-9-19 21:30:16 | 只看該作者
掉渣天~太給力了

0

主題

2

聽眾

0

收聽

QQ游客

積分
353
地板
發表于 2014-9-22 10:14:00 | 只看該作者
樓主能不能就一種成功過的方式詳細的講下呢
5#
 樓主| 發表于 2014-9-23 11:15:44 | 只看該作者
Victor-Shy 發表于 2014-9-22 10:14
樓主能不能就一種成功過的方式詳細的講下呢

會慢慢補充的

406

主題

136

聽眾

124

收聽

實習版主

Rank: 7Rank: 7Rank: 7

積分
5259
6#
發表于 2014-9-27 22:43:24 | 只看該作者
Victor-Shy 發表于 2014-9-22 10:14
樓主能不能就一種成功過的方式詳細的講下呢
可以參考這篇:
Cloudera Manager5及CDH5在線(cloudera-manager-installer.bin)安裝高可靠文檔
http://www.kvlhgo.live/thread-9303-1-1.html

點評

有沒有單機版的CHD ,供學習一下。  發表于 2016-7-25 11:50
歡迎加入about云群425860289432264021 ,云計算愛好者群,關注about云騰訊認證空間

0

主題

3

聽眾

0

收聽

注冊會員

Rank: 2

積分
67
7#
發表于 2014-9-29 16:12:55 | 只看該作者
好同學無私奉獻

1

主題

2

聽眾

0

收聽

注冊會員

Rank: 2

積分
67
8#
發表于 2014-10-3 22:28:08 | 只看該作者
感謝樓主分享。學習了。

33

主題

11

聽眾

6

收聽

中級會員

Rank: 3Rank: 3

積分
779
9#
發表于 2014-10-8 14:21:46 | 只看該作者
haotie學習了 。感謝分享。

5

主題

6

聽眾

2

收聽

高級會員

Rank: 4

積分
1167
10#
發表于 2014-11-3 17:58:30 | 只看該作者
太給力來,收藏來好好學習

0

主題

3

聽眾

2

收聽

高級會員

Rank: 4

積分
1056
11#
發表于 2014-11-26 15:53:44 | 只看該作者
收藏,希望會好。
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

關閉

推薦上一條 /3 下一條

QQ|小黑屋|about云開發-學問論壇|社區 ( 京ICP備12023829號

GMT+8, 2019-8-10 06:43 , Processed in 0.584322 second(s), 37 queries , Gzip On.

Powered by Discuz! X3.2 Licensed

快速回復 返回頂部 返回列表
梭哈电子游艺