查看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))
systemctl stop firewalld 關(guān)閉防火墻
systemctl disable firewalld 禁止防火墻開機(jī)自啟
查看防火墻狀態(tài)看是否關(guān)閉: firewall-cmd --state
查看防火墻自啟是否禁用: systemctl list-unit-files | grep firewall
vim /etc/selinux/config —> SELINUX=disabled (修改)
2.1.5. ssh無密碼登錄
- 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)公鑰的文件粘貼到這個文件中
保存退出套才。
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
修改時區(qū)(改為中國標(biāo)準(zhǔn)時區(qū))ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime--此操作已經(jīng)實現(xiàn)乎完,無需再執(zhí)行
安裝ntp : yum -y install ntp
ntp主機(jī)配置 vim /etc/ntp.conf
manager節(jié)點(diǎn)
server ntp1.aliyun.com
server ntp2.aliyun.com
server ntp3.aliyun.com
5.其余節(jié)點(diǎn):server master 或者 server master.prd.yzf
重新啟動 ntp 服務(wù):service ntpd restart
Centos7
開啟ntp服務(wù): systemctl start ntpd
開機(jī)自啟: systemctl enable ntpd
設(shè)置開機(jī)自啟:systemctl enable ntpd.service
ntpdc -c loopinfo #查看與時間同步服務(wù)器的時間偏差
ntpq -p #查看當(dāng)前同步的時間服務(wù)器
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以下)
- 上述方法rhel6有效,rhel7.2中:tuned服務(wù)會動態(tài)調(diào)整系統(tǒng)參數(shù)
- 查找tuned中配置躺屁,直接修改配置
- cd /usr/lib/tuned/
- grep ‘vm.swappiness’ * -R 查詢出后依次修改
修改完確認(rèn):
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
保存退出驯击。
給與可執(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/jre/lib
export PATH=JAVA_HOME/bin
source /etc/profile
java -version 驗證
其余機(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
- 重啟MySQL:
systemctl restart mysqld.service
systemctl enable mysqld
- 查看默認(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
- 進(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
-
安裝上述插件時會報錯,找不到軟件包:(馬繼斌:實踐沒有執(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/
- 包含這些文件:
- cd /var/www/html/cloudera-repos/cm6/
創(chuàng)建倉庫: createrepo .
如無此命令: yum install createrepo 后再執(zhí)行 createrepo .
成功后會出現(xiàn):repodata文件夾
創(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
yum clean all ; yum makecache ;
瀏覽器訪問:<u>http://172.24.10.2/cloudera-repos/cm6/</u>
看到下面頁面說明yum源制作成功
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>
(實踐不導(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/
在/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
成功后檢查元數(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)搜索
2、指定存儲庫
選擇自定義存儲庫: 路徑為上面配置的本地yum源地址 http://172.24.10.2/cloudera-repos/cm6/
3、如果我們之前的【配置本地Parcel存儲庫】步驟操作無誤的話粒蜈,這里會自動選擇【使用Parcel】顺献,并加載出CDH版本,確認(rèn)無誤后點(diǎn)擊【繼續(xù)】:
4枯怖、這一步驟我就不再勾選安裝JDK了注整,因為我在環(huán)境準(zhǔn)備部分已經(jīng)安裝過了。取消勾選度硝,然后繼續(xù):
5肿轨、用于配置集群主機(jī)之間的SSH登錄,填寫root用戶的密碼塘淑,根據(jù)集群配置填寫合適的【同時安裝數(shù)量】值即可:
- 若不知道主機(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ù)
7、安裝Parcels
這一步同樣是自動安裝臂港,分配步驟的速度主要取決于網(wǎng)絡(luò)環(huán)境森枪,耐心等待即可:
8、****主機(jī)檢查
等待檢查完成即可:
9审孽、點(diǎn)顯示驗證結(jié)果
修改配置:
臨時修改:
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)行
結(jié)果如上沒問題
11式散、繼續(xù)
安裝CDH集群: 此處建議選擇基礎(chǔ)服務(wù)創(chuàng)建集群,創(chuàng)建后再逐個添加其他服務(wù)
如: 此處選擇 zookeeper打颤、 hdfs 暴拄、 yarn、hive编饺、hue乖篷、oozie
12、也可以自定選擇服務(wù)
選擇數(shù)據(jù)庫:
安裝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;