大數(shù)據(jù)平臺環(huán)境部署手冊(CDH6.0.0)

目錄

1???? 系統(tǒng)環(huán)境??? - 1 -

2???? 文件下載??? - 1 -

2.1?? Centos7? - 1 -

2.2?? Cloudera Manager?6.0.0? - 1 -

2.3?? CDH6.0.0? - 1 -

3???? 環(huán)境準(zhǔn)備(一)??? - 1 -

3.1?? 更改hosts - 1 -

3.2?? 關(guān)閉防火墻??? - 2 -

3.3?? 修改Linux swappiness參數(shù)??? - 2 -

3.4?? 設(shè)置透明大頁面??? - 2 -

3.5?? 安裝jdk? - 3 -

3.6?? 安裝httpd? - 3 -

3.7?? 所有節(jié)點(diǎn)配置NTP服務(wù),保持時間同步??? - 3 -

3.8?? 禁用Selinux? - 3 -

4???? 環(huán)境準(zhǔn)備(二)??? - 4 -

4.1?? 更改hostname? - 4 -

4.2?? 設(shè)置靜態(tài)IP? - 4 -

4.3?? 時鐘同步??? - 5 -

4.4?? 打通SSH,設(shè)置ssh無密碼登陸(所有節(jié)點(diǎn))??? - 6 -

4.5?? CentOS7本地源搭建(主節(jié)點(diǎn))??? - 7 -

4.5.1?????? 原理??? - 7 -

4.5.2?????? 準(zhǔn)備安裝工具??? - 7 -

4.5.3?????? 配置httpd? - 7 -

4.5.4?????? 配置本地源文件??? - 7 -

4.6?? 安裝MySQL? - 8 -

4.6.1?????? 下載MySQL 5.7? - 8 -

4.6.2?????? 安裝??? - 8 -

4.6.3?????? 啟動/關(guān)閉/重啟MySQL服務(wù)??? - 8 -

4.6.4?????? 查看3306端口是否成功開啟,即mysql是否啟動:??? - 8 -

4.6.5?????? 查看初始密碼??? - 8 -

4.6.6?????? 初始化Mysql - 9 -

4.6.7?????? 修改mysql服務(wù)器端口和大小寫敏感??? - 9 -

4.6.8?????? 登錄MySQL? - 9 -

4.6.9?????? 安裝MySQL JDBC Driver - 9 -

4.6.10???? mysql常用命令??? - 9 -

4.7?? 安裝Cloudera Manager(主節(jié)點(diǎn))??? - 10 -

4.7.1?????? 安裝cloudera manager - 10 -

4.7.2?????? 為cloudera軟件創(chuàng)建數(shù)據(jù)庫??? - 10 -

4.7.3?????? 初始化數(shù)據(jù)庫??? - 11 -

4.7.4?????? 啟動cm服務(wù)??? - 12 -

4.7.5?????? 檢查端口是否監(jiān)聽??? - 12 -

5???? 文檔說明??? - 12 -


一、系統(tǒng)環(huán)境

操作系統(tǒng):Centos7

CDH:6.0.0

Cloudera

Manager:6.0.0

二、文件下載

1、Centos7

CentOS-7-x86_64-DVD-1708.iso

地址:http://vault.centos.org/7.4.1708/isos/x86_64/

2、Cloudera Manager?6.0.0

cloudera-manager-agent-6.0.0-530873.el7.x86_64.rpm

cloudera-manager-daemons-6.0.0-530873.el7.x86_64.rpm

cloudera-manager-server-6.0.0-530873.el7.x86_64.rpm

cloudera-manager-server-db-2-6.0.0-530873.el7.x86_64.rpm

oracle-j2sdk1.8-1.8.0+update141-1.x86_64.rpm

allkeys.asc

地址:

https://archive.cloudera.com/cm6/6.0.0/redhat7/yum/RPMS/x86_64/

3、CDH6.0.0

本文基于CentOS7,下載的parcels包及manifest文件對應(yīng)的版本為el7:

CDH-6.0.0-1.cdh6.0.0.p0.537114-el7.parcel

CDH-6.0.0-1.cdh6.0.0.p0.537114-el7.parcel.sha256

manifest.json

地址:https://archive.cloudera.com/cdh6/6.0.0/parcels/

