從零開始-搭建CDH大數據集羣

簡介

       CDH是Cloudera的Hadoop發行版,徹底開源,比Apache Hadoop在兼容性,安全性,穩定性上有所加強,也是互聯網企業中較爲常見的架構。html

CDH版本:CDH 5.12.2, Parceljava

硬件籌備

1,若是是雲主機的話,看看配置就好了
2,根據最小原則,準備6臺物理主機作基礎準備,大體配置以下
PS:具體網關設備什麼的這裏就不討論了node

從零開始-搭建CDH大數據集羣

3,系統版本:Centos7.8 64bit 最小化版本python

軟件籌備

以下操做須要在全部主機運行

1.安裝基本網絡工具

yum install net-tools ntpmysql

2.安裝基本JAVA環境

Jar包名稱:jdk-8u151-linux-x64.rpm
安裝方式:rpm -ivh jdk-8u151-linux-x64.rpm
PS:版本比我大的基本都行
從零開始-搭建CDH大數據集羣linux

3.修改主機名以及host配置

根據實際狀況大體安排先有線上主機任務的分配
1,同步host配置
當前分配以下,寫入系統 /etc/hosts文件sql

172.16.3.11    master01
172.16.3.12    master02
172.16.3.101    node01
172.16.3.102    node02
172.16.3.103    node03
172.16.3.104    node04

2,更新主機名
修改主機名開機配置文件,確保重啓後hostname不變動shell

[root@localhost ~]# cat /etc/sysconfig/network
# Created by anaconda
NETWORKING=yes
HOSTNAME=master01

不重啓的狀況下直接更改數據庫

hostnamectl master01

4.修改系統參數保證集羣正常運行

Cloudera 建議將 /proc/sys/vm/swappiness 設置爲最大值 10。當前設置爲 60。
echo 10 > /proc/sys/vm/swappinesscentos

已啓用透明大頁面壓縮,可能會致使重大性能問題。請運行

echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled

以禁用此設置
而後將同一命令添加到 /etc/rc.local 等初始化腳本中,以便在系統重啓時予以設置。如下主機將受到影響:

在rc.local中新增如下選項

echo 10 >  /proc/sys/vm/swappiness
echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled

#iptables根據實際狀況選擇是否禁用

iptables -F
service ntpd restart

修改系統limit
在/etc/security/limits.conf 文件中,# End of file以前新增如下配置

*        soft    nproc  65536 
*        hard    nproc  65536 
*        soft    nofile  65536 
*        hard    nofile  65536

而後退出從新登錄便可生效

5.關閉各種防火牆

iptables -F
setenforce 0

6.時間同步

CDH對於時區和時間匹配要求比較高
使用ntpd服務來自動同步當前時區對應的時間
yum install ntp
使用tzselect來調整當前時區
從零開始-搭建CDH大數據集羣

從零開始-搭建CDH大數據集羣

最後啓動ntpd服務便可
service ntpd restart

Master節點安裝

首先確認安裝版本
首先查看版本信息,決定要按照的版本
查看版本信息
https://www.cloudera.com/documentation/enterprise/release-notes/topics/cm_vd.html#cmvd_topic_1

截止至2021-03-19信息以下

Cloudera Manager is available in the following releases:
Cloudera Manager 5.16.2 is the current release of Cloudera Manager 5.16.
Cloudera Manager 5.15.2. 5.14.4, 5.13.3, 5.12.2, 5.11.2, 5.10.2, 5.9.3, 5.8.5, 5.7.6, 5.6.1, 5.5.6, 5.4.10, 5.3.10, 5.2.7, 5.1.6, and 5.0.7 are previous stable releases of Cloudera Manager 5.14, 5.13, 5.12, 5.11, 5.10, 5.9, 5.8, 5.7, 5.6, 5.5, 5.4, 5.3, 5.2, 5.1, and 5.0 respectively.

自建yum源

安裝當前系統對應的yum源

第一種方式,讀取官方源

當前爲centos7系統,執行以下源讀取
rpm -Uvh http://archive.cloudera.com/cdh5/one-click-install/redhat/7/x86_64/cloudera-cdh-5-0.x86_64.rpm

第二種方式是搭建本地源(推薦該種方式,方便後續node安裝)

操做環境:一臺新主機:192.168.1.100,Centos7 系統便可
1,首先先拉取在線對應版本的repo文件
rpm -Uvh http://archive.cloudera.com/cdh5/one-click-install/redhat/7/x86_64/cloudera-cdh-5-0.x86_64.rpm
[root@master01 parcel-repo]# cat /etc/yum.repos.d/cloudera-manager.repo
[cloudera-manager]
name = Cloudera Manager, Version 5.12.2
baseurl = https://archive.cloudera.com/cm5/redhat/7/x86_64/cm/5.12.2/
gpgkey = https://archive.cloudera.com/redhat/cdh/RPM-GPG-KEY-cloudera
gpgcheck = 1

2,安裝本地源工具
yum install -y yum-utils createrepo httpd

3,啓動httpd
service httpd start

4,同步對應原
reposync -r cloudera-manager

5,建立對應repo路徑
mkdir -p /var/www/html/mirrors/cdh/
cp -r cloudera-manager/ /var/www/html/mirrors/cdh/
cd /var/www/html/mirrors/cdh/
createrepo .

完成以後對應的本地源就已經搭建成功了
而後修改repo文件
[root@master01 parcel-repo]# cat /etc/yum.repos.d/cloudera-manager.repo
[cloudera-manager]
name = Cloudera Manager, Version 5.12.2
baseurl = http://192.168.1.100/mirrors/cdh/cloudera-manager/
gpgkey = https://archive.cloudera.com/redhat/cdh/RPM-GPG-KEY-cloudera
gpgcheck = 1

