1???? 系統(tǒng)環(huán)境??? - 1 -
2.2?? Cloudera Manager?6.0.0? - 1 -
3.3?? 修改Linux swappiness參數(shù)??? - 2 -
3.7?? 所有節(jié)點配置NTP服務(wù)耸采,保持時間同步??? - 3 -
4.4?? 打通SSH,設(shè)置ssh無密碼登陸(所有節(jié)點)??? - 6 -
4.5?? CentOS7本地源搭建(主節(jié)點)??? - 7 -
4.6.1?????? 下載MySQL 5.7? - 8 -
4.6.3?????? 啟動/關(guān)閉/重啟MySQL服務(wù)??? - 8 -
4.6.4?????? 查看3306端口是否成功開啟工育,即mysql是否啟動:??? - 8 -
4.6.7?????? 修改mysql服務(wù)器端口和大小寫敏感??? - 9 -
4.6.9?????? 安裝MySQL JDBC Driver - 9 -
4.7?? 安裝Cloudera Manager(主節(jié)點)??? - 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 -
一虾宇、系統(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)境準備(一)
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)閉開機自動啟動:
#systemctldisable firewalld
停止防火墻服務(wù):
#systemctlstop firewalld
3扼脐、修改Linuxs wappiness參數(shù)
不修改此參數(shù)可以繼續(xù)進行安裝岸军,但可能會遇到問題,Cloudera
Manager 報告主機由于交換運行狀況不佳瓦侮。為了避免服務(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é)點配置NTP服務(wù),保持時間同步
安裝相關(guān)組件:
#yuminstall -y ntp
啟動服務(wù):
#systemctlstart ntpd
查看狀態(tài):
#systemctlstatus ntpd
配置開機啟動:
#systemctlenable ntpd
設(shè)置為與clinet0機器同步:
#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 (安全強化 Linux)仔役,是 MAC (Mandatory Access Control,強制訪問控制系統(tǒng))的一個實現(xià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)閉(不用重啟機器):
設(shè)置SELinux 成為permissive模式
#setenforce0
設(shè)置SELinux 成為enforcing模式
#setenforce1
2)修改配置文件需要重啟機器:
#vim/etc/selinux/config
將SELINUX=enforcing改為SELINUX=disabled
三沛厨、環(huán)境準備(二)
執(zhí)行完上面這個步驟直接執(zhí)行關(guān)機,將機器進行克隆復(fù)制摔认,就存在多臺相同的機器逆皮,然后對這些機器執(zhí)行接下來的操作,這樣操作的目的是集群很多的情況下可以節(jié)省很多時間参袱,把重復(fù)的事在最前面先做完电谣。
1秽梅、更改hostname
更改hostname為XXXname
#hostnamectlset-hostname XXXname
查看是否成功
#hostname
2、設(shè)置靜態(tài)IP
進入/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地址,默認為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"???????????? #是否開機啟用
按照hosts里面設(shè)置的IP晒来,對每一臺機器上都設(shè)置不同的靜態(tài)IP
修改完成后钞诡,重啟網(wǎng)絡(luò)服務(wù):
#service
network restart或者#systemctl restart network
通過命令查看是否設(shè)置成功:
#ifconfig
3、時鐘同步
clinet0節(jié)點作為ntp服務(wù)器與外界對時中心同步時間湃崩,配置時鐘與自己同步荧降,所有其他節(jié)點以clinet0節(jié)點為基礎(chǔ)同步時間,因為所有機器是克隆的攒读,所以現(xiàn)在只需配置一下client0主機誊抛。
在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
所有機器都重啟ntpd:
#systemctlrestart ntpd
查看當前同步的時間服務(wù)器狀態(tài):
#ntpq-p
下面為上圖時間服務(wù)器狀態(tài)各參數(shù)含義:
refid:參考的上一層NTP主機的地址
st:即stratum階層,值越小表示ntpd serve精準度越高
when:幾秒前曾做過時間同步更新的操作
poll:每隔多少毫秒與ntpd serve同步一次
reach:已經(jīng)向上層NTP服務(wù)器要求更新的次數(shù)
delay:網(wǎng)絡(luò)傳輸過程鐘延遲的時間
offset:時間補償?shù)慕Y(jié)果
jitter:Linux系統(tǒng)時間與BIOS硬件時間的差異時間
4整陌、打通SSH,設(shè)置SSH無密碼登錄(所有節(jié)點)
#ssh-keygen-t rsa
一路回車瞎领,生成無密碼的密鑰對
將公鑰添加到認證文件中:
#cat~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
查看結(jié)果:
#cat~/.ssh/authorized_keys
設(shè)置authorized_keys的訪問權(quán)限:
#chmod600 ~/.ssh/authorized_keys
將所有節(jié)點上面的密碼全都加在client0的authorized_keys上泌辫,下面兩步驟在clinet0上執(zhí)行:
#sshroot@hostXXX cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
scp文件到所有datenode節(jié)點:
#scp
~/.ssh/authorized_keys root@hostXXX:~/.ssh/authorized_keys
可以在各臺機器進行登錄測試
#sshhostXXX
5、CentOS7本地源搭建(主節(jié)點)
原理
利用httpd建立一個httpd服務(wù)器用于存放本地源的rpm包
利用createrepo建立本地rpm包的描述信息
并在/etc/yum.repos.d/中加入本地源的描述repo使得yum能夠找到本地源
最后再修改優(yōu)先級使得yum優(yōu)先從本地源安裝九默。
準備安裝工具
#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
如果開啟的,則直接進行下一步
這個時候httpd就已經(jīng)能夠正常工作了驼修,本機ip是192.168.100.40殿遂,那么訪問http:// 192.168. 100.40可以看到。
配置本地源文件
httpd服務(wù)器的位置默認在/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路徑默認在/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耳峦,因為沒有認證所以寫不檢查
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
查看初始密碼
為了加強安全性级乐,MySQL 5.7為root用戶隨機生成了一個密碼,如果用的是rpm包安裝县匠,則默認在/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è)置的密碼必須達到規(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 用戶名@登錄主機 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é)點)
安裝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
(運行/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
通過主機ip:7180訪問了
日期 版本號 平臺搭建人? 文檔作者
2019.3.26? 1 謝士明战惊、岳毫? 岳毫