Cloudera Manager 4.6 安裝詳解
1. Cloudera Manager介紹
1.1. 功能介紹
Cloudera Manager是一個針對hadoop集群的管理工具,功能包括:cdh的安裝,集群的活動監控、各個性能指標的監控,以及各個組件的管理等。
1.2. 架構介紹
Cloudera Manager分為客戶端(Cloudera Manager Agent)和服務端(Cloudera Manager Server),客戶端會把采集到的數據發送到服務端,服務端把這些數據存放在數據庫中,用戶可以在Cloudera Manager管理頁面查看數據以及相關的圖表。如下圖:
1.3. 版本支持
筆者這里安裝的的CDH版本是4.6,所以安裝的Cloudera Manager版本是4.6,支持CDH3 Update 1 (cdh3u1)或更新版,還有CDH4.0或更新版。強烈建議安裝CDH3 Update2或更新版。
1.4. Cloudera Manager會安裝哪些組件
- 安裝Cloudera Manager時
安裝Cloudera Manager時會在安裝Cloudera Manager Server的主機上安裝Cloudera Manager和Oracle的jdk(支持1.6和1.7)
- 使用Cloudera Manager安裝集群時
在安裝完Cloudera Manager后第一次打開后台管理界面時,會自動跳轉到向導頁。
集群中的每個主機上都會安裝Cloudera Manager Agent和Oracle的jdk。
可以根據自己的選擇來安裝CDH和Impala等。
2. Cloudera Manager安裝前准備
2.1. 數據庫准備
- 如果使用Cloudera Manager來安裝默認的數據庫,默認安裝的話,Cloudera Manager會給oozie配置Derby數據庫,為Hue配置SQLite數據庫,會使用嵌入式的PostgreSQL數據庫來提供存放Hive的元數據。活動監控,服務監控,報告監控以及主機監控的數據會存放在嵌入式的PostgreSQL數據庫里。這種方法不需要額外配置數據庫,Cloudera Manager可自行安裝配置。
- 為Cloudera Manager配置外部的數據庫服務
筆者比較習慣用mysql,在安裝Cloudera Manager之前,需要給支好mysql,用Cloudera Manager安裝集群的話,安裝選項中只有為hive、服務監控、活動監控、主機監控配置外部數據庫的選項,oozie、hue等數據可在安裝完成后,在管理界面中配置安裝。具體操作見下。
- 數據庫中各個服務產生的數據量
Cloudera Manager數據庫:
這是數據庫中最重要的數據庫,包含了所有服務的配置:角色分配、配置歷史、命令、用戶以及運行的進程這個數據庫一般只有100MB大小左右。
活動監控數據庫:
包含了集群中過往的活動信息,在一個大的集群中數據量是很大的,GB級別。
服務監控數據庫:
包含了后台進程的監控信息。在大的集群中,這個庫的大小會很大的。
報告管理數據庫:
全天候監控磁盤使用情況。數據庫的大小適中。
主機管理數據庫:
記錄了主機的狀態。集群中的主機個數將會直接影響數據庫的大小。
- 數據庫的最大連接數設置
給每個數據庫要允許設置100個最大的連接數,另外在額外添加50個連接數。若有2個服務使用一個數據庫系統,則給該數據庫系統設置250個最大連接數。
例如:給活動監控、服務監控、報告管理、主機監控、Cloudera Manager服務器、Cloudera儀表和Hive元數據這7個服務使用同一個數據庫,那么數據庫的最大連接數設置最少為750個。
2.2. 操作系統的需要
在Cloudera Manager4.6.0下,支持一下操作系統(本文中的實驗環境是Ubuntu12.04 64-bit):
- Red Hat
- Red Hat Enterprise Linux 5.7 and CentOS 5.7, 64-bit
- Red Hat Enterprise Linux 6.2 and 6.4, and CentOS 6.2 and 6.4, 64-bit
- Oracle Enterprise Linux 5.6 with Unbreakable Enterprise Kernel, 64-bit
- SLES
- SUSE Linux Enterprise Server 11, 64-bit. Service Pack 1或更新,需要組件SUSE Linux Enterprise Software Development Kit 11 SP1
- Debian
- Debian 6.0 (Squeeze), 64-bit
- Ubuntu
- Ubuntu 10.04 64-bit
- Ubuntu 12.04 64-bit
2.3. 瀏覽器的需要
- Firefox 11 或 更新
- Google Chrome
- Internet Explorer 9
- Safari 5 或 更新
2.4. 安全驗證的需要
安裝過程中有兩種安全驗證的方法:
- 集群中的所有主機都需要配置配置一個同樣的擁有sudo權限的賬戶名和密碼
- 用Cloudera Manager的ssh公鑰來連接其它的主機,前提是已配置好了
3. 安裝Cloudera Manager
3.1. 數據庫安裝(MySQL)
- 安裝MySQL服務
$ sudo apt-get install mysql-server
- 啟動MySQL守護進程
$ sudo service mysql start
- 配置InnoDB引擎
不同版本的數據庫設置可能不一樣的,登進mysql后查看數據庫是否已經啟用了InnoDB引擎,筆者用的版本是5.5.38,默認是啟用了。
為使得數據庫能有發揮更好的性能,推薦一下配置:
[mysqld] transaction-isolation=READ-COMMITTED # Disabling symbolic-links is recommended to prevent assorted security risks; # to do so, uncomment this line: # symbolic-links=0 key_buffer = 16M key_buffer_size = 32M max_allowed_packet = 16M thread_stack = 256K thread_cache_size = 64 query_cache_limit = 8M query_cache_size = 64M query_cache_type = 1 # Important: see Configuring the Databases and Setting max_connections max_connections = 550 # log-bin should be on a disk with enough free space log-bin=/x/home/mysql/logs/binary/mysql_binary_log # For MySQL version 5.1.8 or later. Comment out binlog_format for older versions. binlog_format = mixed read_buffer_size = 2M read_rnd_buffer_size = 16M sort_buffer_size = 8M join_buffer_size = 8M # InnoDB settings innodb_file_per_table = 1 innodb_flush_log_at_trx_commit = 2 innodb_log_buffer_size = 64M innodb_buffer_pool_size = 4G innodb_thread_concurrency = 8 innodb_flush_method = O_DIRECT innodb_log_file_size = 512M [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid
- 配置數據庫允許遠程連接
mysql>grant all privileges on *.* to 'root'@'%' identified by 'mysqlpasswd’ with grant option;
其中的root是用戶,mysqlpasswd是密碼。
- 在集群中的每台主機上安裝mysql的jdbc包
$ sudo apt-get install libmysql-java
- 在/etc/mysql/my.cnf里配置mysql所在主機的ip
bind-address=127.0.0.1
127.0.0.1是連接數據庫使用的ip。
3.2. 安裝Cloudera Manager
- 去http://www.cloudera.com/content/support/en/downloads/cloudera_manager/cm-4-6-0.html這里下載你需要的Cloudera Manager。筆者這里使用的是4.7。
- 將下載好的cloudera-manager-installer.bin上傳到Cloudera Manager Server主機上,可以不是集群里的主機。
- 給它可執行的權限:
$ chmod u+x cloudera-manager-installer.bin
- 運行cloudera-manager-installer.bin
$ sudo ./cloudera-manager-installer.bin
出現README如下圖:
選擇NEXT出現證書信息:
選擇Next,進入證書確認的畫面:
選擇YES,進入Oracle證書信息頁面:
選擇NEXT,進入Oracle的證書確認界面:
選擇YES進入JDK安裝畫面,默認安裝的是Oracle的JDK1.6:
安裝完成后進入下邊畫面,這里有你訪問Cloudera Manager的鏈接(默認端口是7180)和賬戶名密碼(admin)等信息:
后邊一直選擇ok,結束安裝:
到此,可以確定訪問Cloudera Manager的鏈接是http://192.168.1.130:7180。
4. 用Cloudera Manager安裝CDH
4.1. 選擇安裝的版本
第一次訪問上述鏈接時,登陸后會自動跳轉到Cloudera Manager安裝向導上,默認的賬戶名和密碼都是admin:
筆者在這里選擇的是Cloudera Standard版(標准版),點擊Continue進入下個頁面:
4.2. 確定集群中的主機
點擊Continue進入下個頁面:
在這里可以填寫集群中各個主機的地址或是主機名,你可以指定多個地址和地址范圍,可以用逗號、分號、制表符、空格鍵或是換行符來把它們隔開。這樣可以實行更具體的搜索,而不是在一個過寬的范圍里搜索。如果使用IP范圍或主機名范圍來搜索的話,具體格式如下表格:
使用這個擴展范圍 |
指定了這些主機 |
10.1.1.[1-4] |
10.1.1.1, 10.1.1.2, 10.1.1.3, 10.1.1.4 |
host[1-3].company.com |
host1.company.com, host2.company.com, host3.company.com |
host[07-10].company.com |
host07.company.com, host08.company.com, host09.company.com, host10.company.com |
畫面如下:
點擊Search進入搜索結果畫面:
4.3. 確定安裝的CDH的倉庫,以及其它組件
確認主機沒有問題的話,點擊Continue,進入安裝倉庫配置頁面:
這里推薦是使用Parcels安裝,可以在More Options里填寫你選擇的安裝倉庫,這個倉庫就決定了你安裝的CDH版本,這里選擇的是http://archive.cloudera.com/cdh4/parcels/4.6.0/。注意,如果你添加了別的倉庫,這里的CDH版本將可能會發生變化,如果你需要安裝SOLR和IMPALA,請添加新的SOLR和IMPALA倉庫,確保CDH、SOLR、IMPALA三者的版本能保持兼容。如果在這里沒有選擇SOLR和IMPALA,那么在后邊選擇安裝服務的時候,也不能選擇它們,切記!
4.4. 配置使用用戶名密碼還是公鑰驗證主機登錄
如下圖:
4.5. 安裝JDK和Cloudera Manager Agent
點擊Continue進入安裝Oracle的JDK和Cloudera Manager Agent,如下圖:
上面這一步若是出錯,很有可能是你沒有配置合適的主機名,請檢查主機名和hosts文件里的列表。
4.6. 分配安裝包到集群中的各個節點上
安裝完成后點擊Continue,進入Parcel的安裝:
安裝完成后會出現核對的畫面:
4.7. 選擇安裝的組件
確認沒有問題的話,點擊Continue進入下邊畫面:
在這個頁面里,選擇你要安裝的組件,注意,如果你在之前沒有選擇添加Impala的倉庫,在這里不要選擇它,否則后邊的安裝會出現錯誤。
點擊Inspect Role Assignment進入各節點的角色分配列表,如下:
Cloudera Manager會經過一系列(硬件性能)的計算自動給各個節點分配最適合的角色。在這里你可以根據自己的需求對角色的分配進行適當的修改。
4.8. 配置數據庫
然后點擊Continue進入數據庫的配置畫面:
配置好數據庫的InnoDB引擎、遠程連接、主機的地址等在這里才可以測試成功,具體配置見上文。點擊Continue,進入配置確認頁面:
4.9. 完成安裝
確認無誤,點擊Continue,進行集群的首次啟動。啟動成功后選擇Continue,進入了后台管理的主界面。
這里出現這些提示主要是因為各個節點的內存小了,重新添加內存后,集群環境健康:
至於如何使用Cloudera Manager來管理這個集群環境,稍加熟悉后應該就可以掌握了。
4.10. Oozie的數據庫配置
如果有必要修改oozie使用其它的數據庫,請繼續看下邊:
- 在Service里進入oozie服務,在Oozie Server(Default)里選擇Database,然后對數據庫類型、數據庫名、數據庫地址、用戶名以及密碼進行設置,保存修改。
- 然后在數據庫中手動建一個上邊填寫的數據庫(Cloudera Manager后台管理里在Action里是可以建庫的,但在這里暫時出了點問題,建不了。手動建庫其實是一種妥協)。
- 啟動Oozie服務。