安裝server端

yum install cloudera-manager-daemons cloudera-manager-server

安裝agent端

將/etc/yum.repos.d/cloudera-manager.repo文件同步到各個節點
在各個節點執行 yum install cloudera-manager-agent
這樣就能夠走內網本地安裝,避免install速度慢的尷尬

安裝MySQL

CDH集羣能夠被不少數據庫支持,這裏咱們選擇使用Mysql

MYSQL 5.5.6安裝

安裝MySQL
rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
提取成功以後會在/etc/yum.repo.d路徑下方生成兩個yum文件

而後開始安裝:
yum install mysql-server -y

啓動:
service mysqld restart

如今設置的帳密以下:
mysql -uroot -p111111
ps:密碼複雜點哈,別那麼簡單

執行CDH建表語句
/usr/share/cmf/schema/scm_prepare_database.sh mysql -uroot -p111111 --scm-host localhost scm scm scm_password

導入鏈接jar包
mkdir -p /usr/share/java/
cp mysql-connector-java.jar  /usr/share/java/

部署集羣前的準備工做

將須要的parcel包放到master01對應路徑下
否則須要下載,會比較慢
從零開始-搭建CDH大數據集羣

server端安裝完成以後,master01會多出一個7180端口
http://172.16.1.11:7180/
admin admin
而後以下圖一步步操做搭建集羣

打鉤贊成

從零開始-搭建CDH大數據集羣

選擇免費版

從零開始-搭建CDH大數據集羣
那個。。。免費版確定不如企業版,,你們視具體狀況而定哈

選擇parcel安裝以及對應版本

從零開始-搭建CDH大數據集羣

直接繼續

從零開始-搭建CDH大數據集羣

輸入主機對應帳號密碼

從零開始-搭建CDH大數據集羣

由於事前已經安裝過agent,因此接下來的節點部署會比較輕鬆

從零開始-搭建CDH大數據集羣
PS:圖中IP和文檔舉例狀況不一樣哈,部署中按照實際ip而定

以前已經部署過parcel包,因此這邊會比較快

從零開始-搭建CDH大數據集羣

根據實際業務狀況,這邊跟我實際需求我選擇了spark

從零開始-搭建CDH大數據集羣

根據實際狀況進行節點分佈

從零開始-搭建CDH大數據集羣
NameNode:主要是用來保存HDFS的元數據信息,好比命名空間信息,塊信息等。當它運行的時候,這些信息是存在內存中的。可是這些信息也能夠持久化到磁盤上。
Secondary NameNode:的整個目的是在HDFS中提供一個檢查點。它只是NameNode的一個助手節點,注意,這不是備份節點,是檢查節點,要特別注意!!!
Balancer:平衡節點之間的數據空間使用率
HttpFS:是cloudera公司提供的一個hadoop hdfs的一個http接口,經過WebHDFS REST API 能夠對hdfs進行讀寫等訪問
NFSGateway:HDFS的NFS網關容許客戶端掛載HDFS並經過NFS與其進行交互,就像它是本地文件系統的一部分同樣。網關支持NFSv3。
Datanode:數據存儲的節點

從零開始-搭建CDH大數據集羣
Hive Gateway:Hive默認網關,默認每一個節點都要有
Hive Metastore Server:Hive元數據的訪問入口,使用Thrift協議,提供對hive元數據的跨語言訪問。
WebHCatServer:WebHCat提供了Rest接口,使用戶可以經過安全的HTTPS協議執行行Hive DDL操做、運行Hive HQL任務、 運行MapReduce任務等。
HiveServer2:Hive庫中數據的訪問入口,一樣適用thrift 協議,提供對Hive中數據的跨語言訪問,好比 常見的python, java 等對hive數據的遠程訪問,beeline 客戶端也是經過HiveServer2方式訪問數據的
PS:相對而言,若是Hive 中存在一張表。訪問這張表的信息 經過 Metastore Server
訪問表的具體內容,經過 HiveServer2

從零開始-搭建CDH大數據集羣
Hue Server:Hue Server是創建在Django Python的Web框架上的Web應用程序
Load Balancer:hue的負載均衡

從零開始-搭建CDH大數據集羣
Service Monitor:收集有關服務的運行情況和指標信息
Activity Monitor:收集有關服務運行的活動的信息
Host Monitor:收集有關主機的運行情況和指標信息
Event Server:聚合組件的事件並將其用於警報和搜索
Alert Publisher :爲特定類型的事件生成和提供警報

從零開始-搭建CDH大數據集羣
Oozie:是一個與Hadoop技術棧的項目集成,支持多種類型的Hadoop做業(例如Java map-reduce,Streaming map-reduce,Pig,Hive,Sqoop和Distcp,Spark)以及系統特定的工做(例如Java程序和shell腳本),用於管理Apache Hadoop做業的工做流調度程序系統。

從零開始-搭建CDH大數據集羣
History Server:歷史任務記錄
Gateway:Spark的節點調度網關

從零開始-搭建CDH大數據集羣
Resource Manager:資源分配與調度
Job History:歷史任務調度記錄
Node Manager:單個節點的資源與任務管理

從零開始-搭建CDH大數據集羣
Server:至少三個節點,合理的話五個節點,主要用於配置管理,分佈式同步等

直接下一步能夠配置對應的數據庫鏈接,具體以下圖

從零開始-搭建CDH大數據集羣

從零開始-搭建CDH大數據集羣

下一步-->就會開始按照以前的部署自動安裝

從零開始-搭建CDH大數據集羣

最後,集羣搭建完畢,歡呼!!!

從零開始-搭建CDH大數據集羣

總結

       CDH提供了相對完善的組件和管理機制,但不表明着不須要維護和優化了,後續會逐漸說些優化相關的內容

相關文章
相關標籤/搜索