您好,登錄后才能下訂單哦!
CDH相關介紹:
參考鏈接:
https://blog.csdn.net/u013061459/article/details/73368929
https://www.cnblogs.com/raphael5200/p/5293960.html
為了構建一個以數據為驅動的業務場景,我們需要一個強大的管理工具去統一并安全地管理我們的業務數據,Cloudera做為一個強大的數據中心管理工具為此孕育而生。Cloudera不光提供了自己衍化重新封裝的市場領先并100%開源的商業化Apache Hadoop發行版本(CDH, Cloudera’s Distribution including Apache Hadoop)和相關的組件,其中包括了各類安全高效的企業級數據管理工具,如Hive, HBase,Oozie, Zookeeper等。 Hadoop是Apache(開源web服務器軟件基金會)下的大數據開源項目,許多商業公司會在Apache Hadoop的基礎上重新開發成商業版本,Cloudera公司就是其中之一,最近在維護的兩個Hadoop版本分別是CDH4和CDH5。Hadoop使用分布式的思想存儲,計算和分析數據,它允許多個數據分析計算任務同時作用在同一個數據塊上并在集群上進行分布式計算,以此來進行超大規模數據的處理。Hadoop是大數據處理框架的鼻祖之一,同時Cloudera公司的Hadoop版本CDH也是目前使用最廣泛的Hadoop商業版本。從廣泛意義來說,CDH是Cloudera發布的一個自己封裝的商業版軟件發行包,里面不僅包含了Cloudera的商業版Hadoop,同時CDH中也包含了各類常用的開源數據處理存儲框架,如Spark,Hive,HBase等。
Cloudera作為一個強大的商業版數據中心管理工具,提供了各種能夠快速穩定運行的數據計算框架,如Apache Spark;使用Apache Impala做為對HDFS,HBase的高性能SQL查詢引擎;也帶了Hive數據倉庫工具幫助用戶分析數據; 用戶也能用Cloudera管理安裝HBase分布式列式NoSQL數據庫;Cloudera還包含了原生的Hadoop搜索引擎以及Cloudera Navigator Optimizer去對Hadoop上的計算任務進行一個可視化的協調優化,提高運行效率;同時Cloudera中提供的各種組件能讓用戶在一個可視化的UI界面中方便地管理,配置和監控Hadoop以及其它所有相關組件,并有一定的容錯容災處理;Cloudera作為一個廣泛使用的商業版數據中心管理工具更是對數據的安全決不妥協!
CDH能解決哪些問題?
? 1000臺服務器的集群,最少要花費多長時間來搭建好Hadoop集群,包括Hive、Hbase、Flume、Kafka、Spark等等
? 只給你一天時間,完成以上工作?
? 對于以上集群進行hadoop版本升級,你會選擇什么升級方案,最少要花費多長時間?
? 新版本的Hadoop,與Hive、Hbase、Flume、Kafka、Spark等等兼容?
CDH安裝環境:
https://www.cloudera.com/documentation/enterprise/release-notes/topics/rn_consolidated_pcm.html#concept_ap1_q2g_4cb
CDH安裝
CDH安裝分兩部分,Cloudera Manager(CM)安裝和CDH的安裝。CM包含server端和agent端,通常先安裝CM,在通過WEB UI的管理控制臺安裝部署CDH。
對于CDH的安裝官方提供了三種安裝方式:
1、在線安裝 :https://www.cloudera.com/documentation/enterprise/latest/topics/cm_ig_non_production.html
2、rpm/yum 安裝 : https://www.cloudera.com/documentation/enterprise/latest/topics/cm_ig_install_path_b.html
3、tar包安裝:https://www.cloudera.com/documentation/enterprise/latest/topics/cm_ig_install_path_c.html
CDH離線安裝過程:這里以tar包的方式安裝
環境:
系統:CentOS7.2
JDK版本:1.8
CDH版本:5.14.0
角色:
hadoop01:主節點,需要安裝CM-Server,MySQL
hadoop02:客戶端,安裝CM-Client
hadoop03:客戶端,安裝CM-Client
安裝步驟:
1、下載CM安裝包和CDH安裝包:
http://archive.cloudera.com/cm5/cm/5/
下載:
cloudera-manager-centos7-cm5.14.0_x86_64.tar.gz
https://archive.cloudera.com/cdh6/parcels/5.10.0/
下載:
CDH-5.14.2-1.cdh6.14.2.p0.3-el7.parcel
CDH-5.14.2-1.cdh6.14.2.p0.3-el7.parcel.sha1
manifest.json
2、所有節點安裝JDK1.8,并設置JAVA_HOME 環境變量,過程省略
3、所有節點時間同步
4、所有節點修改主機名,例如hadoop01 這樣修改
vim /etc/sysconfig/network NETWORKING=yes HOSTNAME=hadoop01
5、所有修改/etc/hosts文件,并關閉防火墻和SELinux
192.168.131.165 hadoop01 192.168.131.166 hadoop02 192.168.131.168 hadoop03
6、創建hadoop用戶,生成秘鑰對,使用所有節點之間能夠面密碼登錄
生產環境有時候不允許root賬戶登錄,所以最好是創建一個專門的賬戶用來節點直接互相連接,并且該用戶要有sudo權限
adduser hadoop passwd hadoop
ssh-copy-id -i .ssh/id_rsa.pub HADOOP01 ssh-copy-id -i .ssh/id_rsa.pub HADOOP02 ssh-copy-id -i .ssh/id_rsa.pub HADOOP03
執行上面命令后,每個節點的hadoop用戶下會創建.ssh目錄,并生成authorized_keys文件
#將秘鑰對拷貝到從節點
scp id_rsa id_rsa.pub HADOOP02:~/.ssh scp id_rsa id_rsa.pub HADOOP03:~/.ssh
保證每個節點的hadoop家目錄下的.ssh目錄下,都有以下幾個文件
# ll /home/hadoop/.ssh/ 總用量 16 -rw------- 1 hadoop hadoop 397 5月 18 10:57 authorized_keys -rw------- 1 hadoop hadoop 1675 5月 18 10:53 id_rsa -rw-r--r-- 1 hadoop hadoop 397 5月 18 10:53 id_rsa.pub -rw-r--r-- 1 hadoop hadoop 1206 5月 18 10:59 known_hosts
#hadoop用戶添加sudo權限
邊界/etc/sudoers
追加一行
hadoop ALL=(root)NOPASSWD:ALL
#hadoop用戶下,執行sudo su - root切換到root用戶,能過沒有提示輸入密碼則表示正常
7、所有節點將cloudera-manager的tar包解壓縮到/opt目錄
tar zxf cloudera-manager-el6-cm5.10.0_x86_64.tar.gz -C /opt
8、所有節點創建用戶
sudo useradd --system --home=/opt/cm-5.14.0/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm ##下面這一步網上看到的,但不清楚有什么用,好像是使用單用戶模式用的到,我在后面的CM-Server控制臺中沒有啟用單用戶模式 echo USER=\"cloudera-scm\" >> /etc/default/cloudera-scm-agent
9、所有節點修改cloudera-scm-agent 配置,將server_host設置為主節點的主機名
cd /opt/cloudera-manager/cm-5.14.0/etc/cloudera-scm-agent vim config.ini
設置server_host=hadoop01 (注意,所有節點都要改)
所有節點設置/proc/sys/vm/swappiness
設置為最大值 0。當前設置為 60,
echo 0 > /proc/sys/vm/swappiness
上面只是臨時的修改,重啟后失效,下面是永久修改
編輯/etc/sysctl.conf文件
設置vm.swappiness=0,并重啟服務器
所有主機禁用透明壓縮,參考
https://www.linuxidc.com/Linux/2016-11/137515.htm
echo never > /sys/kernel/mm/transparent_hugepage/defrag echo never > /sys/kernel/mm/transparent_hugepage/enabled
上面只是臨時修改,如果要永久修改,則編輯/etc/rc.d/rc.local,追加以下內容
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then echo never > /sys/kernel/mm/transparent_hugepage/enabled fi if test -f /sys/kernel/mm/transparent_hugepage/defrag; then echo never > /sys/kernel/mm/transparent_hugepage/defrag fi
保存退出,然后賦予rc.local文件執行權限:
[root@localhost ~]# chmod +x /etc/rc.d/rc.local
最后重啟系統,以后再檢查THP應該就是被禁用了
10、主節點配置
a、安裝依賴包
yum -y install bind-utils chkconfig cyrus-sasl-gssapi cyrus-sasl-plain fuse fuse-libs gcc httpd yum -y install libxslt mod_ssl openssl openssl-devel perl portmap psmisc sqlite swig zlib
b、安裝mysql并啟動服務
c、設置mysql賬戶的登錄密碼
mysqladmin -u root password '123456'
##創建安裝CDH組件時需要的庫
mysql> create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci; Query OK, 1 row affected (0.00 sec) mysql> create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci; Query OK, 1 row affected (0.00 sec) mysql> create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci; Query OK, 1 row affected (0.00 sec) mysql> create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci; Query OK, 1 row affected (0.00 sec) mysql> create database reports DEFAULT CHARSET utf8 COLLATE utf8_general_ci; Query OK, 1 row affected (0.00 sec)
#設置root授權訪問以上所有的數據庫:
#授權root用戶在主節點擁有所有數據庫的訪問權限
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option; flush privileges;
d、下載 mysql 驅動包
cd /opt/cloudera-manager/cm-5.10.0/share/cmf/lib wget http://maven.aliyun.com/nexus/service/local/repositories/hongkong-nexus/content/Mysql/mysql-connector-java/5.1.38/mysql-connector-java-5.1.38.jar
e、創建庫
為CM創建數據庫
格式:
scm_prepare_database.sh mysql cm -h <hostName> -u<username> -p<password> --scm-host <hostName> scm scm scm
對應于:數據庫類型 數據庫 服務器 用戶名 密碼 –scm-host Cloudera_Manager_Server 所在節點……
cd /opt/cm-5.14.0/share/cmf/schema ./scm_prepare_database.sh mysql cm -hlocalhost -uroot -p123456 --scm-host localhost scm scm scm
JAVA_HOME=/usr/java/jdk1.8.0_151 Verifying that we can write to /opt/cloudera-manager/cm-5.10.0/etc/cloudera-scm-server Creating SCM configuration file in /opt/cloudera-manager/cm-5.10.0/etc/cloudera-scm-server Executing: /usr/java/jdk1.8.0_151/bin/java -cp /usr/share/java/mysql-connector-java.jar:/usr/share/java/oracle-connector-java.jar:/opt/cloudera-manager/cm-5.10.0/share/cmf/schema/../lib/* com.cloudera.enterprise.dbutil.DbCommandExecutor /opt/cloudera-manager/cm-5.10.0/etc/cloudera-scm-server/db.properties com.cloudera.cmf.db. [ main] DbCommandExecutor INFO Successfully connected to database. All done, your SCM database is configured correctly!
出現上面的提示表示成功,經測試將locaohost換成hadoop01會報錯,提示沒有權限,好像用localhost也沒有什么問題。
f、主節點上創建/opt/cloudera/parcel-repo目錄
mkdir -p /opt/cloudera/parcel-repo
將下面三個文件拷貝到該目錄
CDH-5.14.2-1.cdh6.14.2.p0.3-el7.parcel
manifest.json
CDH-5.14.2-1.cdh6.14.2.p0.3-el7.parcel.sha
注意:將CDH-5.14.2-1.cdh6.14.2.p0.3-el7.parcel.sha1重命名為CDH-5.14.2-1.cdh6.14.2.p0.3-el7.parcel.sha
修改/opt/cloudera/parcel-repo 文件權限
chown cloudera-scm:cloudera-scm /opt/cloudera
g、創建日志目錄
sudo mkdir -p /var/log/cloudera-scm-headlamp sudo chown cloudera-scm:cloudera-scm /var/log/cloudera-scm-headlamp sudo mkdir -p /var/log/cloudera-scm-firehose sudo chown cloudera-scm:cloudera-scm /var/log/cloudera-scm-firehose sudo mkdir -p /var/log/cloudera-scm-alertpublisher sudo chown cloudera-scm:cloudera-scm /var/log/cloudera-scm-alertpublisher sudo mkdir -p /var/log/cloudera-scm-eventserver sudo chown cloudera-scm:cloudera-scm /var/log/cloudera-scm-eventserver sudo mkdir -p /var/lib/cloudera-scm-headlamp sudo chown cloudera-scm:cloudera-scm /var/lib/cloudera-scm-headlamp sudo mkdir -p /var/lib/cloudera-scm-firehose sudo chown cloudera-scm:cloudera-scm /var/lib/cloudera-scm-firehose sudo mkdir -p /var/lib/cloudera-scm-alertpublisher sudo chown cloudera-scm:cloudera-scm /var/lib/cloudera-scm-alertpublisher sudo mkdir -p /var/lib/cloudera-scm-eventserver sudo chown cloudera-scm:cloudera-scm /var/lib/cloudera-scm-eventserver sudo mkdir -p /var/lib/cloudera-scm-server sudo chown cloudera-scm:cloudera-scm /var/lib/cloudera-scm-server
h、在主節點上啟動CM-Manager服務和CM-Agent服務,并在所有從節點上啟動CM-Agent服務
/opt/cloudera-manager/cm-5.10.0/etc/init.d/cloudera-scm-server start /opt/cloudera-manager/cm-5.10.0/etc/init.d/cloudera-scm-agent start
11、CM控制臺配置
登錄http://hadoop01:7180
賬號密碼都是admin
配置集群的管理賬戶,這個賬戶是前面第6步創建的,要求有sudo權限
我這里集群中只安裝了HDFS和zookeeper服務,如果還需要安裝其他服務,可以在集群中添加
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。