從這一篇文章開始會有三篇文章依次介紹集群搭建 「Before install」 「Process」 「After install」
繼上一篇使用 docker 部署單機 CDH 的文章,當我們使用 docker 評估完相關組件和一些功能之后,接下來就是使用 CDH express 版本來搭建集群。
搭建之前應該關注一下手冊看下還有哪些可以注意的地方參見官方 before your install
https://www.cloudera.com/documentation/enterprise/6/6.0/topics/installation_reqts.html#pre-install
看了一下5.x.x 的最后一個版本是 5.15.x 然后所帶的組件如下:
Component | Package Version | Tarball | Release Notes | Changes File |
---|---|---|---|---|
Apache Avro | avro-1.7.6+cdh5.15.1+140 | Tarball | Release notes | Changes |
Apache Crunch | crunch-0.11.0+cdh5.15.1+104 | Tarball | Release notes | Changes |
Apache DataFu | pig-udf-datafu-1.1.0+cdh5.15.1+27 | Tarball | Release notes | Changes |
Apache Flume | flume-ng-1.6.0+cdh5.15.1+189 | Tarball | Release notes | Changes |
Apache Hadoop | hadoop-2.6.0+cdh5.15.1+2822 | Tarball | Release notes | Changes |
Apache Hadoop MRv1 | hadoop-0.20-mapreduce-2.6.0+cdh5.15.1+2822 | (none) | (none) | (none) |
Apache HBase | hbase-1.2.0+cdh5.15.1+470 | Tarball | Release notes | Changes |
Apache HBase-Solr | hbase-solr-1.5+cdh5.15.1+74 | Tarball | Release notes | Changes |
Apache Hive | hive-1.1.0+cdh5.15.1+1395 | Tarball | Release notes | Changes |
Hue | hue-3.9.0+cdh5.15.1+8420 | Tarball | Release notes | Changes |
Apache Impala | impala-2.12.0+cdh5.15.1+0 | (none) | Release notes | Changes |
Kite SDK | kite-1.0.0+cdh5.15.1+147 | Tarball | Release notes | Changes |
Apache Kudu | kudu-1.7.0+cdh5.15.1+0 | (none) | Release notes | Changes |
Llama | llama-1.0.0+cdh5.15.1+0 | Tarball | Release notes | Changes |
Apache Mahout | mahout-0.9+cdh5.15.1+36 | Tarball | Release notes | Changes |
Apache Oozie | oozie-4.1.0+cdh5.15.1+492 | Tarball | Release notes | Changes |
Apache Parquet | parquet-1.5.0+cdh5.15.1+197 | Tarball | Release notes | Changes |
Parquet-format | parquet-format-2.1.0+cdh5.15.1+20 | Tarball | Release notes | Changes |
Apache Pig | pig-0.12.0+cdh5.15.1+114 | Tarball | Release notes | Changes |
Cloudera Search | search-1.0.0+cdh5.15.1+0 | Tarball | Release notes | Changes |
Apache Sentry | sentry-1.5.1+cdh5.15.1+458 | Tarball | Release notes | Changes |
Apache Solr | solr-4.10.3+cdh5.15.1+529 | Tarball | Release notes | Changes |
Apache Spark | spark-1.6.0+cdh5.15.1+569 | Tarball | Release notes | Changes |
Apache Sqoop | sqoop-1.4.6+cdh5.15.1+136 | Tarball | Release notes | Changes |
Apache Sqoop2 | sqoop2-1.99.5+cdh5.15.1+49 | Tarball | Release notes | Changes |
Apache Whirr | whirr-0.9.0+cdh5.15.1+25 | Tarball | Release notes | Changes |
Apache ZooKeeper | zookeeper-3.4.5+cdh5.15.1+149 | Tarball | Release notes | Changes |
這個圖很容易看出即使是 5.x 的最新版本使用的 spark 的版本是 1.6.0,這個版本遠遠滯后了目前的社區 spark 發布的版本。如果要使用更新版本可能需要自己自行安裝。
我們從 0 搭建當然願意使用更新的穩定版本,所以采用 6.0.1 下面是 6.0.1 的一個軟件包支持情況:
Component | Component Version | Changes Information |
---|---|---|
Apache Avro | 1.8.2 | Changes |
Apache Flume | 1.8.0 | Changes |
Apache Hadoop | 3.0.0 | Changes |
Apache HBase | 2.0.0 | Changes |
HBase Indexer | 1.5 | Changes |
Apache Hive | 2.1.1 | Changes |
Hue | 4.2.0 | Changes |
Apache Impala | 3.0.0 | Changes |
Apache Kafka | 1.0.1 | Changes |
Kite SDK | 1.0.0 | |
Apache Kudu | 1.6.0 | Changes |
Apache Solr | 7.0.0 | Changes |
Apache Oozie | 5.0.0 | Changes |
Apache Parquet | 1.9.0 | Changes |
Parquet-format | 2.3.1 | Changes |
Apache Pig | 0.17.0 | Changes |
Apache Sentry | 2.0.0 | Changes |
Apache Spark | 2.2.0 | Changes |
Apache Sqoop | 1.4.7 | Changes |
Apache ZooKeeper | 3.4.5 | Changes |
可以很容易看到兩個關鍵地方的更新,一個是從 6.0.x 版本開始之后, hadoop 使用了 3.0.x 版本了。另外一個關鍵組件 spark 也從之前的 1.6.0 被升級到了 2.2.0。
包括 hadoop 版本和 spark 版本的變動,都可以前往官方網站獲得更多的信息。
部署之前除了參看 before install 之外 ,可以仔細閱讀一下 「Cloudera Enterprise Reference Architecture for Bare Metal Deployments」 這個文檔。他會從物理機器配置,os 需求等部署相關的硬件問題,軟件問題,操作系統問題,以及你想要的集群大小給出一些合理建議。
1. 比如推薦你使用 dns 而不要使用 hosts 文件來管理集群。
2. 比如推薦你關閉 iptables 來避免一些不必要的麻煩。
3. 比如推薦你開啟 ntp 時間服務器,來同步 master 與各 node 之間的時間。
4. 比如給你硬盤划分資源提出一些合理建議
等等等.參看這個手冊,尋找一些我們關心的問題變得很有必要。
關於大禮包吃資源的情況,另外一個文檔列出了更詳細的信息:
我們關心的 CM(cloudera manager) 吃資源的情況
Cloudera Manager Server Storage Requirements
Component Storage Notes Partition hosting /usr 1 GB Cloudera Manager Database 5 GB If the Cloudera Manager Database shares a host with the Service Monitor and Host Monitor, more storage space is required to meet the requirements for those components. Host Based Cloudera Manager Server Requirements
Number of Cluster Hosts Database Host Configuration Heap Size Logical Processors Cloudera Manager Server Storage Local Directory Very small (≤10) Shared 2 GB 4 5 GB minimum Small (≤20) Shared 4 GB 6 20 GB minimum Medium (≤200) Dedicated 8 GB 6 200 GB minimum Large (≤500) Dedicated 10 GB 8 500 GB minimum Extra Large (>500) Dedicated 16 GB 16 1 TB minimum
可以看到,根據集群大小的不同有一些不同的參數推薦。文檔下面還有大禮包里面包含所有組件在什么情況部署下 大概消費的資源的參考。但是最終消耗還是要看我們自己部署的機器數目和開啟應用的數量還有我們使用的情況。這些資料可以提供一個合理的參考。
想要了解 CDH 的全局端口使用情況(包含所有的大禮包里面的服務)可以參照
https://www.cloudera.com/documentation/enterprise/6/6.0/topics/cm_ig_ports_cm.html#cm_cn_ports
想要了解 CDH hosts 以及 master 應該如何分配,可以參照
https://www.cloudera.com/documentation/enterprise/6/6.0/topics/cm_ig_host_allocations.html#host_role_assignments
如果想要了解一些自定義安裝的詳情,例如你不使用 CM 進行安裝,想要安裝一些老的組件可以參考
https://www.cloudera.com/documentation/enterprise/6/6.0/topics/cm_ig_custom_installation.html
以上就是開始集群搭建之前需要了解的一些情況,在這里做一個簡單的紀錄。
Reference:
https://www.cloudera.com/documentation/enterprise/6/6.0/topics/installation_reqts.html#pre-install Before You Install
https://techvidvan.com/tutorials/hadoop-2-x-vs-hadoop-3-x/ 20 Notable Difference Between Hadoop 2.x vs Hadoop 3.x
http://www.cloudera.com/documentation/other/reference-architecture/PDF/cloudera_ref_arch_metal.pdf
https://www.cloudera.com/documentation/enterprise/release-notes/topics/hardware_requirements_guide.html
https://www.cloudera.com/documentation/enterprise/6/6.0/topics/cm_ig_ports_cm.html#cm_cn_ports CDH 大禮包的端口使用詳情(包含了所有的服務)
https://www.cloudera.com/documentation/enterprise/6/6.0/topics/cm_ig_host_allocations.html#host_role_assignments CDH 角色分配
https://www.cloudera.com/documentation/enterprise/6/6.0/topics/cm_ig_custom_installation.html CDH 自定義安裝的一些介紹