CDH集群安裝

查看Linux系統(tǒng):

cat /etc/redhat-release

CentOS Linux release 7.5.1804 (Core)

2.1.1. 準(zhǔn)備虛擬機(jī)(根據(jù)自己的系統(tǒng)資源分配虛擬機(jī)資源)

rpm -qa|grep vim

先安裝vim

yum -y install vim*

2.1.2. 靜態(tài)IP設(shè)置(每個節(jié)點(diǎn))****--這個已經(jīng)設(shè)置好

vim /etc/sysconfig/network-scripts/ifcfg-ens192

service network restart 重啟網(wǎng)絡(luò)生效

yum install -y net-tools ifconfig 查看設(shè)置

2.1.3. 編輯/etc/hosts文件(每個節(jié)點(diǎn))

vim /etc/hosts

新增以下內(nèi)容:

172.24.10.2 master.prd.yzf master

172.24.10.3 slave01.prd.yzf slave01

172.24.10.4 slave02.prd.yzf slave02

172.24.10.5 slave03.prd.yzf slave03

刷新: ****/etc/init.d/network restart

  • 然后修改各個節(jié)點(diǎn)hostname,master: hostnamectl set-hostname master.prd.yzf (其他節(jié)點(diǎn)參考該命令)

2.1.4. 關(guān)閉防火墻、禁止防火墻開機(jī)自啟(每個節(jié)點(diǎn))

  1. systemctl stop firewalld 關(guān)閉防火墻

  2. systemctl disable firewalld 禁止防火墻開機(jī)自啟

查看防火墻狀態(tài)看是否關(guān)閉: firewall-cmd --state

查看防火墻自啟是否禁用: systemctl list-unit-files | grep firewall

  1.  vim /etc/selinux/config —> SELINUX=disabled (修改)
    
image.png

2.1.5. ssh無密碼登錄

  1. 172.24.10.2 master.prd.yzf 節(jié)點(diǎn)執(zhí)行 ssh-keygen -t rsa

一路回車到結(jié)束,在 /root/.ssh/ 下面會生成一個公鑰文件 id_rsa.pub

可以直接類似 ssh-copy-id -i ~/.ssh/id_rsa.pub root@172.24.10.3

2. cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 將公鑰追加到 authorized_keys

3. chmod 600 ~/.ssh/authorized_keys 修改權(quán)限

4. 將 ~/.ssh 從當(dāng)前節(jié)點(diǎn)分發(fā)到其他各個節(jié)點(diǎn)。如:scp -r ~/.ssh/ root@node1:~/.ssh/

5. ssh 各個節(jié)點(diǎn)互相登陸

無法scp情況下: 將每個節(jié)點(diǎn)的 cat ~/.ssh/id_rsa.pub 文件內(nèi)容復(fù)制到同一個文件tmp中

在每個節(jié)點(diǎn)執(zhí)行 vim ~/.ssh/authorized_keys ,然后將上面包含每個節(jié)點(diǎn)公鑰的文件粘貼到這個文件中

image.png

保存退出。

ssh root@slave01.prd.yzf

2.1.6. 配置NTP服務(wù)(所有節(jié)點(diǎn))

查看ntp服務(wù)是否啟動:systemctl status ntpd

查看ntp服務(wù)開機(jī)自啟是否啟動: systemctl list-unit-files | grep ntpd

  1. 修改時區(qū)(改為中國標(biāo)準(zhǔn)時區(qū))ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime--此操作已經(jīng)實(shí)現(xiàn),無需再執(zhí)行

  2. 安裝ntp : yum -y install ntp

  3. ntp主機(jī)配置 vim /etc/ntp.conf

  4. manager節(jié)點(diǎn)

server ntp1.aliyun.com

server ntp2.aliyun.com

server ntp3.aliyun.com

image.png

5.其余節(jié)點(diǎn):server master 或者 server master.prd.yzf

image.png
  1. 重新啟動 ntp 服務(wù):service ntpd restart
    

Centos7

開啟ntp服務(wù): systemctl start ntpd

開機(jī)自啟: systemctl enable ntpd

  1. 設(shè)置開機(jī)自啟:systemctl enable ntpd.service
    
  2. ntpdc -c loopinfo #查看與時間同步服務(wù)器的時間偏差
    
  3. ntpq -p #查看當(dāng)前同步的時間服務(wù)器
    
  4. ntpstat #查看狀態(tài)

配置成功狀態(tài)(服務(wù)開啟后前面出現(xiàn)*說明成功):