三、環(huán)境準(zhǔn)備(一)

1、更改hosts

#vim/etc/hosts

192.168.100.40?? master0

192.168.100.41?? master1

192.168.100.42?? master2

192.168.100.43?? client0

192.168.100.44?? client1

192.168.100.45?? client2

2、關(guān)閉防火墻

關(guān)閉開機(jī)自動啟動:

#systemctldisable firewalld

停止防火墻服務(wù):

#systemctlstop firewalld

3、修改Linuxs wappiness參數(shù)

不修改此參數(shù)可以繼續(xù)進(jìn)行安裝,但可能會遇到問題,Cloudera

Manager 報告主機(jī)由于交換運(yùn)行狀況不佳。為了避免服務(wù)器使用swap功能而影響服務(wù)器性能,一般都會把vm.swappiness修改為0(cloudera建議10以下)。

臨時解決:

#echo0 > /proc/sys/vm/swappiness

永久解決:

#sysctl-w vm.swappiness=0

#echovm.swappiness = 0 >> /etc/sysctl.conf

4、設(shè)置透明大頁面

執(zhí)行:

#echonever > /sys/kernel/mm/transparent_hugepage/defrag

#echonever > /sys/kernel/mm/transparent_hugepage/enabled

將如下腳本添加到/etc/rc.d/rc.local文件中:

#vim/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

給與可執(zhí)行權(quán)限:

#chmod+x /etc/rc.d/rc.local

5、安裝jdk

#yum-y list java*

#yum-y install java-1.8.0-openjdk*

查看java版本:#java -version

安裝位置:JAVA_HOME=/usr/lib/jvm/java-openjdk

6、安裝httpd

#yuminstall httpd

啟動web服務(wù)器,并將之設(shè)置為自動啟動:

#systemctlstart httpd.service

#systemctlenable httpd.service

7、所有節(jié)點(diǎn)配置NTP服務(wù),保持時間同步

安裝相關(guān)組件:

#yuminstall -y ntp

啟動服務(wù):

#systemctlstart ntpd

查看狀態(tài):

#systemctlstatus ntpd

配置開機(jī)啟動:

#systemctlenable ntpd

設(shè)置為與clinet0機(jī)器同步:

#vim /etc/ntp.conf

#server 0.rhel.pool.ntp.org iburst

#server 1.rhel.pool.ntp.org iburst

#server 2.rhel.pool.ntp.org iburst

#server 3.rhel.pool.ntp.org iburst

serverclient0

8、禁用Selinux

SELinux全稱 Security Enhanced Linux (安全強(qiáng)化 Linux),是 MAC (Mandatory Access Control,強(qiáng)制訪問控制系統(tǒng))的一個實(shí)現(xiàn),目的在于明確的指明某個進(jìn)程可以訪問哪些資源(文件、網(wǎng)絡(luò)端口等。

(1)查看SELinux狀態(tài),兩種方法:

1)#/usr/sbin/sestatus -v?

如果SELinux status參數(shù)為enabled為開啟狀態(tài)

2)#getenforce

為enabled為開啟狀態(tài)

(2)關(guān)閉SELinux:

1)臨時關(guān)閉(不用重啟機(jī)器):

設(shè)置SELinux 成為permissive模式

#setenforce0

設(shè)置SELinux 成為enforcing模式

#setenforce1

2)修改配置文件需要重啟機(jī)器:

修改/etc/selinux/config文件

#vim/etc/selinux/config

將SELINUX=enforcing改為SELINUX=disabled

三、環(huán)境準(zhǔn)備(二)

執(zhí)行完上面這個步驟直接執(zhí)行關(guān)機(jī),將機(jī)器進(jìn)行克隆復(fù)制,就存在多臺相同的機(jī)器,然后對這些機(jī)器執(zhí)行接下來的操作,這樣操作的目的是集群很多的情況下可以節(jié)省很多時間,把重復(fù)的事在最前面先做完。

1、更改hostname

更改hostname為XXXname

#hostnamectlset-hostname XXXname

查看是否成功

#hostname

2、設(shè)置靜態(tài)IP

進(jìn)入/etc/sysconfig/network-scripts目錄,找到該網(wǎng)卡的配置文件ifcfg-ensXXX,修改文件:

