cloudera-manager安裝

cloudera-manager安裝

一、機器準備
選用服務器或者阿里雲服務器,安裝CentOS6.5系統。
注意:安裝操作系統時,選擇桌面版,其他版本會出現缺失包等異常錯誤,請安裝64位版本,CM不支持32位CentOS。
驗證方法:使用root用戶查看操作系統 /proc/version文件的內容,如果含有x86_64 字樣說明該操作系統爲64位版本,否則爲32位操作系統。、
二、CM安裝前linux環境準備工作 下載資料http://archive.cloudera.com/cm5/cm/5/
free -m        df -h  
cat /proc/cpuinfo 
1、配置ip、主機名、服務器之間的映射 (所有服務器)
192.168.60.137    sdzn-test-cdh01.com
2、修改主機名:vi /etc/sysconfig/network(所有服務器)
3、修改hosts文件linux中:vi /etc/hosts文件(所有服務器)
添加:           
192.168.60.137    sdzn-test-cdh01.com
192.168.60.137    sdzn-test-cdh02.com
192.168.60.137    sdzn-test-cdh03.com
192.168.60.137    sdzn-test-cdh04.com
window中hosts文件中 C:\Windows\System32\drivers\etc\hosts
添加:             
192.168.60.137    sdzn-test-cdh01.com
192.168.60.137    sdzn-test-cdh02.com
192.168.60.137    sdzn-test-cdh03.com
192.168.60.137    sdzn-test-cdh04.com          
提示:修改所有服務器主機名後重啓系統,然後通過hostname查看主機名是否正確,通過ping  sdzn-test-cdh01.com等驗證網絡映射配置是否正確。  
4、 禁用Ipv6 (所有服務器)
注意:在不禁用IPV6的情況下集羣可能會出現網絡錯誤。
echo "      "  >> /etc/modprobe.d/dist.conf 
echo "alias net-pf-10 off "  >> /etc/modprobe.d/dist.conf 
echo "alias ipv6 off"  >> /etc/modprobe.d/dist.conf 
修改好配置文件後需要重啓linux系統後,才能看到IPV6被禁用後的結果。
3、關閉防火牆,禁用selinux
注意:在安裝時需要隨時記住防火牆關閉情況,通常需要永久關閉。
service iptables stop
chkconfig iptables off 
查看防火牆啓動級別:# chkconfig iptables --list
關閉selinux
命令:# vi /etc/sysconfig/selinux
將SELINUX值修改爲disabled
注意:需要重啓生效
查看狀態:# /usr/sbin/sestatus -v
4、配置無祕鑰登錄ssh 
提示:免key登錄不屬於必須操作,建議不要在root用戶上用免key操作
本機需要遠程登錄到其他主機的用戶上執行如下命令:
生成公鑰和私鑰:
# ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
複製公鑰到免key主機:
# ssh-copy-id 指定主機地址ip(自己也要和自己免key)
5、配置JDK
5.1卸載自帶JDK
# rpm -qa|grep java      查看主機安裝的jdk
# rpm -e --nodeps xxx yyy zzz     卸載主機上的jdk(‘xxx’爲查詢出安裝的jdk名稱,若有多個依次添加,進行卸載)
5.2解壓安裝:
/usr/java/jdk1.7.0_67
修改環境變量:vi /etc/profile
export JAVA_HOME=/usr/java/jdk1.7.0_67
export PATH=$PATH:$JAVA_HOME/bin
5.3發給另外三臺機器
scp -r /usr/java/ sdzn-test-cdh02.com:/usr/ 
scp -r /usr/java/ sdzn-test-cdh03.com:/usr/ 
scp -r /usr/java/ sdzn-test-cdh04.com:/usr/ 
6、啓動http服務
查看服務狀態:# service httpd status
打開服務:# service httpd start
提示:如果提示找不到http服務時,需要進行安裝,安裝可以選用yum方式,命令如下:# yum install httpd
7、系統服務器時間同步
1)先選擇一臺服務作爲集羣的時間服務器,其他服務器與這臺服務器時間進行同步 
sdzn-test-cdh01.com
國內的時間服務器;
ntp.sjtu.edu.cn 202.120.2.101  (上海交通大學網絡中心NTP服務器地址)
s1a.time.edu.cn 北京郵電大學
s1b.time.edu.cn 清華大學
這幾個不行就從網上搜其他時間服務器,比如(備用: ntpdate -u 1.cn.pool.ntp.org)
2) vi /etc/ntp.conf
18 restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap 
打開註釋,網段改成自己集羣網段
22 #server 0.centos.pool.ntp.org
23 #server 1.centos.pool.ntp.org
24 #server 2.centos.pool.ntp.org
註釋掉
35 server  127.127.1.0     # local clock
36 fudge   127.127.1.0 stratum 10
註釋去掉或者手動添加 
3) 所有節點上執行
# service ntpd start && chkconfig ntpd on && chkconfig --list | grep ntpd 
# yum -y install ntpd  如果沒有安裝ntpd這個服務
4) 同步外界時間服務器
ntpdate -u ntp.sjtu.edu.cn
17 Nov 14:30:39 ntpdate[2871]: no server suitable for synchronization found
第一個 ntpd服務啓動後5分鐘內 
第二個 ntp.sjtu.edu.cn失效
5)將系統時間同步給硬件時鐘時間
hwclock  --localtime 
hwclock  --localtime  -w
6)服務器停機系統時間停止,硬件時鐘正常在,設置服務器重啓後,能夠自動將硬件時鐘時間同步給系統時間
# vi /etc/sysconfig/ntpd
首行添加 SYNC_HWCLOCK=yes
7)服務器啓動以後,系統同步外界服務器時間後,再同步給硬件時鐘時間
# vi /etc/sysconfig/ntpdate 
SYNC_HWCLOCK=yes
8)其他幾臺服務區同步集羣的時間服務器
ntpdate -u  sdzn-test-cdh01.com
crontab -e
*/10 * * * *   /usr/sbin/ntpdate  -u  sdzn-test-cdh01.com
通過mail 驗證是否執行
9) 所有服務器
service crond restart
service ntpd restart
8、配置用戶最大可打開的文件數量,已經服務器最大進程數目
# ulimit -a    文件打開數目
# ulimit -u   用戶最大進程數
# vi /etc/security/limits.conf   手動設置
添加如下幾行:
*               soft    nofile          32728
*               hard    nofile          1024567
*               soft    nproc           65535
*               hard    nproc           unlimited
*               soft    memlock         unlimited
*               hard    memlock         unlimited
scp /etc/security/limits.conf bigdata05.rainbow.com:/etc/security/limits.conf
重啓 驗證 
9、CM規劃
192.168.60.137    sdzn-test-cdh01.com  server agent 
192.168.60.137    sdzn-test-cdh02.com  agent
192.168.60.137    sdzn-test-cdh03.com  agent
192.168.60.137    sdzn-test-cdh04.com  agent
三、安裝mysql數據庫
1、選一臺服務安裝mysql 5.6  
sdzn-test-cdh01.com 
2、刪除系統自帶mysql依賴包
rpm -qa | grep mysql
rpm -e --nodeps mysql-libs-5.1.66-2.el6_3.x86_64
3、選擇yum安裝方式
選擇的是msyql5.6版本
yum源模式安裝的是5.1版本
更新yum源裏面的mysql版本信息
4、下載mysql的yum源
# cd /etc/yum.repos.d/   源倉庫
5、更新mysql源
# rpm -Uvh mysql57-community-release-el6-8.noarch.rpm 
mysql-community.repo
mysql-community-source.repo
6、修改下mysql的鏡像源地址和信息
1)vi mysql-community.repo 
5.6 enabled=1
5.7 enabled=0
2) vi mysql-community-source.repo 
5.6 enabled=1
5.7 enabled=0
最後 MySQL Tools Preview - Source   enabled=1
7、更新下yum源  
# yum makecache     Metadata Cache Created 更新成功
8、# yum repolist enabled | grep mysql   
查看mysql源是否配置成功
9、安裝mysql
yum -y install mysql-community-server  聯網下載75M左右 
Complete! 
mysql安裝的遠程端,hive連接數據庫的元數據需要啓動matestore 
10、 service mysqld status   停止狀態  開啓
執行mysql_secure_installation  初始化mysql
四、CM安裝
1、CM安裝 
1)安裝CM所需的依賴包 (集羣所有服務器)
yum -y install chkconfig python bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse portmap fuse-libs redhat-lsb
http://archive.cloudera.com/cdh5/  
2)在server節點上創建一個目錄 
mkdir -p /opt/cloudera-manager
3) 解壓CM安裝包到/opt/cloudera-manager
tar zxf cloudera-manager-el6-cm5.3.6_x86_64.tar.gz -C /opt/cloudera-manager/
cloudera  CM集羣框架的安裝包目錄
cm-5.3.6  CM本身的配置信息,啓動信息,lib庫
4)修改CM配置/opt/cloudera-manager/cm-5.3.6/etc/cloudera-scm-agent
server_host = sdzn-test-cdh01.com
5)  拷貝給其他agent從節點
scp -r /opt/cloudera-manager/ sdzn-test-cdh04.com:/opt/ 
如果你網速慢就不要用scp命令直接上傳到其他機器,解壓修改配置文件中的server_host = sdzn-test-cdh01.com
6) 創建一個CM專用普通用戶: cloudera-scm  (不能更改)
useradd --system    /表示創建的系統用戶
--home=/opt/cloudera-manager/cm-5.3.6/run/cloudera-scm-server  /表示指定用戶的主目錄位置
--no-create-home  /表示不創建用戶主目錄
--shell=/bin/false  /不作爲登錄用戶
--comment "Cloudera SCM User" cloudera-scm  
cat /etc/passwd | grep cloudera-scm    確認是否創建成功
7) 添加temp用戶及賦予相關權限  (mysql中)
grant all privileges on *.* to 'rainbow'@'%' identified by 'rainbow'with grant option;
驅動包放入 /usr/share/java  下
8)在server節點上初始化CM在mysql中狀態
使用CM自帶的腳本,並且指定一些參數
/opt/cloudera-manager/cm-5.3.6/share/cmf/schema/  腳本路徑下執行
格式是:scm_prepare_database.sh 數據庫類型  數據庫 服務器 用戶名 密碼  –scm-host
./scm_prepare_database.sh mysql cm -h 192.168.60.137 -urainbow -p --scm-host 192.168.60.137 scm scm scm
顯示如下信息表示創建成功
FO  Successfully connected to database.
All done, your SCM database is configured correctly!
11、檢查mysqld服務是否開啓  
------------------
mysql出錯重新安裝要卸載乾淨
卸載參考:https://zhidao.baidu.com/question/585362502.html
-------------------
2、配置CDH源 
1) 主節點創建
mkdir -p /opt/cloudera/parcel-repo
agent節點創建
mkdir -p /opt/cloudera/parcels
2)
mv softwares/CDH-5.3.6-1.cdh5.3.6.p0.11-el6.parcel* cloudera/parcel-repo/
mv CDH-5.3.6-1.cdh5.3.6.p0.11-el6.parcel.sha1 CDH-5.3.6-1.cdh5.3.6.p0.11-el6.parcel.sha    把結尾1去掉
mv manifest.json  /opt/cloudera/parcel-repo/*
3)更改 parcel-repo parcels 所有人
主節點 chown -R cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo/ 
agent  chown -R cloudera-scm:cloudera-scm /opt/cloudera/parcels/ 
3、啓動相關進程
/opt/cloudera-manager/cm-5.3.6/etc/init.d   server和agent進程啓動腳本目錄
1) 在主節點啓動server進程
/opt/cloudera-manager/cm-5.3.6/etc/init.d/cloudera-scm-server start
CM日誌文件路徑
/opt/cloudera-manager/cm-5.3.6/log/cloudera-scm-server
# netstat -tlnup | grep 7180  是否處於監聽狀態來確認jetty web服務是否啓動成功
2)從節點啓動agent進程 
/opt/cloudera-manager/cm-5.3.6/etc/init.d/cloudera-scm-agent start 
ps -ef | grep cloudera    python維護的進程,所以jps是看不到
4、進入web管理頁面
http://sdzn-test-cdh01.com:7180/
admin admin
解決警告:
內存交換區:echo 0 > /proc/sys/vm/swappiness 
透明大頁面:echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag 
# vi /etc/rc.local  加入echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag 命令
五、大數據框架安裝部署
說明:/opt/cloudera/parcels/CDH  各個組件框架的配置、命令、jar包安裝目錄
1、hdfs
export HADOOP_USER_NAME=hdfs  針對hadoop,設置一個臨時的hdfs用戶
2、yare
/opt/cloudera/parcels/CDH/jars   
# hadoop checknative   支持哪些壓縮
3、zookeeper
報錯:對當前 NameNode 的名稱目錄進行格式化。如果名稱目錄不爲空,此操作將失敗。
正常從非ha狀態升級Ha報錯,正常現象
4、 hive
在mysql中針對hive做一些權限設置
mysql> create database hive default character set latin1;
grant all privileges on hive.* to 'hive'@'%' identified by 'hive' ;
flush privileges ;
grant all privileges on hive.* to 'hive'@'sdzn-test-cdh03.com' identified by 'hive' ;
metastore :當mysql在遠程端時需要啓動該服務進程,客戶端通過metastore與mysql數據庫通訊
hiveserver2: 客戶端可以通過jdbc的方式與hive元數據庫通訊,
可以在多個客戶端通過一個新的命令行shell (beeline) mysql數據庫通訊
hiveserver2: 
beeline> !connect jdbc:hive2://sdzn-test-cdh03.com:10000
5、sqoop
注意啓動sqoop server進程服務的服務器上放置驅動包
mysql> grant all privileges on *.* to 'root'@'sdzn-test-cdh03.com' identified by 'root' ;
測試:
# sqoop  list-databases  --help 
sqoop  list-databases \
--connect  jdbc:mysql://sdzn-test-cdh01.com:3306 \
--username  root \
--password  123456
該命令執行的客戶端主機/usr/share/java 目錄下要有連接mysql驅動包
grant all privileges on *.* to 'root'@'sdzn-test-cdh03.com' identified by 'root' ;
6、flume
在CM上,一個flume組件管理相同一類(conf配置內容相同)的agent服務進程
file:/opt/cloudera-manager/cm-5.3.6/run/cloudera-scm-agent/process/88-flume-AGENT/flume.conf
可以在flume的配置頁面下更改flume.conf信息
source   EXEC  tail -f   /.../xx.log 
echo  "xxxx"  >  xx.log 
channel 
sink       hdfsSink 
/flume/%Y%m%d/%h
向hdfs寫入數據時,以flume的身份訪問,並創建目錄
報錯:
hdfs dfs -mkdir -p /flume 
hdfs dfs -chown -R   flume:flume /flume 
7、oozie
ext-2.2.zipJS 依賴jar包 ,需要解壓到oozie server進程所在的服務器上
解壓到 /var/lib/oozie 目錄下
8、hbase 
9、 Hue 是大數據的web工具
hql
mysq
oozie
mr-hs
hdfs-添加、修改、刪除
Hue+CM一起使用  
10、
spark  on yarn     由yarn來管理spark提交的任務 
RS NM
spark  standalone  由standalone模式去協調資源 
master     driver/app
slave  從節點
CM5.3.6 對應的spark 1.2 
sparkSql  sql on hadoop
impala  CDH 
wordcount 
scala 面向函數式的編程,面向對象
sc.readHDFS(/user/beifeng/input/wc.txt).flatmap(x=>x.split(" ")).map(x=>(x,1)).reduceBykey((x,y)=>(x+y)).collect  
Array((spark,10),(hive,5).......)
sc.readHDFS(/user/beifeng/input/wc.txt).flatmap(x=>x.split(" ")).map(x=>(x,1)).reduceBykey((x,y)=>(x+y)).collect  
sc.readHDFS(/user/beifeng/input/wc.txt).flatmap(_.split(" ")).map((_,1)).reduceBykey((_,_)).collect









發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章