2.1.7. 修改Linux swappiness參數(shù)(所有節(jié)點(diǎn))****--此操作不一定需要

為了避免服務(wù)器使用swap功能而影響服務(wù)器性能,一般都會把vm.swappiness修改為0(cloudera建議10以下)

image.png
  • 上述方法rhel6有效,rhel7.2中:tuned服務(wù)會動態(tài)調(diào)整系統(tǒng)參數(shù)
  • 查找tuned中配置,直接修改配置
  • cd /usr/lib/tuned/
  • grep ‘vm.swappiness’ * -R 查詢出后依次修改
image.png

修改完確認(rèn):

image.png

2.1.8. 禁用透明頁(所有節(jié)點(diǎn))

cat /sys/kernel/mm/transparent_hugepage/enabled

使用命令查看時,如果輸出結(jié)果為[always]表示透明大頁啟用了。[never]表示透明大頁禁用、[madvise]表示(只在MADV_HUGEPAGE標(biāo)志的VMA中使用THP)

臨時解決辦法如下:

echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled
永久生效 在/etc/rc.d/rc.local 添加上面命令

vim /etc/rc.d/rc.local

image.png

保存退出。

給與可執(zhí)行權(quán)限:chmod +x /etc/rc.d/rc.local

2.1.9. JDK安裝(所有節(jié)點(diǎn))****--機(jī)器已經(jīng)預(yù)裝了,無需再安裝

注意需要添加環(huán)境變量,/etc/profile好像沒有添加

  • rpm -qa | grep java # 查詢已安裝的java

  • 安裝jdk:

  • 上傳 jdk-8u251-linux-x64.tar.gz 到/usr

  • 創(chuàng)建目錄:cd /usr ; mkdir java

  • 解壓:tar zxf jdk-8u251-linux-x64.tar.gz -C ./java

  • vi /etc/profile 末尾添加

    export JAVA_HOME=/usr/java/jdk1.8.0_251

    export CLASSPATH=.:JAVA_HOME/lib:JAVA_HOME/jre/lib

    export PATH=PATH:JAVA_HOME/bin

  • source /etc/profile

  • java -version 驗(yàn)證

  • 其余機(jī)器重復(fù)操作

2.1.10. 上傳mysql的jar包并重命名 (所有節(jié)點(diǎn)

創(chuàng)建/usr/share/java目錄,將mysql-jdbc包放過去

  • mkdir -p /usr/share/java
  • 將 mysql-connector-java-5.1.34.jar 上傳到 /usr/share/java/ 目錄下
  • mysql-connector-java-5.1.34.jar 一定要命名為 mysql-connector-java.jar (可以創(chuàng)建軟連接代替重命名)

然后 scp 到 其他 機(jī)器上 ,例如: scp mysql-connector-java.jar root@slave01:$PWD

2.1.11. 為保證防火墻、虛擬機(jī)參數(shù)修改后生效,各節(jié)點(diǎn)機(jī)器需要重啟 reboot

2.1.12. Mysql安裝 (manager節(jié)點(diǎn))

  • 卸載mariadb:rpm -qa|grep mariadb
  • rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64

可以直接使用:rpm -qa | grep mariadb | xargs rpm -e --nodeps

查看Centos自帶mysql是否已經(jīng)安裝****:

yum list installed | grep mysql

查看yum庫上的mysql版本信息(CentOS系統(tǒng)需要正常連接網(wǎng)絡(luò))

yum list | grep mysql 或 sudo yum -y list mysql*

下載msql5.7 yum源

cd /usr/local/src

mkdir mysql

下載msql5.7 yum源

wget <u>https:</u><u>//dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm</u>

安裝yum源

rpm -ivh mysql57-community-release-el7-9.noarch.rpm

yum update --此步驟可省略試試

安裝mysql

yum -y install mysql-server

  1. 重啟MySQL:

systemctl restart mysqld.service

systemctl enable mysqld

  1. 查看默認(rèn)密碼

grep "password" /var/log/mysqld.log    (后面會出現(xiàn)一個mql密碼用以下面的登陸)

2020-03-03T07:46:23.905362Z 1 [Note] A temporary password is generated for root@localhost: ;=KMKf/jM0gT

mysql -uroot -p

初始密碼為 ;=KMKf/jM0gT

  1. 進(jìn)入命令行后,首先修改密碼

密碼策略問題異常信息:
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

1)set global validate_password_policy=LOW;

