安裝可以參考這個老哥 http://blog.csdn.net/u012185296
也可以參考下面的安裝cmd,
下載下傳安裝包
wget http://archive.cloudera.com/cdh5/parcels/5.12.1.3/CDH-5.12.1-1.cdh5.12.1.p0.3-el6.parcel
wget http://archive.cloudera.com/cdh5/parcels/5.12.1.3/CDH-5.12.1-1.cdh5.12.1.p0.3-el6.parcel.sha1
wget http://archive.cloudera.com/spark2/parcels/2.2.0.cloudera1/SPARK2-2.2.0.cloudera1-1.cdh5.12.0.p0.142354-el6.parcel
wget http://archive.cloudera.com/spark2/parcels/2.2.0.cloudera1/SPARK2-2.2.0.cloudera1-1.cdh5.12.0.p0.142354-el6.parcel.sha1
wget http://archive.cloudera.com/spark2/csd/SPARK2_ON_YARN-2.1.0.cloudera1.jar
wget http://archive.cloudera.com/spark2/parcels/2.1.0.cloudera1/SPARK2-2.1.0.cloudera1-1.cdh5.7.0.p0.120904-el6.parcel
wget http://archive.cloudera.com/spark2/parcels/2.1.0.cloudera1/SPARK2-2.1.0.cloudera1-1.cdh5.7.0.p0.120904-el6.parcel.sha1
安裝cmd
1. 網絡配置(所有節點)
vi /etc/sysconfig/network修改hostname:
NETWORKING=yes
HOSTNAME=n1
通過service network restart重新開機網絡服務生效。
vi /etc/hosts,修改ip與主機名的對應關系
192.168.1.106 n1
192.168.1.107 n2
192.168.1.108 n3
注意:這裡需要将每台機器的ip及主機名對應關系都寫進去,本機的也要寫進去,否則啟動Agent的時候會提示hostname解析錯誤。
1.格式化分區
fdisk -l 檢視盤
mkfs.ext4 -T largefile /dev/xvdb1 格式化分區
将分區資訊寫入fstab
echo '/dev/sda /home/hdfs/hd01 ext4 defaults 0 0' >> /etc/fstab
echo '/dev/sdb /home/hdfs/hd01 ext4 defaults 0 0' >> /etc/fstab
echo '/dev/sdc /home/hdfs/hd02 ext4 defaults 0 0' >> /etc/fstab
echo '/dev/sdd /home/hdfs/hd03 ext4 defaults 0 0' >> /etc/fstab
echo '/dev/sde /home/hdfs/hd04 ext4 defaults 0 0' >> /etc/fstab
echo '/dev/sdf /home/hdfs/hd05 ext4 defaults 0 0' >> /etc/fstab
echo '/dev/sdg /home/hdfs/hd06 ext4 defaults 0 0' >> /etc/fstab
echo '/dev/sdh /home/hdfs/hd07 ext4 defaults 0 0' >> /etc/fstab
echo '/dev/sdi /home/hdfs/hd08 ext4 defaults 0 0' >> /etc/fstab
echo '/dev/sdj /home/hdfs/hd09 ext4 defaults 0 0' >> /etc/fstab
echo '/dev/sdk /home/hdfs/hd10 ext4 defaults 0 0' >> /etc/fstab
建立相應檔案夾 然後挂載分區
挂載分區
mount /dev/sda /home/hdfs/hd01
mount /dev/sdb /home/hdfs/hd02
mount /dev/sdc /home/hdfs/hd03
mount /dev/sdd /home/hdfs/hd04
mount /dev/sde /home/hdfs/hd05
mount /dev/sdf /home/hdfs/hd06
mount /dev/sdg /home/hdfs/hd07
mount /dev/sdh /home/hdfs/hd08
mount /dev/sdi /home/hdfs/hd09
mount /dev/sdj /home/hdfs/hd10
mount /dev/sdk /home/hdfs/hd10
防護牆關閉
關閉防火牆:
service iptables stop (臨時關閉)
chkconfig iptables off (重新開機後生效)
2.mysql 安裝
yum install mysql-server安裝mysql伺服器。
chkconfig mysqld on設定開機啟動,
service mysqld start啟動mysql服務
設定root的初試密碼:mysqladmin -u root password '54321'
mysql -uroot -p進入mysql指令行,
删除mysql.user表中的匿名使用者,修改密碼
use mysql;
delete from user where user='';
update user set password=PASSWORD('54321') where user='root';
flush privileges;
建立以下資料庫:
#hive
create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
#activity monitor
create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
#hue
create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
設定root授權通路以上所有的資料庫:
#授權root使用者在主節點擁有所有資料庫的通路權限
grant all privileges on *.* to 'root'@'namenode1' identified by '54321' with grant option;
grant all privileges on *.* to 'root'@'127.0.0.1' identified by '54321' with grant option;
grant all privileges on *.* to 'root'@'localhost' identified by '54321' with grant option;
grant all privileges on *.* to 'root'@'%' identified by '54321' with grant option;
flush privileges;
grant all privileges on *.* to 'root'@'bakdb01' identified by '123456' with grant option;
grant all privileges on *.* to 'root'@'127.0.0.1' identified by '123456' with grant option;
grant all privileges on *.* to 'root'@'localhost' identified by '123456' with grant option;
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
flush privileges;
3.ntp安裝
叢集中所有主機必須保持時間同步,如果時間相差較大會引起各種問題。 具體思路如下:
master節點作為ntp伺服器與外界對時中心同步時間,随後對所有datanode節點提供時間同步服務。
所有datanode節點以master節點為基礎同步時間。
所有節點安裝相關元件:yum install ntp。完成後,配置開機啟動:chkconfig ntpd on,檢查是否設定成功:chkconfig --list ntpd其中2-5為on狀态就代表成功。
主節點配置
在配置之前,先使用ntpdate手動同步一下時間,免得本機與對時中心時間差距太大,使得ntpd不能正常同步。這裡選用65.55.56.206作為對時中心,ntpdate -u 65.55.56.206。
ntp服務隻有一個配置檔案,配置好了就OK。 這裡隻給出有用的配置,不需要的配置都用#注掉,這裡就不在給出:
driftfile /var/lib/ntp/drift
restrict 127.0.0.1
restrict -6 ::1
restrict default nomodify notrap
server 65.55.56.206 prefer
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
配置檔案完成,儲存退出,啟動服務,執行如下指令:service ntpd start
檢查是否成功,用ntpstat指令檢視同步狀态,出現以下狀态代表啟動成功:
synchronised to NTP server () at stratum 2
time correct to within 74 ms
polling server every 128 s
如果出現異常請等待幾分鐘,一般等待5-10分鐘才能同步。
配置ntp用戶端(所有datanode節點)
driftfile /var/lib/ntp/drift
restrict 127.0.0.1
restrict -6 ::1
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
#這裡是主節點的主機名或者ip
server n1
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
ok儲存退出,請求伺服器前,請先使用ntpdate手動同步一下時間:ntpdate -u n1 (主節點ntp伺服器)
這裡可能出現同步失敗的情況,請不要着急,一般是本地的ntp伺服器還沒有正常啟動,一般需要等待5-10分鐘才可以正常同步。啟動服務:service ntpd start
因為是連接配接内網,這次啟動等待的時間會比master節點快一些,但是也需要耐心等待一會兒。
建立一個jdk的安裝目錄,我這裡是在/usr/local/下建立了Java目錄,指令:mkdir /usr/local/java ,再把 jdk-7u75-linux-x64.tar.gz壓縮包從opt目錄下複制到/usr/local/java目錄下,指令如下:
[plain] view plain copy
cp jdk-7u75-linux-x64.tar.gz /usr/local/java
安裝jdk
五:解壓縮剛才下載下傳的: jdk-7u75-linux-x64.tar.gz包,指令如下:
[plain] view plain copy 在CODE上檢視代碼片派生到我的代碼片
tar xvf jdk-7u75-linux-x64.tar.gz
六:解壓完成後,進入到:
[[email protected]~]# cd /etc
[[email protected] etc]# vi profile
在profile檔案的末尾加入如下指令:
export JAVA_HOME=/usr/local/java/jdk1.7.0_75
export JRE_HOME=/usr/local/java/jdk1.7.0_75/jre
export PATH=$PATH:/usr/local/java/jdk1.7.0_75/bin
export CLASSPATH=.:/usr/local/java/jdk1.7.0_75/lib:/usr/local/java/jdk1.7.0_75/jre/lib
source /etc/profile 環境變量配置生效
主節點解壓安裝
cloudera manager的目錄預設位置在/opt下,解壓:tar xzvf cloudera-manager*.tar.gz将解壓後的cm-5.1.3和cloudera目錄放到/opt目錄下。
為Cloudera Manager 5建立資料庫
首先需要去MySql的官網下載下傳JDBC驅動,http://dev.mysql.com/downloads/connector/j/,解壓後,找到mysql-connector-java-5.1.33-bin.jar,放到/opt/cm-5.10.1/share/cmf/lib/中。
在主節點初始化CM5的資料庫:
/opt/cm-5.12.0/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -uroot -p54321 --scm-host localhost scm scm scm
Agent配置
修改/opt/cm-5.10.1/etc/cloudera-scm-agent/config.ini中的server_host為主節點的主機名。
同步Agent到其他節點
scp -r /opt/cm-5.12.0 [email protected]:/opt/
在所有節點建立cloudera-scm使用者
useradd --system --home=/opt/cm-5.10.1/run/cloudera-scm-server/ --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
useradd --system --home=/opt/cm-5.10.1/run/cloudera-scm-server/ --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm-5-12-0
準備Parcels,用以安裝CDH5
将CHD5相關的Parcel包放到主節點的/opt/cloudera/parcel-repo/目錄中(parcel-repo需要手動建立)。
相關的檔案如下:
CDH-5.1.3-1.cdh5.1.3.p0.12-el6.parcel
CDH-5.1.3-1.cdh5.1.3.p0.12-el6.parcel.sha1
manifest.json
最後将CDH-5.1.3-1.cdh5.1.3.p0.12-el6.parcel.sha1,重命名為CDH-5.1.3-1.cdh5.1.3.p0.12-el6.parcel.sha,這點必須注意,否則,系統會重新下載下傳CDH-5.1.3-1.cdh5.1.3.p0.12-el6.parcel檔案。
相關啟動腳本
通過/opt/cloudera-manager/cm-5.12.0/etc/init.d/cloudera-scm-agent start啟動服務端。
通過/opt/cm-5.12.0/etc/init.d/cloudera-scm-agent start啟動Agent服務。
/opt/cloudera-manager/cm-5.12.0/etc/init.d/cloudera-scm-agent start
/opt/cm-5.10.1/etc/init.d/cloudera-scm-server hard_stop_confirmed restart
/opt/cm-5.10.1/etc/init.d/cloudera-scm-agent stop
我們啟動的其實是個service腳本,需要停止服務将以上的start參數改為stop就可以了,重新開機是restart。
安裝時,檢測錯誤
運作echo 0 > /proc/sys/vm/swappiness
vi /etc/sysctl.conf
添加vm.swappiness=0
運作“echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag”然後将同一指令添加到一個 init 腳本中,如 /etc/rc.local,這樣當系統重新開機時就會予以設定。
echo never > /sys/kernel/mm/transparent_hugepage/defrag
cp /opt/cm-5.10.1/share/cmf/lib/mysql-connector-java-5.1.34-bin.jar /opt/cloudera/parcels/CDH-5.3.2-1.cdh5.3.2.p0.10/lib/hive/lib/