關(guān)于CDH和Cloudera Manager
????CDH (Cloudera’s Distribution, including Apache Hadoop)慕趴,是Hadoop眾多分支中的一種泛啸,由Cloudera維護鹰祸,基于穩(wěn)定版本的Apache Hadoop構(gòu)建钦购,并集成了很多補丁尾序,可直接用于生產(chǎn)環(huán)境阔涉。
????Cloudera Manager則是為了便于在集群中進行Hadoop等大數(shù)據(jù)處理相關(guān)的服務(wù)安裝和監(jiān)控管理的組件氯析,對集群中主機登失、Hadoop哈打、Hive塔逃、Spark等服務(wù)的安裝配置管理做了極大簡化。
系統(tǒng)環(huán)境
實驗環(huán)境:Windows(16G內(nèi)存)下VMware虛擬機
操作系統(tǒng):CentOS 7.5 x64 (內(nèi)存分配要傲险獭)
(重點說明:一湾盗、在后面大數(shù)據(jù)組件安裝時不要將很多服務(wù)聚集在一個虛擬機上,不然你會
? ? ? ? ? ? ? ? ? ? ? ? ?發(fā)現(xiàn)根本沒法運行立轧,內(nèi)存根本不夠使用格粪。
? ? ? ? ? ? ? ? ? 二、最先安裝最簡服務(wù)氛改,安裝好后再去根據(jù)需求安裝其他服務(wù)帐萎。)
Cloudera Manager:5.15.0
CDH:5.15.0
centos 7.5鏡像:(安裝鏡像選擇帶桌面,會給你帶來很多方便)
http://mirrors.163.com/centos/7.5.1804/isos/x86_64/CentOS-7-x86_64-Minimal-1804.iso
相關(guān)包的下載地址
Cloudera Manager下載地址:
http://archive.cloudera.com/cm5/cm/5/cloudera-manager-centos7-cm5.15.0_x86_64.tar.gz
CDH安裝包地址:http://archive.cloudera.com/cdh5/parcels/latest/
由于我們的操作系統(tǒng)為CentOS7.5胜卤,需要下載以下文件:
-CDH-5.15.0-1.cdh5.15.0.p0.21-el7.parcel
-CDH-5.15.0-1.cdh5.15.0.p0.21-el7.parcel.sha1
-manifest.json
mysql-5.7.21-1.el7.x86_64.rpm-bundle.tar
mysql-connector-java-5.1.46.tar.gz
準備工作:系統(tǒng)環(huán)境搭建
以下操作均用root用戶操作疆导。
1. 網(wǎng)絡(luò)配置(所有節(jié)點)? ?($> 后面是命令)只說步驟具體操作,自行查資料葛躏。
? ? 一是鬼、修改為靜態(tài)ip 肤舞,通過 $>service network restart 重啟網(wǎng)絡(luò),靜態(tài)ip生效均蜜,$>ifconfig
? ? ? ? ? ? 檢查IP是否生效李剖。
? ? 二、修改hostname囤耳,$>?vi /etc/sysconfig/network? 添加?NETWORKING=yes 和??
????????????HOSTNAME=c01篙顺,也可以修改 $> vi /etc/hostname.?
? ? 三、修改hosts文件充择,修改ip與主機名的對應(yīng)關(guān)系德玫,$> vi /etc/hosts 添加
????????????192.168.xxx.101 c01
????????????192.168.xxx.101 c02
????????????192.168.xxx.101 c03
注意: 這里需要將每臺機器的ip及主機名對應(yīng)關(guān)系都寫進去,本機的也要寫進去椎麦,否則啟動Agent的時候會提示hostname解析錯誤宰僧,還有不要把hosts原有的刪掉,并在最上面添加? 0.0.0.0 localhost 观挎,不然后面的mysql 有可能會連不上 導(dǎo)致cdh無法安裝服務(wù)琴儿。
2.打通SSH,設(shè)置ssh無密碼登陸(所有節(jié)點)
在主節(jié)點上執(zhí)行ssh-keygen -t rsa一路回車嘁捷,生成無密碼的密鑰對造成。
在所有節(jié)點全部生成密鑰后,使用命令 $> ssh-copy-id c01(ip也可以) 將公鑰發(fā)給其他節(jié)點雄嚣,相互操作晒屎,另一種方法是 scp遠程復(fù)制,自行查資料缓升。
3.安裝jdk(所有節(jié)點)
? ? 安裝jdk的方法 不多說鼓鲁,需要說明的是,首先要卸載了centos自帶的openjdk 港谊,其次安裝方法的不同:第一種使用 rpm? 默認安裝路徑 坐桩,第二種如果是自定義安裝,在后面的安裝服務(wù)中會出現(xiàn)封锉,找不到JAVA_HOME的錯誤,(詳見?CDH坑 ?)
4. 關(guān)閉防火墻(所有節(jié)點)
centos 7 默認使用的是firewall膘螟,不是iptables
$>?systemctl stop firewalld.service
$>?systemctl disable firewalld.service
5. 關(guān)閉SELinux(所有節(jié)點)
$> vim/etc/selinux/config? ? ? 設(shè)置SELINUX=disabled
6. 配置NTP服務(wù)(所有節(jié)點)(這里也有可能會出現(xiàn)錯誤)
安裝? $> yum install ntp
設(shè)置開機啟動? ?$>? chkconfig ntpd on
服務(wù)啟動 $> service ntpd start
7. 所有節(jié)點上創(chuàng)建用戶(所有節(jié)點)這是CDH默認使用賬戶
$>?useradd--system\
--home=/opt/cm-5.15.0/run/cloudera-scm-server/\
--no-create-home--shell=/bin/false--comment"Cloudera SCM User"cloudera-scm
8. 安裝MySQL(主節(jié)點安裝即可)
(1)卸載mariadb
此處需要注意的是centos 7 默認安裝的是mariadb成福,如果不卸載直接安裝的話會報錯,報錯信息mariadb-libs is obsoleted by mysql-community-libs-5.7.21-1.el7.x86_64
注意:必須先做一下步驟荆残,要先刪除mariadb
rpm -qa | grep mariadb#查看安裝信息
$>?rpm --nodeps-emariadb-libs-5.5.56-2.el7.x86_64#根據(jù)查找到的軟件包信息卸載
(2)安裝MySQL(必須按以下順序安裝)
解壓tar -xf mysql-5.7.21-1.el7.x86_64.rpm-bundle.tar
$>?rpm -ivh mysql-community-common-5.7.21-1.el7.x86_64.rpm
$>?rpm -ivh mysql-community-libs-5.7.21-1.el7.x86_64.rpm
$>?rpm -ivh mysql-community-client-5.7.21-1.el7.x86_64.rpm
$>?rpm -ivh mysql-community-server-5.7.21-1.el7.x86_64.rpm
$>?rpm -ivh mysql-community-libs-compat-5.7.21-1.el7.x86_64.rpm
(compat解決hue數(shù)據(jù)庫連接不上)
$>?rpm -ivh mysql-community-devel-5.7.21-1.el7.x86_64.rpm
#安裝mysqlclient需要用到
(3)基本設(shè)置
service mysqld start#啟動服務(wù)
cat /var/log/mysqld.log |grep password#查看初始密碼
mysql -uroot -p#登錄
set password = password('1234');#設(shè)置密碼
報錯:
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
首先奴艾,修改validate_password_policy參數(shù)的值
mysql> set global validate_password_policy=0;
這樣,判斷密碼的標準就基于密碼的長度了内斯。這個由validate_password_length參數(shù)來決定蕴潦。
validate_password_length參數(shù)默認為8像啼,可以設(shè)置為其它值,最小4位
mysql> set global validate_password_length=1;
mysql> set password = password('1234');
Query OK, 0 rows affected,1 warning (0.00 sec)
授權(quán)用戶root使用密碼passwd從任意主機連接到mysql服務(wù)器
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mysql密碼' WITH GRANT OPTION;
mysql> flush privileges;
(4)建數(shù)據(jù)庫(用于后邊組件安裝)
mysql> create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
mysql> create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
mysql> create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
安裝Cloudera Manager Server 和Agent
(1)解壓
將下載好的cloudera-manager-centos7-cm5.15.0_x86_64.tar.gz解壓到主節(jié)點的/opt/,解壓出來的文件夾為cloudera與cm-5.15.0
(2)為Cloudera Manager建立數(shù)據(jù)庫
將前邊下載好的mysql-connector-java-5.1.46.tar.gz解壓潭苞,找到文件夾中的
mysql-connector-java-5.1.46-bin.jar
$>?cp mysql-connector-java-5.1.46-bin.jar /opt/cm-5.15.0/share/cmf/lib/
$>?cp mysql-connector-java-5.1.46-bin.jar /usr/java/(此處jdk自定義安裝的話將jar放在郁jdk同級目錄下即可)
$>?/opt/cm-5.15.0/share/cmf/schema/scm_prepare_database.sh mysql -hlocalhost -uroot -p scm scm
(3)配置Agent
$>?vim /opt/cm-5.15.0/etc/cloudera-scm-agent/config.ini
server_host=c01
拷貝到其他節(jié)點
$>?scp -r /opt/cm-5.15.0/ root@c02:/opt/
$>?scp -r /opt/cm-5.15.0/ root@c03:/opt/
(4)準備parcels
將CDH相關(guān)文件拷貝到主節(jié)點/opt/cloudera/parcel-repo/
相關(guān)文件
CDH-5.15.0-1.cdh5.15.0.p0.21-el7.parcel
CDH-5.15.0-1.cdh5.15.0.p0.21-el7.parcel.sha1
manifest.json
需要將CDH-5.15.0-1.cdh5.15.0.p0.21-el7.parcel.sha1改成CDH-5.15.0-1.cdh5.15.0.p0.21-el7.parcell.sha忽冻,否則安裝時會重新下載,很重要4苏睢僧诚!
$>? mv CDH-5.15.0-1.cdh5.15.0.p0.21-el7.parcel.sha1 CDH-5.15.0-1.cdh5.15.0.p0.21-el7.parcel.sha
(5)啟動
主節(jié)點
$> /opt/cm-5.15.0/etc/init.d/cloudera-scm-server start
主節(jié)點及其他節(jié)點
$>?/opt/cm-5.15.0/etc/init.d/cloudera-scm-agent start
啟動需要點時間,可以查看數(shù)據(jù)庫scm中的HOSTS表蝗碎,如果里面出現(xiàn)節(jié)點信息表示server啟動完成
安裝hadoop集群:
安裝的時候沒有做截圖湖笨,將我參考的文章的圖片放在下邊
1.登錄主界面
登錄主節(jié)點IP的7180端口,默認登錄用戶名和密碼都是admin
2.選擇安裝版本
3.為CDH群集安裝指定主機
4.集群安裝
5.主機檢查
第一個警告直接在所有節(jié)點上執(zhí)行$>?echo 10 > /proc/sys/vm/swappiness
第二個警告按照上面的說明蹦骑,在所有節(jié)點上執(zhí)行這兩條命令
echo never >/sys/kernel/mm/transparent_hugepage/defrag?
echo never > /sys/kernel/mm/transparent_hugepage/enabled
將這兩條命令 復(fù)制 添加到?$> vi? /etc/rc.local 里面
6.集群設(shè)置
服務(wù)配置慈省,保持默認就可以(Cloudera Manager會根據(jù)機器的配置自動進行配置)
數(shù)據(jù)庫設(shè)置(我們使用的mysql 所以在數(shù)據(jù)設(shè)置中要注意看清數(shù)據(jù)庫位置)
審查更改(默認即可)
開始安裝
如有疑問,請留言眠菇,看到后盡量解決边败,一同學(xué)習(xí)。