2)set global validate_password_length=6; 默認(rèn)是8

alter user 'root'@'localhost' identified by 'Root@123';

7.然后進(jìn)行創(chuàng)建用戶,授權(quán)等操作

grant all privileges on . to 'root'@'%' identified by 'Root@123' with grant option; -- 授權(quán)

flush privileges;

mysql查看所有用戶

select user,host from mysql.user;

mysql -uroot -pRoot@123

建庫語句:

create database scm DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

create database rman DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

create database metastore DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

create database sentry DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

create database nav DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

create database navms DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

grant all on scm.* to 'scm'@'%' identified by 'Root@123';
grant all on hive.* to 'hive'@'%' identified by 'Root@123';

grant all on amon.* to 'amon'@'%' identified by 'Root@123';

grant all on rman.* to 'rman'@'%' identified by 'Root@123';

grant all on hue.* to 'hue'@'%' identified by 'Root@123';

grant all on metastore.* to 'hive'@'%' identified by 'Root@123';

grant all on sentry.* to 'sentry'@'%' identified by 'Root@123';

grant all on nav.* to 'nav'@'%' identified by 'Root@123';

grant all on navms .* to navms @'%' identified by 'Root@123';

grant all on oozie.* to 'oozie'@'%' identified by 'Root@123';

flush privileges;

mysql -uscm -pRoot@123

2.1.13. 安裝Httpd服務(wù)(manager)

  • yum install httpd
  • service httpd start
  • systemctl enable httpd.service 設(shè)置httpd服務(wù)開機(jī)自啟

2.1.14. 防止出現(xiàn)莫名錯誤,事先安裝以下插件(所有節(jié)點(diǎn))

  • yum install cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server --skip-broken --nogpgcheck

  • 安裝上述插件時會報(bào)錯,找不到軟件包:(馬繼斌:實(shí)踐沒有執(zhí)行該命令也可)

    已加載插件:fastestmirror
    Loading mirror speeds from cached hostfile

    • base: ftp.sjtu.edu.cn
    • extras: mirrors.aliyun.com
    • updates: mirrors.ustc.edu.cn
      沒有可用軟件包 cloudera-manager-daemons。
      沒有可用軟件包 cloudera-manager-agent。
      沒有可用軟件包 cloudera-manager-server。
      錯誤:無須任何處理

2.1.15. 配置Cloudera Manager包yum源(manager節(jié)點(diǎn))

  • mkdir -p /var/www/html/cloudera-repos/cm6/
  • 將下載的cm包文件移到此目錄下: /var/www/html/cloudera-repos/cm6/
  • 包含這些文件:
image.png
  • cd /var/www/html/cloudera-repos/cm6/

創(chuàng)建倉庫: createrepo .

如無此命令: yum install createrepo 后再執(zhí)行 createrepo .

成功后會出現(xiàn):repodata文件夾

image.png

創(chuàng)建文件: vim /etc/yum.repos.d/cloudera-manager.repo

[cloudera-manager]

name=cloudera-manager

baseurl=http://master.prd.yzf/cloudera-repos/cm6/

enabled=1

gpgcheck=0

image.png

yum clean all ; yum makecache ;

瀏覽器訪問:<u>http://172.24.10.2/cloudera-repos/cm6/</u>

看到下面頁面說明yum源制作成功

image.png

2.1.16.導(dǎo)入GPG key(如果沒有這步操作,很可能cloudera服務(wù)安裝失敗)manager節(jié)點(diǎn)

rpm --import <u>https://archive.cloudera.com/cm6/6.</u><u>3</u><u>.1/redhat7/yum/RPM-GPG-KEY-cloudera</u>

<u>避免不可知問題,建議多重復(fù)幾遍。</u>

(實(shí)踐不導(dǎo)入也可以)

2.1.17. 安裝 Cloudera Manager(manager節(jié)點(diǎn))

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

安裝完CM后/opt/ 下會出現(xiàn)cloudera目錄:

將下載的cdh的parcel包上傳到 /opt/parcels/下

包含:

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

將parcel包移動到指定位置