#cd/etc/sysconfig/network-scripts/

#ll

#vimifcfg-ens192

TYPE="Ethernet"

PROXY_METHOD="none"

BROWSER_ONLY="no"

BOOTPROTO="static"???????? #使用靜態(tài)IP地址,默認(rèn)為dhcp

IPADDR="192.168.XXX.XXX"?? #設(shè)置的靜態(tài)IP地址

NETMASK="255.255.255.0"??? #子網(wǎng)掩碼

GATEWAY="192.168.XXX.1"??? #網(wǎng)關(guān)地址

DNS1="192.168.XXX.1"?????? # DNS服務(wù)器

DEFROUTE="yes"

IPV4_FAILURE_FATAL="no"

IPV6INIT="yes"

IPV6_AUTOCONF="yes"

IPV6_DEFROUTE="yes"

IPV6_FAILURE_FATAL="no"

IPV6_ADDR_GEN_MODE="stable-privacy"

NAME="ens33"

UUID="95b614cd-79b0-4755-b08d-99f1cca7271b"

DEVICE="ens33"

ONBOOT="yes"???????????? #是否開機(jī)啟用

按照hosts里面設(shè)置的IP,對每一臺機(jī)器上都設(shè)置不同的靜態(tài)IP

修改完成后,重啟網(wǎng)絡(luò)服務(wù):

#service

network restart或者#systemctl restart network

通過命令查看是否設(shè)置成功:

#ifconfig

3、時鐘同步

clinet0節(jié)點(diǎn)作為ntp服務(wù)器與外界對時中心同步時間,配置時鐘與自己同步,所有其他節(jié)點(diǎn)以clinet0節(jié)點(diǎn)為基礎(chǔ)同步時間,因為所有機(jī)器是克隆的,所以現(xiàn)在只需配置一下client0主機(jī)。

在clinet0上執(zhí)行:

#vim /etc/ntp.conf

#server 0.rhel.pool.ntp.org iburst

#server 1.rhel.pool.ntp.org iburst

#server 2.rhel.pool.ntp.org iburst

#server 3.rhel.pool.ntp.org iburst

server? 127.127.1.0???? # local clock

fudge 127.127.1.0 stratum 10

所有機(jī)器都重啟ntpd:

#systemctlrestart ntpd

查看當(dāng)前同步的時間服務(wù)器狀態(tài):

#ntpq-p


時間服務(wù)器狀態(tài)

下面為上圖時間服務(wù)器狀態(tài)各參數(shù)含義:

refid:參考的上一層NTP主機(jī)的地址

st:即stratum階層,值越小表示ntpd serve精準(zhǔn)度越高

when:幾秒前曾做過時間同步更新的操作

poll:每隔多少毫秒與ntpd serve同步一次

reach:已經(jīng)向上層NTP服務(wù)器要求更新的次數(shù)

delay:網(wǎng)絡(luò)傳輸過程鐘延遲的時間

offset:時間補(bǔ)償?shù)慕Y(jié)果

jitter:Linux系統(tǒng)時間與BIOS硬件時間的差異時間

4、打通SSH,設(shè)置SSH無密碼登錄(所有節(jié)點(diǎn))

#ssh-keygen-t rsa

一路回車,生成無密碼的密鑰對

將公鑰添加到認(rèn)證文件中:

#cat~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

查看結(jié)果:

#cat~/.ssh/authorized_keys

設(shè)置authorized_keys的訪問權(quán)限:

#chmod600 ~/.ssh/authorized_keys

將所有節(jié)點(diǎn)上面的密碼全都加在client0的authorized_keys上,下面兩步驟在clinet0上執(zhí)行:

#sshroot@hostXXX cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

scp文件到所有datenode節(jié)點(diǎn):

#scp

~/.ssh/authorized_keys root@hostXXX:~/.ssh/authorized_keys

可以在各臺機(jī)器進(jìn)行登錄測試

#sshhostXXX

5、CentOS7本地源搭建(主節(jié)點(diǎn))

原理

利用httpd建立一個httpd服務(wù)器用于存放本地源的rpm包

利用createrepo建立本地rpm包的描述信息

并在/etc/yum.repos.d/中加入本地源的描述repo使得yum能夠找到本地源

最后再修改優(yōu)先級使得yum優(yōu)先從本地源安裝。


