一狰贯、Hadoop大數(shù)據(jù)平臺
1精耐、Hadoop 發(fā)行版
(1) 完全開源的原生的Apache Hadoop
(2) Cloudera與Hortonworks公司的CDH和HDP:在Cloudera和Hortonworks合并后暮顺,Cloudera公司推出了新一代的數(shù)據(jù)平臺產(chǎn)品CDP Data Center(以下簡稱為CDP),從2021年1月31日開始肌稻,所有Cloudera軟件都需要有效的訂閱掘殴,并且只能通過付費(fèi)墻進(jìn)行訪問。也就是說CDH各版本都不能免費(fèi)獲取了车摄。
(3) Ambari + HDP (在Cloudera和Hortonworks合并后寺谤,HDP也不能免費(fèi)使用了)
(4) MapR公司的MapR(已經(jīng)被HPE收購)
(5) AWS亞馬遜的EMR
(6) 國內(nèi)華為的fusioninsight
(7) 國內(nèi)星環(huán)科技的TDH
CDH (全稱:Cloudera’s Distribution Including Apache Hadoop)是由 Cloudera 公司發(fā)行的hadoop 軟件包,由Cloudera Manager安裝監(jiān)控管理工具和CDH大數(shù)據(jù)軟件包(里面包含了hadoop吮播、hdfs变屁、yarn、hive意狠、spark等許多大數(shù)據(jù)套件)組成粟关。
2、CM和CDH簡介
在安裝之前先要梳理一下 CM(Cloudera Manager)和 CDH(Cloudera Distribution Hadoop)的區(qū)別:
CDH CDH 是由 Cloudera 公司發(fā)行的一套 hadoop 軟件包环戈,里面包含了hadoop闷板、hdfs获列、yarn、hive蛔垢、spark等等一系列穩(wěn)定的、版本兼容的大數(shù)據(jù)套件迫悠。
CM CM 也是 Cloudera 公司開發(fā)的一套用于管理和監(jiān)控 CDH 集群的軟件鹏漆,通過 CM 提供的 web 管理頁面操作就可以輕松的管理和監(jiān)控CDH 集群環(huán)境。
3创泄、使用CM+CDH的原因
當(dāng)集群數(shù)量有上百臺或上千臺機(jī)器時使用CDH等工具可以快速的安裝和擴(kuò)容
CDH曾經(jīng)開源免費(fèi)艺玲,從網(wǎng)上可以找到免費(fèi)的軟件安裝包
二、安裝準(zhǔn)備
1鞠抑、服務(wù)器準(zhǔn)備
準(zhǔn)備好 N 臺服務(wù)器饭聚,我這里用了 3 臺機(jī)器,分別如下:
ip | 名稱 | 內(nèi)存大小 |
---|---|---|
172.16.40.170 | cdh1 | 16G |
172.16.40.171 | cdh2 | 8G |
172.16.40.172 | cdh3 | 8G |
2搁拙、 修改IP和主機(jī)名
選擇centos7來進(jìn)行集群部署秒梳,克隆三臺虛擬機(jī) 全部是在root 權(quán)限下執(zhí)行
1 修改主機(jī)名
hostnamectl set-hostname cdh1
2 reboot 重啟虛擬機(jī)
3 重新登錄root 用戶
查看IP地址和主機(jī)名是否更改成功
4 其他兩臺主機(jī)重復(fù)上面操作。
3箕速、搭建CM本地YUM倉庫
這里(在master.bigdata主機(jī)上)搭建本地YUM源作為離線安裝CM的倉庫酪碘,讓其他主機(jī)也使用該源下載CM相關(guān)的軟件:
(1) 安裝httpd和createrepo
systemctl stop firewalld
yum install -y httpd createrepo
systemctl start httpd && systemctl enable httpd
(2) 將從網(wǎng)盤上下載的軟件包上傳得到/var/www/html/目錄內(nèi):
[root@localhost html]# pwd
/var/www/html
[root@localhost html]# tree .
.
└── CM6.3.1
│ ├── allkeys.asc
│ ├── cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm
│ ├── cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
│ ├── cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm
│ ├── cloudera-manager-server-db-2-6.3.1-1466458.el7.x86_64.rpm
│ ├── enterprise-debuginfo-6.3.1-1466458.el7.x86_64.rpm
│ └── oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm
├── CDH6.3.2
│ ├── CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel
│ ├── CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha1
│ └── CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha256
1 directory, 5 files
[root@localhost html]#
(3) 配置CM本地Yum源
createrepo /var/www/html/CM6.3.1/
createrepo /var/www/html/CDH6.3.2/
然后,可通過瀏覽器訪問:http://192.168.122.101/CM6.3.1/和http://192.168.122.101/CDH6.3.2/
環(huán)境準(zhǔn)備
[root@cdh1 ~]# vim /etc/sysconfig/network
# Created by anaconda
NETWORKING=yes
HOSTNAME=server4
設(shè)置/etc/hosts
[root@cdh1 ~]# vi /etc/hosts
#127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
#::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
172.16.40.170 cdh1
172.16.40.171 cdh2
172.16.40.172 cdh3
免密登陸
2執(zhí)行 ssh-keygen -t rsa 直接回車回車就OK
3盐茎,每臺服務(wù)器都要操作三遍
cd .ssh
ssh-copy-id 172.16.40.170
ssh-copy-id 172.16.40.171
ssh-copy-id 172.16.40.172
執(zhí)行上面兩行 就會將你生成的秘鑰(公鑰和私鑰) 同時拷貝到你想要聯(lián)通的其他的服務(wù)器上包括自己的服務(wù)器兴垦,并自動放入該目錄下。
2字柠、軟件包準(zhǔn)備
(1) 下載如下軟件安裝包:
JDK1.8安裝包
MySQL5.7安裝包
CM6.3.1安裝包
CDH6.3.2軟件包
(2) 下載地址:
百度云盤鏈接:https://pan.baidu.com/s/1OKV2Y-YtB7Kqa51SqZGn8w 提取碼:z1an
騰訊云盤鏈接:https://share.weiyun.com/MxXFgL8U
另外探越,發(fā)現(xiàn)鏡像站 http://ro-bucharest-repo.bigstepcloud.com/cloudera-repos/ 提供了一些CDH軟件包,但缺少allkeys.asc文件窑业。
(3) 下載的軟件包內(nèi)容如下:
[root@localhost cdh6.3.2]# tree .
.
├── CDH6.3.2
│ ├── CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel
│ ├── CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha1
│ ├── CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha256
│ └── manifest.json
├── CM6.3.1
│ ├── allkeys.asc
│ ├── cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm
│ ├── cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
│ ├── cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm
│ ├── cloudera-manager-server-db-2-6.3.1-1466458.el7.x86_64.rpm
│ ├── enterprise-debuginfo-6.3.1-1466458.el7.x86_64.rpm
│ └── oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm
├── JDK1.8
│ └── jdk-8u261-linux-x64.rpm
└── MySQL5.7
├── mysql-community-client-5.7.16-1.el7.x86_64.rpm
├── mysql-community-common-5.7.16-1.el7.x86_64.rpm
├── mysql-community-libs-5.7.16-1.el7.x86_64.rpm
├── mysql-community-libs-compat-5.7.16-1.el7.x86_64.rpm
└── mysql-community-server-5.7.16-1.el7.x86_64.rpm
3钦幔、搭建CM本地YUM倉庫
這里(在master.bigdata主機(jī)上)搭建本地YUM源作為離線安裝CM的倉庫,讓其他主機(jī)也使用該源下載CM相關(guān)的軟件:
(1) 安裝httpd和createrepo
···
systemctl stop firewalld
yum install -y httpd createrepo
systemctl start httpd && systemctl enable httpd
···
(2) 將從網(wǎng)盤上下載的軟件包上傳得到/var/www/html/目錄內(nèi):
[root@localhost html]# pwd
/var/www/html
[root@localhost html]# tree .
.
└── CM6.3.1
│ ├── allkeys.asc
│ ├── cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm
│ ├── cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
│ ├── cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm
│ ├── cloudera-manager-server-db-2-6.3.1-1466458.el7.x86_64.rpm
│ ├── enterprise-debuginfo-6.3.1-1466458.el7.x86_64.rpm
│ └── oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm
├── CDH6.3.2
│ ├── CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel
│ ├── CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha1
│ └── CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha256
1 directory, 5 files
[root@localhost html]#
(3) 配置CM本地Yum源
createrepo /var/www/html/CM6.3.1/
createrepo /var/www/html/CDH6.3.2/
然后数冬,可通過瀏覽器訪問:http://192.168.122.101/CM6.3.1/和http://192.168.122.101/CDH6.3.2/
三节槐、在所有主機(jī)上操作
由于cloudera-manager采用Server-Agent的結(jié)構(gòu),管理人員點(diǎn)擊web頁面的啟動拐纱,重啟铜异,停止按鈕,Server端會將指令發(fā)送到Agent端秸架,Agent收到命令后啟動相應(yīng)的進(jìn)程揍庄,這樣根本就不需要ssh登錄服務(wù)器執(zhí)行命令了。
2东抹、關(guān)閉防火墻和 SELinux
關(guān)閉所有機(jī)器的防火墻和 SELinux蚂子,執(zhí)行以下命令:
systemctl stop firewalld && systemctl disable firewalld
sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config && setenforce 0
3沃测、時間同步配置
配置時間同步缀蹄,執(zhí)行以下命令:
···
yum install -y ntpdate
(echo "*/5 * * * * /usr/sbin/ntpdate -u cn.pool.ntp.org") | crontab
systemctl restart crond
···
注:這里也可配置為局域網(wǎng)內(nèi)的某個時間服務(wù)器宴胧。
4、安裝 JDK環(huán)境
CDH6.0以后JDK版本最低為1.8芬失。
(1) 卸載自帶的openjdk
rpm -qa | grep openjdk |xargs -I {} rpm -e --nodeps {}
(2) 安裝oracle-jdk1.8
將jdk安裝RPM包上傳到服務(wù)器上别渔,執(zhí)行如下命令安裝:
rpm -ivh jdk-8u261-linux-x64.rpm
5附迷、配置本地的yum倉庫
cat > /etc/yum.repos.d/manager-repos.repo <<EOF
[manager-repos]
name = Cloudera Manager, Version 6.3.1
baseurl = http://172.16.40.170/CM6.3.1/
enabled = 1
gpgcheck = 0
EOF
然后執(zhí)行 yum repolist 命令檢查本地倉庫是否添加成功。
6哎媚、[優(yōu)化項(xiàng)]禁止透明大頁
(1) 所有主機(jī)輸入以下命令:
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag
(2) 所有主機(jī)的/etc/rc.local中也需要加入這兩條命令喇伯,配置為開機(jī)啟動時自動配置。
vim /etc/rc.local
echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled
7拨与、[優(yōu)化項(xiàng)]減少集群使用交換內(nèi)存
運(yùn)行以下三條命令:
sysctl -w vm.swappiness=0
echo 'vm.swappiness=0' >> /etc/sysctl.conf
sysctl -p
四稻据、在Master主機(jī)上操作
1、安裝MySQL數(shù)據(jù)庫
注意:MySQL數(shù)據(jù)庫也可以使用或安裝在其他服務(wù)器上买喧。
(1) 將MySQL的RPM包上傳到Master服務(wù)器上:
[root@localhost MySQL5.7]# pwd
/root/MySQL5.7
[root@localhost MySQL5.7]# tree .
.
├── mysql-community-client-5.7.16-1.el7.x86_64.rpm
├── mysql-community-common-5.7.16-1.el7.x86_64.rpm
├── mysql-community-libs-5.7.16-1.el7.x86_64.rpm
├── mysql-community-libs-compat-5.7.16-1.el7.x86_64.rpm
└── mysql-community-server-5.7.16-1.el7.x86_64.rpm
0 directories, 5 files
然后執(zhí)行如下命令安裝MySQL5.7數(shù)據(jù)庫:
yum install -y ./.rpm
[root@localhost MySQL5.7]# yum install -y ./.rpm
啟動MySQL數(shù)據(jù)庫:
systemctl start mysqld && systemctl enable mysqld
獲取mysql初始化密碼:
grep 'temporary password' /var/log/mysqld.log
YfB2&a(wqCwP
修改Mysql密碼捻悯,用命令mysql -uroot -p輸入上面獲取到的密碼,修改密碼:
mysql> alter user root@localhost identified by '1qazXSW@)';
mysql> flush privileges;
mysql> exit
(3) 下載mysql客戶端的jdbc驅(qū)動(其實(shí)最好所有主機(jī)節(jié)點(diǎn)都需要操作下)
yum install -y wget
mkdir -p /usr/share/java/
wget -P /usr/share/java/ https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.47/mysql-connector-java-5.1.47.jar
mv /usr/share/java/mysql-connector-java-5.1.47.jar /usr/share/java/mysql-connector-java.jar
(4) 創(chuàng)建數(shù)據(jù)庫
使用命令mysql -u root -p登陸MySQL(上面配置的密碼為: 1qazXSW@)后岗喉,執(zhí)行如下命令創(chuàng)建數(shù)據(jù)庫:
CREATE DATABASE scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON scm.* TO 'scm'@'%' IDENTIFIED BY '1qazXSW@';
CREATE DATABASE amon DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON amon.* TO 'amon'@'%' IDENTIFIED BY '1qazXSW@';
CREATE DATABASE rman DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON rman.* TO 'rman'@'%' IDENTIFIED BY '1qazXSW@';
CREATE DATABASE hue DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON hue.* TO 'hue'@'%' IDENTIFIED BY '1qazXSW@';
CREATE DATABASE metastore DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON metastore.* TO 'hive'@'%' IDENTIFIED BY '1qazXSW@';
CREATE DATABASE sentry DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON sentry.* TO 'sentry'@'%' IDENTIFIED BY '1qazXSW@';
CREATE DATABASE nav DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON nav.* TO 'nav'@'%' IDENTIFIED BY '1qazXSW@';
CREATE DATABASE navms DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON navms.* TO 'navms'@'%' IDENTIFIED BY '1qazXSW@';
CREATE DATABASE oozie DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON oozie.* TO 'oozie'@'%' IDENTIFIED BY '1qazXSW@';
使用SHOW DATABASES;命令檢查是否都創(chuàng)建成功秋度。
2、安裝CM
cdh1安裝下面三個钱床。
yum install -y cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server
cdh2荚斯、cdh3安裝下面兩個。
yum install -y cloudera-manager-daemons cloudera-manager-agent
3查牌、配置CM數(shù)據(jù)庫
官方提供了一個腳本用于初始化 CM 數(shù)據(jù)(配置/etc/cloudera-scm-server/db.properties)事期,執(zhí)行如下命令:
/opt/cloudera/cm/schema/scm_prepare_database.sh mysql scm -h localhost scm 1qazXSW@
最后提示:"All done, your SCM database is configured correctly!"代表配置成功,忽略可能的WARN信息纸颜。
4兽泣、啟動 CM 服務(wù),主節(jié)點(diǎn)cdh1啟動server
systemctl start cloudera-scm-server
觀察日志輸出胁孙,當(dāng)看到Started Jetty server.時表示服務(wù)已經(jīng)啟動成功了(大約需要等待3~5分鐘左右)唠倦。
tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log
所有節(jié)點(diǎn)啟動agent
systemctl start cloudera-scm-agent
5、訪問 CM 控制臺
瀏覽器訪問http://172.16.40.170:7180/cmf/login涮较,賬號密碼統(tǒng)一為admin稠鼻。
五、在WEB界面上操作
配置parcel自定義庫狂票,點(diǎn)擊更多配置候齿,在第一行輸入 http://master.bigdata/CDH6.3.2/
參考鏈接:https://blog.csdn.net/inrgihc/article/details/120246114