Linux7 下Hadoop叢集使用者管理方案之二 CDH5.9.0版本安裝配置
阿新 • • 發佈:2019-01-10
前期準備:
第一步:裝NTP
這個單獨做了一個文件專門寫NTP.
我擦。搞死了。一上午都在搞這個ntp。。。終於搞定了。
第二步:改Hosts檔案
echo '10.10.106.156 edu-bigdata-01.novalocal' > /etc/hosts
echo '10.10.106.157 edu-bigdata-02.novalocal' >> /etc/hosts
echo '10.10.106.158 edu-bigdata-03.novalocal' >> /etc/hosts
echo '127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4' >> /etc/hosts
echo '::1 localhost localhost.localdomain localhost6 localhost6.localdomain6' >> /etc/hosts
第三步:關閉SELinux
# echo "SELINUX=disabled" > /etc/sysconfig/selinux ;
第四步:關閉防火牆
CentOS 6
# service iptables stop
# chkconfig iptables off
CentOS 7
service firewall stop # 關閉防火牆
chkconfig firewall off #開機不啟動
第五步:修改transparent_hugepage引數,這一引數預設值可能會導致CDH效能下降
CentOS 6在/etc/rc.local 中增加一行:
# echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag
CentOS 7 在/etc/rc.local中增加一行
echo never > /sys/kernel/mm/transparent_hugepage/defrag
或者使用root執行
# echo 'never' > /sys/kernel/mm/transparent_hugepage/defrag
第六步:安裝JDK
yum install -y java
第七步:外部資料庫安裝 mysql CentOS 7.2系統
安裝
# yum install mysql
–y
#yum install -y mysql-server
#yum install mysql-devel
這裡有CentOS7 的問題。mysql-server 被替換成了mariadb
這裡使用rpm的方式安裝
設定開機啟動
# chkconfig mysqld on
啟動mysql資料庫
# service mysqld start
設定MySQL的root使用者設定密碼
# mysql –uroot –p
新建的資料庫,預設密碼位空,直接回車即可
mysql>set password for [email protected]=password('123456');
開啟遠端訪問
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'edu-bigdata-01.novalocal' IDENTIFIED BY '123456' WITH GRANT OPTION;
mysql>FLUSH PRIVILEGES;
第八步:配置免密登陸
ssh-keygen -t rsa
三次回車
生成的公私鑰對在 ~/.ssh 目錄下
將公鑰複製到ip地址為10.10.106.156的遠端機上:
ssh-copy-id -i /root/.ssh/id_rsa/pub [email protected]10.10.106.156
ssh-copy-id 會自動把 .ssh 的許可權設定為 ~/.ssh (700) ~/.ssh/authorized(600)
這裡需要注意的一點。可能按規矩設定完了沒有免密登陸
使用ls -l -a,可以看到兩個目錄
.
..
這兩個的許可權需要單獨設定,如果有其他的許可權的話,就會不能免密。
CM正式安裝
第一步:準備 CDH 5.9.0的安裝包。使用parcel的方式
首先在主伺服器上安裝httpd服務,可以對外暴漏服務。
yum install -y httpd
啟動httpd
service httpd start
建立資料夾存放parcel
mkdir -p /var/www/html/cdh5/parcel/5.9.0
拷貝安裝檔案及配置到該目錄下
cp CDH-5.9.0-1.cdh5.9.0.p0.23-el7.parcel /var/www/html/cdh5/parcel/5.9.0/
cp CDH-5.9.0-1.cdh5.9.0.p0.23-el7.parcel.sha1 /var/www/html/cdh5/parcel/5.9.0
cp manifest.json /var/www/html/cdh5/parcel/5.9.0
並且將 CDH-5.9.0-1.cdh5.9.0.p0.23-el7.parcel.sha1改為名 CDH-5.9.0-1.cdh5.9.0.p0.23-el7.parcel.sha
mv /var/www/html/cdh5/parcel/5.9.0/CDH-5.9.0-1.cdh5.9.0.p0.23-el7.parcel.sha1 /var/www/html/cdh5/parcel/5.9.0/CDH-5.9.0-1.cdh5.9.0.p0.23-el7.parcel.sha
第二步:準備Cloudera-manager包
下載地址為:
下載cloudera-manager-centos7-cm5.9.0_x86_64.tar.gz
我們在/opt目錄下安裝,每個節點都把cloudera-manager-centos7-cm5.9.0_x86_64.tar.gz解壓到/opt下。
最終形成的目錄結構為
[[email protected] opt]# pwd
/opt
[[email protected] opt]# ll
總用量 570412
drwxr-xr-x. 4 1106 4001 4096 10月 6 2016 cloudera
-rw-r--r--. 1 root root 584088598 4月 24 20:05 cloudera-manager-centos7-cm5.9.0_x86_64.tar.gz
drwxr-xr-x. 9 1106 4001 4096 10月 6 2016 cm-5.9.0
第三步:下載jdbc driver .
tar zxvf mysql-connector-java-5.1.38.tar.gz
cp mysql-connector-java-5.1.38/mysql-connector-java-5.1.38-bin.jar /usr/share/java/mysql-connector-java.jar
第四步:初始化CM使用的資料庫
通過cm的資料庫指令碼初始化資料庫。
/opt/cm-5.9.0/share/cmf/schema/scm_prepare_database.sh mysql scm -hlocalhost -uroot -p123456
--scm-host localhost scm scm scm
# All done, your SCM database is configured correctly!
第五步:準備 parcel。
每個節點都建立cloudera-scm使用者
在主節點上執行:
mkdir -p /opt/cloudera/parcel-repo
chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo
在每個agent節點上執行:
mkdir -p /opt/cloudera/parcels
chown cloudera-scm:cloudera-scm /opt/cloudera/parcels
將CHD5相關的Parcel包放到主節點的/opt/cloudera/parcel-repo/目錄中(parcel-repo需要手動建立)。
這塊需要把剛才第五步好好看看。這個圖不是太必須貌似。但是免密登陸一定要設定。
此時可以通過agent的log檢視資訊 tail -200f /opt/cm-5.9.0/log/cloudera-scm-agent/cloudera-scm-agent.log
還是遇到了一些問題。 主機間免密登陸是一定要設定的。而且設定時候需要注意檔案加的許可權 ls -l -a 另外cloudera-scm使用者也要建立。
無腦繼續了
一個個的綠色✔️。 完成。 真是坎坷的過程。雖然已經第二次安裝了。每次都能遇到不同的坑。哈哈。 下一步該配置Kerberos了。雖然也配置過了,但是也是充滿冒險的旅程。開始吧。 各位同道如果有任何問題,可以找我。
相關的檔案如下:
- -rwxrwxrwx. 1 root root 1492922238 4月 25 15:04 CDH-5.9.0-1.cdh5.9.0.p0.23-el7.parcel
- -rwxrwxrwx. 1 root root 41 4月 25 15:04 CDH-5.9.0-1.cdh5.9.0.p0.23-el7.parcel.sha1
- -rw-r--r--. 1 root root 63988 4月 25 16:22 manifest.json
mkdir /var/lib/cloudera-scm-server
mkdir /var/log/cloudera-scm-server
chown cloudera-scm:cloudera-scm /var/log/cloudera-scm-server
Server啟動
/opt/cm-5.9.0/etc/init.d/cloudera-scm-server start
開機自啟動
cp /opt/cm-5.9.0/etc/init.d/cloudera-scm-server /etc/init.d/cloudera-scm-server
chkconfig cloudera-scm-server on
修改/etc/init.d/cloudera-scm-server檔案的內容,將CMF_DEFAULTS 的值由 ${CMF_DEFAULTS:-/etc/default} 改為/opt/cm-5.9.0/etc/default
Agent啟動
首先配置Agent的
vi /opt/cm-5.9.0/etc/cloudera-scm-agent/config.ini
server_host=10.10.106.156
啟動
/opt/cm-5.9.0/etc/init.d/cloudera-scm-agent start
開機自啟動
cp /opt/cm-5.9.0/etc/init.d/cloudera-scm-agent /etc/init.d/cloudera-scm-agent
chkconfig cloudera-scm-agent on
修改/etc/init.d/cloudera-scm-agent檔案的內容,將CMF_DEFAULTS 的值由 ${CMF_DEFAULTS:-/etc/default} 改為/opt/cm-5.9.0/etc/default
注意:如果CM Server主機上也要啟動CM Agent,則也要執行上述命令
第六步:訪問CMServer:7180
這塊需要把剛才第五步好好看看。這個圖不是太必須貌似。但是免密登陸一定要設定。
此時可以通過agent的log檢視資訊 tail -200f /opt/cm-5.9.0/log/cloudera-scm-agent/cloudera-scm-agent.log
還是遇到了一些問題。 主機間免密登陸是一定要設定的。而且設定時候需要注意檔案加的許可權 ls -l -a 另外cloudera-scm使用者也要建立。
無腦繼續了
一個個的綠色✔️。 完成。 真是坎坷的過程。雖然已經第二次安裝了。每次都能遇到不同的坑。哈哈。 下一步該配置Kerberos了。雖然也配置過了,但是也是充滿冒險的旅程。開始吧。 各位同道如果有任何問題,可以找我。