準(zhǔn)備安裝工具

#yuminstall -y httpd

#yuminstall -y createrepo

#yuminstall -y yum-plugin-priorities


配置httpd

查看httpd是否開啟:

#systemctlstatus httpd.service

如果沒有開啟,則開啟httpd服務(wù):

#systemctlstart httpd.service

并設(shè)置為自啟動:

#systemctlenable httpd.service

如果開啟的,則直接進(jìn)行下一步

這個時候httpd就已經(jīng)能夠正常工作了,本機(jī)ip是192.168.100.40,那么訪問http:// 192.168. 100.40可以看到。


配置本地源文件

httpd服務(wù)器的位置默認(rèn)在/var/www/html,在其下建立一個文件夾tools放入cdh(包含cdh三個文件包),然后執(zhí)行createrepo ./ 對tools文件夾建立描述信息

#cd/var/www/html

#mkdirtools

#cdtools

#cp-r cdh ./

創(chuàng)建描述信息

#createrepo./

訪問http:// 192.168.100.40/tools可以看到目錄


創(chuàng)建yum repo文件

yum的repo路徑默認(rèn)在/etc/yum.repos.d/中,用vim創(chuàng)建repo文件,yum會自動讀取這個路徑下的所有repo作為安裝包的安裝源

#vim/etc/yum.repos.d/local.repo

local.repo文件如下:

[tools] //源名稱 隨意取

name=tools //源描述 隨意取

baseurl=http:// 192.168.100.40/tools/ //源地址 我們建立的http服務(wù)就可以用http地址

enabled=1 //源是否可用

gpgcheck=0 //時候檢查gpg,因為沒有認(rèn)證所以寫不檢查

priority=1 //優(yōu)先級,yum-plugin-priorities會用到,優(yōu)先級越小越高


刷新yum緩存

清除yum信息

#yumclean all

創(chuàng)建cache

#yummakecache

6、安裝MySQL

下載mysql5.7

方法1先下載rpm包,然后放在自己想放的路徑里;

方法2:

#wgethttp://dev.mysql.com/mysql57-community-release-el7-8.noarch.rpm

安裝

到rpm包文件路徑下執(zhí)行:

#yuminstall mysql57-community-release-el7-8.noarch.rpm

#yuminstall mysql-server

關(guān)閉/重啟MySQL服務(wù)

#servicemysqld start/stop/restart

查看端口3306端口是否成功開啟,即mysql是否啟動:

#netstat-ln | grep 3306

查看初始密碼

為了加強(qiáng)安全性,MySQL 5.7為root用戶隨機(jī)生成了一個密碼,如果用的是rpm包安裝,則默認(rèn)在/var/log/mysqld.log中保存。通過下面命令獲得初始密碼,如圖在root@localhost: 后的即為初始密碼。

#cat/var/log/mysqld.log | grep password


初始密碼

初始化密碼

可以重設(shè)密碼,其余的按提示回車和y就可以:

#/usr/bin/mysql_secure_installation

修改mysql服務(wù)器端口和大小寫敏感

#vi/etc/my.cnf

port=13306

lower_case_table_names=1

安裝MySQL JDBC?Driver

提前下載好mysql-connector-java.jar:

#mkdir-p /usr/share/java/

#cpmysql-connector-java.jar /usr/share/java/mysql-connector-java.jar

登錄mysql

#mysql-uroot -p'passwd'


mysql常用命令

(1)修改用戶密碼(MySQL 5.7 對用戶密碼有要求,設(shè)置的密碼必須達(dá)到規(guī)定長度,且必須含有數(shù)字,小寫或大寫字母,特殊字符):

mysql>alter user 'root'@'localhost' identified by 'password';

(2)創(chuàng)建數(shù)據(jù)庫:

mysql>createdatabase name DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

(3)創(chuàng)建用戶并授權(quán):

mysql>CREATEUSER 'username'@'%' IDENTIFIED BY 'passwd';

(4)創(chuàng)建一個可以從任何地方連接服務(wù)器的一個完全的超級用戶格式:

grant

select on 數(shù)據(jù)庫名.* to 用戶名@登錄主機(jī) identified by “密碼”

mysql>GRANTALL PRIVILEGES ON databasename.* TO 'username'@'%'? IDENTIFIED BY ' aostarit2015';