mv /opt/parcels/* /opt/cloudera/parcel-repo/

image.png

在/opt/cloudera/parcel-repo執(zhí)行以下命令:

mv 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.sha

初始化數(shù)據(jù)庫:

/opt/cloudera/cm/schema/scm_prepare_database.sh mysql scm scm Root@123

image.png

成功后檢查元數(shù)據(jù)庫的字符集:

select table_collation from information_schema.tables where table_name in ('COLUMNS_V2','TABLE_PARAMS','PARTITION_KEYS');

若現(xiàn)在查不到這三張表'COLUMNS_V2','TABLE_PARAMS','PARTITION_KEYS',等安裝完CDH后,再重復(fù)執(zhí)行此步驟

如不是utf-8,執(zhí)行以下語句修改

alter table metastore.COLUMNS_V2 modify column comment varchar(256) character set utf8;

alter table metastore.TABLE_PARAMS modify column param_value varchar(4000) character set utf8;

alter table metastore.PARTITION_KEYS modify column pkey_comment varchar(4000) character set utf8;

打開server服務(wù):

service cloudera-scm-server start

靜候幾分鐘,打開http://172.24.10.2:7180

初始密碼:admin/admin

打開web頁面安裝cdh:

頁面操作步驟參考:https://blog.csdn.net/u011026329/article/details/104442051

此處從搜索主機(jī)開始:

1、填寫主機(jī)名自動點(diǎn)搜索

image.png

2、指定存儲庫

選擇自定義存儲庫: 路徑為上面配置的本地yum源地址 http://172.24.10.2/cloudera-repos/cm6/

image.png

3、如果我們之前的【配置本地Parcel存儲庫】步驟操作無誤的話,這里會自動選擇【使用Parcel】,并加載出CDH版本,確認(rèn)無誤后點(diǎn)擊【繼續(xù)】:

image.png

4、這一步驟我就不再勾選安裝JDK了,因?yàn)槲以诃h(huán)境準(zhǔn)備部分已經(jīng)安裝過了。取消勾選,然后繼續(xù):

image.png

5、用于配置集群主機(jī)之間的SSH登錄,填寫root用戶的密碼,根據(jù)集群配置填寫合適的【同時安裝數(shù)量】值即可:

image.png
  • 若不知道主機(jī)訪問密碼,可以選擇 所有主機(jī)接受相同私鑰 方式,輸入master的私鑰(文件路徑: /root/.ssh/id_rsa),短語密碼可以不寫。需要注意的是,需要把master節(jié)點(diǎn)的公鑰(/root/.ssh/id_rsa.pub)添加到自己的 /root/.ssh/authorized_keys 文件中,保證使用自己的私鑰能登錄自己(目的就是用master的私鑰能ssh登錄所有機(jī)器,包括master自己)。

6、一路繼續(xù)

image.png

7、安裝Parcels

這一步同樣是自動安裝,分配步驟的速度主要取決于網(wǎng)絡(luò)環(huán)境,耐心等待即可:

image.png

8、****主機(jī)檢查

等待檢查完成即可:

image.png

9、點(diǎn)顯示驗(yàn)證結(jié)果

image.png

修改配置:

臨時修改:

sysctl vm.swappiness=10 ; cat /proc/sys/vm/swappiness

這里我們的修改已經(jīng)生效,但是如果我們重啟了系統(tǒng),又會變成30.

永久修改:

在/etc/sysctl.conf 文件里添加如下參數(shù): vm.swappiness=10

或者: echo 'vm.swappiness=10'>> /etc/sysctl.conf

10、重新運(yùn)行

image.png

結(jié)果如上沒問題

11、繼續(xù)

安裝CDH集群: 此處建議選擇基礎(chǔ)服務(wù)創(chuàng)建集群,創(chuàng)建后再逐個添加其他服務(wù)

如: 此處選擇 zookeeper、 hdfs 、 yarn、hive、hue、oozie

image.png

12、也可以自定選擇服務(wù)

image.png

選擇數(shù)據(jù)庫:

數(shù)據(jù)庫設(shè)置.jpg

安裝CDH等hive組件后,修改hive元數(shù)據(jù)的編碼集,解決字段注釋中文亂碼問題。

select table_collation from information_schema.tables where table_name in ('COLUMNS_V2','TABLE_PARAMS','PARTITION_KEYS');

若現(xiàn)在查不到這三張表'COLUMNS_V2','TABLE_PARAMS','PARTITION_KEYS',等安裝完CDH后,再重復(fù)執(zhí)行此步驟

如不是utf-8,執(zhí)行以下語句修改

alter table metastore.COLUMNS_V2 modify column comment varchar(256) character set utf8;

alter table metastore.TABLE_PARAMS modify column param_value varchar(4000) character set utf8;

alter table metastore.PARTITION_KEYS modify column pkey_comment varchar(4000) character set utf8;

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容