虛擬機VBox-偽分布式版cdh-5.13.0-已經(jīng)測試可用~~~~如有問題請聯(lián)系我~~~
第一部分:搭建虛擬機主機
1.首先創(chuàng)建三個虛擬操作系統(tǒng)主機
hadoop01.mark.kevin 硬盤:150G 內存:6G
hadoop02.mark.kevin 硬盤:100G 內存:2G
hadoop03.mark.kevin 硬盤:100G 內存:2G
1.1開機之前,記得在VBox目標主機設置里,設置存儲,修改為目標ISO文件
2.安裝操作系統(tǒng):CentOS-6.9-x86_64-minimal.iso
語言:中文-簡體
鍵盤:美國-國際
地區(qū):中國/上海
主機名:見上
root密碼:Abcd1234
創(chuàng)建自定義布局:
刪干凈,創(chuàng)建標準分區(qū)
/boot 1024M 強制為主分區(qū)
swap 內存兩倍(4096MB)
/ 剩余全部
網(wǎng)絡配置:
BOOTPROTO=static
IPADDR=192.168.40.241? 192.168.40.242? 192.168.40.243
GATEWAWY=192.168.40.1
NETMASK=255.255.255.0
DNS1=8.8.8.8
DNS2=8.8.4.4
重啟系統(tǒng)后別忘了修改Vbox的網(wǎng)絡設定:改為橋接即可
將三臺虛擬機搭建好并相互ping通,用Xshell進行以后的操作
將三臺虛擬機全部設置好進入第二部分
第二部分:操作系統(tǒng)基礎服務及軟件配置
1.安裝一些基本的插件 (所有節(jié)點)
yum -y install vim
yum -y install lrzsz
yum -y install wget
yum -y install numactl
yum -y install ntp
2.關閉防火墻 (所有節(jié)點)
1) 永久性生效,重啟后不會復原
開啟: chkconfig iptables on
關閉: chkconfig iptables off
2) 即時生效,重啟后復原
開啟: service iptables start
關閉: service iptables stop
3.永久關閉SELinux(否則samba可能不能訪問)(所有節(jié)點)
修改配置文件
# vi /etc/selinux/config
將SELINUX=enforcing改為SELINUX=disabled
需要重啟機器生效?。?/p>
getenforce 檢查SELinux狀態(tài)
setenforce 0 暫時關閉SELinux
4.設置主機host (所有節(jié)點)
vim /etc/hosts
192.168.40.241? hadoop01.mark.kevin? hadoop01
192.168.40.242? hadoop02.mark.kevin? hadoop02
192.168.40.243? hadoop03.mark.kevin? hadoop03
windows端:
C盤 -- Windows -- System32 -- drivers -- etc -- hosts 添加上去
5.創(chuàng)建普通用戶admin (所有節(jié)點)
創(chuàng)建:
adduser admin
(注意:
adduser: 會自動為創(chuàng)建的用戶指定主目錄、系統(tǒng)shell版本,會在創(chuàng)建時輸入用戶密碼。
useradd:需要使用參數(shù)選項指定上述基本設置,如果不使用任何參數(shù),則創(chuàng)建的用戶無密碼、無主目錄、沒有指定shell )
刪除: userdel -rf admin
6.配置ssh無秘鑰訪問(master訪問其他機器)(所有節(jié)點)
每臺主機:
首先要修改主機 和ssh連接到的遠程機 的配置文件:
vim? /etc/ssh/sshd_config
(要確保這些字符前無注釋符號“#”)(用 / 進行查找)
RSAAuthentication? yes
PubkeyAuthentication yes
AuthorizedKeysFile? .ssh/authorized_keys
PasswordAuthentication yes
PermitEmptyPasswords yes
hadoop01:
mkdir .ssh
chmod 700 .ssh
cd .ssh
touch authorized_keys
chmod 600authorized_keys
ssh-keygen?-t?rsa?-P?''
(注釋:-P表示密碼,-P '' 就表示空密碼,也可以不用-P參數(shù),這樣就要三車回車,用-P就一次回車。 它在/home/chenlb下生成.ssh目錄,.ssh下有id_rsa和id_rsa.pub。)
cat?id_rsa.pub?>>?authorized_keys
測試一下:ssh hadoop01
然后繼續(xù)分發(fā)秘鑰
chmod u+xid_rsa.pub
scpid_rsa.pub 192.168.40.242:/home/admin/
scpid_rsa.pub 192.168.40.243:/home/admin/
hadoop02 hadoop03:
(我們后來為了將hadoop02作為備用主節(jié)點也將hadoop02配置的和hadoop01相同)
mkdir .ssh
chmod 700 .ssh
cd .ssh
touch authorized_keys
chmod 600authorized_keys
cat?/home/admin/id_rsa.pub?>>?/root/.ssh/authorized_keys
rm -rf/home/admin/id_rsa.pub
測試hadoop01免密登錄hadoop02 hadoop03
7.安裝jdk1.8.0(推薦直接從官網(wǎng)里面找奇數(shù)版本-穩(wěn)定版)(所有節(jié)點)
創(chuàng)建 /opt/softwares /opt/modules
mkdir /opt/softwares (用于放安裝包)
mkdir /opt/modules (用于放軟件目錄)
下載版本為:jdk-8u151-linux-x64.tar.gz
tar -zxvf jdk-8u151-linux-x64.tar.gz -C /opt/modules/ (-v可以去掉)
vim /etc/profile
####################----BASIC------####################
#java? ? ? jdk1.8.0_151
export JAVA_HOME=/opt/modules/jdk1.8.0_151
export JAVA_BIN=$JAVA_HOME/bin
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export CLASSPATH=.:$JAVA_HOME/lib/mysql-connector-java-5.1.45-bin.jar
export PATH=$PATH:$JAVA_HOME/bin
#export JAVA_LIBRARY_PATH=/opt/cloudera/parcels/CDH/lib/hadoop/lib/native
把下載的jar包放進去
cp mysql-connector-java-5.1.45-bin.jar /opt/modules/jdk1.8.0_151/lib/
測試:
source /etc/profile
java -version
8.安裝mysql (RPM包智能安裝)? 節(jié)點:hadoop01
版本:mysql-5.7.20-1.el6.x86_64.rpm-bundle.tar
mkdir /opt/softwares/mysql-untar
tar -xf mysql-5.7.20-1.el6.x86_64.rpm-bundle.tar ./mysql-untar/
檢查過去的mysql包
rpm -qa | grep -i mysql
刪除過去的包
rpm -ev mysql-libs-* --nodeps mysql-libs-5.1.73-8.el6_8.x86_64
cd mysql-untar/
rpm -ivh mysql-community-common-5.7.20-1.el6.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.20-1.el6.x86_64.rpm
rpm -ivh mysql-community-client-5.7.20-1.el6.x86_64.rpm
rpm -ivh mysql-community-server-5.7.20-1.el6.x86_64.rpm
初始化mysql
mysqld --initialize --user=mysql
查看初始化密碼:
cat /var/log/mysqld.log
啟動服務
/etc/init.d/mysqld start
mysql -uroot -p
先修改密碼
> set password = password('Abcd1234');
設置遠程訪問
> grant all privileges on *.* to 'root' @'%' identified by 'Abcd1234';
> flush privileges;
> quit;
設置mysql開機啟動
chkconfig --add mysqld
chkconfig mysqld on
查看是否設置成功
chkconfig (都關閉(off)時是沒有自動啟動)
為了后面的hue,進行一下操作:
rpm -ivh? mysql-community-libs-compat-5.7.20-1.el6.x86_64.rpm
yum install -y python-lxml
9.配置NTP服務 (所有節(jié)點)
集群中所有主機必須保持時間同步,如果時間相差較大會引起各種問題
yum -y install ntp 安裝相關組件
chkconfig ntpd on 配置開機啟動
service ntpd start 開啟服務
ntpstat 檢查是否成功,用ntpstat命令查看同步狀態(tài)
出現(xiàn)以下狀態(tài)代表啟動成功:
unsynchronised
polling server every 64 s
10.設置用戶最大可打開文件數(shù),進程數(shù),內存占用 (所有節(jié)點)
# vim /etc/security/limits.conf
*? ? ? ? ? ? ? soft? nofile? 409600
*? ? ? ? ? ? ? hard? nofile? 409600
*? ? ? ? ? ? ? soft? nproc? 409600
*? ? ? ? ? ? ? hard? nproc? 409600
11.安裝Cloudera Manager之前的環(huán)境準備工作
安裝方式:parcel包離線安裝 (安裝方式有三種,正式的講有四種,詳情cloudera官網(wǎng))
目標版本:CDH-5.13.0
操作系統(tǒng):CentOS 6.9 minmal
系統(tǒng)環(huán)境準備:
1)幾臺機器的SSH互通
2)防火墻關閉
3)網(wǎng)絡正常,IP地址固定,hosts配置正常
4)NTP服務正常
軟件環(huán)境準備:
JDK:jdk1.8.0_151
mysql:mysql-5.7.20-1.el6.x86_64
JDBC驅動:mysql-connector-java-5.1.45-bin.jar
Cloudera Manager壓縮包:cloudera-manager-el6-cm5.13.0_x86_64.tar.gz
CDH安裝包:
CDH-5.13.0-1.cdh5.13.0.p0.29-el6.parcel
CDH-5.13.0-1.cdh5.13.0.p0.29-el6.parcel.sha1
manifest.json
安裝包網(wǎng)址:
JDK:Oracle-jdk官網(wǎng)下載 tar包
mysql: MySQL官網(wǎng)下載
JDBC驅動:MySQL官網(wǎng)下載
CM包:http://archive.cloudera.com/cm5/cm/5/
CDH包:http://archive.cloudera.com/cdh5/parcels/5.13.0/
12.安裝Cloudera Manager
一切準備就緒,開始安裝~
解壓安裝 (所有節(jié)點)
cloudera manager的目錄默認位置在/opt下,將包導入并解壓:
tar zxf cloudera-manager-el6-cm5.13.0_x86_64.tar.gz -C /opt/
創(chuàng)建cloudera-scm用戶(所有節(jié)點)
useradd --system --home=/opt/cm-5.13.0/run/cloudera-scm-server/ --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
為Cloudera Manager 5建立數(shù)據(jù)庫 并初始化(主節(jié)點)
先將JDBC驅動 mysql-connector-java-5.1.45-bin.jar,放到/opt/cm-5.13.0/share/cmf/lib/中。
cp mysql-connector-java-5.1.45-bin.jar /opt/cm-5.13.0/share/cmf/lib/
初始化:(主節(jié)點)
/opt/cm-5.13.0/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -uroot -pAbcd1234 --scm-host localhost scm scm scm
修改agent配置文件(所有節(jié)點)
修改/opt/cm-5.12.0/etc/cloudera-scm-agent/config.ini中的server_host為主節(jié)點的主機名。
vim /opt/cm-5.13.0/etc/cloudera-scm-agent/config.ini
server_host=hadoop01
準備Parcels,用以安裝CDH5
將CHD5相關的Parcel包放到主節(jié)點的/opt/cloudera/parcel-repo/目錄中。
相關的文件如下:
CDH-5.13.0-1.cdh5.13.0.p0.29-el6.parcel
CDH-5.13.0-1.cdh5.13.0.p0.29-el6.parcel.sha1
manifest.json
然后需將CDH-5.13.0-1.cdh5.13.0.p0.29-el6.parcel.sha1
重命名為CDH-5.13.0-1.cdh5.13.0.p0.29-el6.parcel.sha
mv CDH-5.13.0-1.cdh5.13.0.p0.29-el6.parcel /opt/cloudera/parcel-repo/
mv CDH-5.13.0-1.cdh5.13.0.p0.29-el6.parcel.sha1 /opt/cloudera/parcel-repo/CDH-5.13.0-1.cdh5.13.0.p0.29-el6.parcel.sha
mv manifest.json /opt/cloudera/parcel-repo/
給要創(chuàng)建的目錄權限:(所有節(jié)點)
setfacl -R -m group:cloudera-scm:rwx /var/lib
setfacl -R -m group:cloudera-scm:rwx /usr
setfacl -R -m group:cloudera-scm:rwx /etc
啟動腳本
通過/opt/cm-5.13.0/etc/init.d/cloudera-scm-server start啟動服務端。
通過/opt/cm-5.13.0/etc/init.d/cloudera-scm-agent start啟動Agent服務。
先啟動server
# /opt/cm-5.13.0/etc/init.d/cloudera-scm-server start
查看啟動情況
# tail -f /opt/cm-5.13.0/log/cloudera-scm-server/cloudera-scm-server.log
在所有主機上啟動cm agent
# /opt/cm-5.13.0/etc/init.d/cloudera-scm-agent start
查看啟動情況
# tail -f /opt/cm-5.13.0/log/cloudera-scm-agent/cloudera-scm-agent.out
# tail -f /var/log/cloudera-scm-agent/cloudera-scm-agent.out
停止服務stop,重啟是restart。
CDH5的安裝配置
Cloudera Manager Server和Agent都啟動以后,就可以進行CDH5的安裝配置了。
這時可以通過瀏覽器訪問主節(jié)點的7180端口測試一下了(由于CM Server的啟動需要花點時間,這里可能要等待一會才能訪問),默認的用戶名和密碼均為admin:
各個Agent節(jié)點正常啟動后,可以在當前管理的主機列表中看到對應的節(jié)點。選擇要安裝的節(jié)點,點繼續(xù)。
接下來,出現(xiàn)以下包名,說明本地Parcel包配置無誤,直接點繼續(xù)就可以了。
點擊,繼續(xù),如果配置本地Parcel包無誤,那么下圖中的已下載,應該是瞬間就完成了,然后就是耐心等待分配過程就行了。
番外篇:要做的
可以訪問的一些網(wǎng)址
cloudera manager管理工具:http://192.168.40.241:7180?? admin? admin
hue網(wǎng)址:http://192.168.40.241:8888/accounts/login/?next=/??? hue/hue123
job管理:http://192.168.40.241:8088/cluster
oozie頁面:http://192.168.40.241:11000/oozie/
番外篇:拷貝JDBC鏈接包
cp /opt/cm-5.13.0/share/cmf/lib/mysql-connector-java-5.1.45-bin.jar /opt/cloudera/parcels/CDH/lib/hive/lib/
cp /opt/cm-5.13.0/share/cmf/lib/mysql-connector-java-5.1.45-bin.jar? /opt/cloudera/parcels/CDH/lib/oozie/lib/
cp /opt/cm-5.13.0/share/cmf/lib/mysql-connector-java-5.1.45-bin.jar? /var/lib/oozie/