(5)創(chuàng)建數(shù)據(jù)庫、用戶后刷新:

mysql>flushprivileges;

(6)檢查用戶是否創(chuàng)建成功:

mysql>selectuser, host from mysql.user;

(7)查看所有數(shù)據(jù)庫:

mysql>show

databases;

(8)刪除數(shù)據(jù)庫:

mysql>dropdatabase DB;

(9)使用數(shù)據(jù)庫:

mysql>use

database;

(10)查看表:

mysql>show

tables;

7、安裝 Cloudera Manager(主節(jié)點(diǎn))

安裝cloudera manager

在安裝包放置位置執(zhí)行:

#yuminstall cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server


為cloudera軟件創(chuàng)建數(shù)據(jù)庫

需要建的數(shù)據(jù)庫有:scm、amon、rman、hue、metastore、sentry、nav、navms、oozie:

mysql>CREATE DATABASE scm DEFAULT CHARACTER SET? utf8 DEFAULT COLLATE utf8_general_ci;

mysql>GRANT ALL ON scm.* TO 'scm'@'%' IDENTIFIED? BY 'scm@123';

mysql>CREATE DATABASE amon DEFAULT CHARACTER SET? utf8 DEFAULT COLLATE utf8_general_ci;

mysql>GRANT ALL ON amon.* TO 'amon'@'%' IDENTIFIED? BY ' amon@123';

mysql>CREATE DATABASE rman DEFAULT CHARACTER SET? utf8 DEFAULT COLLATE utf8_general_ci;

mysql>GRANT ALL ON rman.* TO 'rman'@'%'? IDENTIFIED BY 'rman@123';

mysql>CREATE DATABASE hue DEFAULT CHARACTER SET? utf8 DEFAULT COLLATE utf8_general_ci;

mysql>GRANT ALL ON hue.* TO 'hue'@'%' IDENTIFIED? BY 'hue@123';

mysql>CREATE DATABASE metastore DEFAULT CHARACTER? SET utf8 DEFAULT COLLATE utf8_general_ci;

mysql>GRANT ALL ON metastore.* TO 'metastore'@'%'? IDENTIFIED BY 'metastore@123';

mysql>CREATE DATABASE sentry DEFAULT CHARACTER? SET utf8 DEFAULT COLLATE utf8_general_ci;

mysql>GRANT ALL ON sentry.* TO 'sentry'@'%'? IDENTIFIED BY 'sentry@123';

mysql>CREATE DATABASE nav DEFAULT CHARACTER SET? utf8 DEFAULT COLLATE utf8_general_ci;

mysql>GRANT ALL ON nav.* TO 'nav'@'%' IDENTIFIED? BY 'nav@123';

mysql>CREATE DATABASE navms DEFAULT CHARACTER SET? utf8 DEFAULT COLLATE utf8_general_ci;

mysql>GRANT ALL ON navms.* TO 'navms'@'%'? IDENTIFIED BY 'navms@123';

mysql>CREATE DATABASE oozie DEFAULT CHARACTER SET? utf8 DEFAULT COLLATE utf8_general_ci;

mysql>GRANT ALL ON oozie.* TO 'oozie'@'%'? IDENTIFIED BY 'oozie@123';

刷新:

mysql>flushprivileges

檢查用戶是否創(chuàng)建成功:

mysql>selectuser, host from mysql.user;


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

執(zhí)行(如果數(shù)據(jù)庫和CM在一臺服務(wù)器上)語法,初始化數(shù)據(jù)庫:

[options]

#/opt/cloudera/cm/schema/scm_prepare_database.shmysql scm scm


圖3 初始化數(shù)據(jù)庫

(運(yùn)行/opt/cloudera/cm/schema/scm_prepare_database.sh可以查看參數(shù))


啟動cm服務(wù)

#systemctlstart cloudera-scm-server

#systemctlrestart cloudera-scm-server

#systemctlstatus cloudera-scm-server


檢查端口是否監(jiān)聽

#netstat-lnpt | grep 7180

通過主機(jī)ip:7180訪問了





文檔說明

日期 版本號 平臺搭建人? 文檔作者

2019.3.26? 1 謝士明、岳毫? 岳毫

?著作權(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)容