大資料叢集搭建 – 2. CDH叢集安裝 – NTP,MYSQL,nginx安裝

星空發表於2018-07-18

五、安裝ntpd時間伺服器

按照Cloudera的官方建議,所有的CDH節點和Cloudea Manager節點都需要啟動ntpd服務。要不然會報如下錯誤: 
1. 此角色的主機的執行狀況為不良。 以下執行狀況測試不良: 時鐘偏差. 
2. The host`s NTP service is not synchronized to any remote server.

解決方法:
配置一臺ntp伺服器,所有的CDH節點作為此ntp伺服器的客戶端。
1.一臺ntp伺服器,192.168.168.81, 此機器負責與外部網路的ntp服務同步標準時間,並作為區域網內的ntp伺服器。
2.兩臺ntp客戶端,192.168.168.82,192.168.168.83, 這些機器與192.168.168.81伺服器同步時間。
1.檢視是否安裝的ntp時間伺服器
rpm -qa | grep ntp
2.安裝ntp服務
yum install -y ntp ntpdate
3.修改ntp配置檔案
vi /etc/ntp.conf

-----------------------------------------------------
ntp伺服器需要修改的是
-----------------------------------------------------
# 中國這邊最活躍的時間伺服器 : http://www.pool.ntp.org/zone/cn
server 0.cn.pool.ntp.org
server 0.asia.pool.ntp.org
server 3.asia.pool.ntp.org

# allow update time by the upper server
# 允許上層時間伺服器主動修改本機時間
restrict 0.cn.pool.ntp.org nomodify notrap noquery
restrict 0.asia.pool.ntp.org nomodify notrap noquery
restrict 3.asia.pool.ntp.org nomodify notrap noquery

# Undisciplined Local Clock. This is a fake driver intended for backup
# and when no outside source of synchronized time is available.
# 外部時間伺服器不可用時,以本地時間作為時間服務
server  127.127.1.0     # local clock
fudge   127.127.1.0 stratum 10


4.啟動ntp服務
service ntpd start  啟動ntp服務
service ntpd status 

5.設定開機啟動
chkconfig ntpd on

檢視是否已經開啟服務
systemctl list-unit-files | grep ntp

6.檢視服務連線和監聽
netstat -tlunp | grep ntp

7.檢視網路中的NTP伺服器,同時顯示客戶端和每個伺服器的關係
ntpq -p

8.檢視時間同步狀態,這個一般需要5-10分鐘後才能成功連線和同步。所以,伺服器啟動後需要稍等下
ntpstat

客戶端配置

1. 配置/etc/ntp.conf檔案,在此檔案中新增如下配置: 
server 192.168.168.81 prefer 
2. 執行chkconfig ntpd on,設定開機啟動。
3. 執行service ntpd start啟動ntpd服務。
4. 同步NTP-Server時間 
ntpdate -u 192.168.168.81
5. 執行hwclock –systohc,把系統時間同步到硬體BIOS。

安裝好NTP之後,設定為開機自動啟動,但是重啟之後NTP並沒有啟動。
這是因為centos7已經安裝了一個類似的工具chronyd。
需要先禁用chronyd。

systemctl enable ntpd
systemctl disable chronyd

六、安裝mysql

1. 檢視是否已經安裝了mysql伺服器
rpm -qa | grep -i mysql

2. 下載7.5 rpm
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm
sudo yum update

3. 安裝mysql-server
sudo yum install mysql-server

4. 啟動mysqld
sudo systemctl start mysqld

5. 設定開機啟動
sudo systemctl enable mysqld

6. 配置msyql
首先停止mysql服務
sudo systemctl stop mysqld



安裝JDBC驅動
1.下載JDBC驅動
http://www.mysql.com/downloads/connector/j/5.1.html (in .tar.gz format).
2.解壓驅動包
tar zxvf mysql-connector-java-5.1.46.tar.gz
3.拷貝JDBC驅動,重新命名,放到/usr/share/java/.
如果目標目錄不存在,建立它。
sudo cp mysql-connector-java-5.1.46-bin.jar /usr/share/java/mysql-connector-java.jar

七、安裝nginx,掛載本地repo

步驟:

  • 安裝nginx,並開啟目錄瀏覽
  • 下載CM和CDH的repo-as-tarball包
安裝nginx,並開啟目錄瀏覽
安裝nginx對應的源
rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
yum install nginx

開放目錄許可權
vi /etc/nginx/nginx.conf

在配置檔案裡面加入以下引數
autoindex on;
autoindex_exact_size on; 
autoindex_localtime on;

autoindex_exact_size on;
顯示出檔案的確切大小,單位是bytes。
改為off後,顯示出檔案的大概大小,單位是kB或者MB或者GB

autoindex_localtime on;
預設為off,顯示的檔案時間為GMT時間。
改為on後,顯示的檔案時間為檔案的伺服器時間
下載CM和CDH的repo-as-tarball包
下載跟OS釋出版本對應的tar包

Cloudera Manager 5: 
https://archive.cloudera.com/cm5/repo-as-tarball/


檢查centos的md5值
md5sum -c cm5.14.3-centos7.tar.gz.md5

拷貝解壓後的檔案到html目錄下
cd /usr/share/nginx/html

我們可以通過http://dev-hd001/cm/來訪問我們的倉庫

指導地址

https://www.cloudera.com/documentation/enterprise/latest/topics/cm_ig_create_local_package_repo.html#cmig_topic_21_3
定義repo檔案
vi /etc/yum.repos.d/cloudera-cm.repo
加入以下內容
# Packages for Cloudera`s Distribution for cm, Version 5, on RedHat    or CentOS 7 x86_64
name=Cloudera`s Distribution for cm, Version 5
baseurl=http://dev-hd001/cm/5.14.3/
gpgkey = http://dev-hd001/cm/RPM-GPG-KEY-cloudera    
gpgcheck = 1
安裝CM
sudo yum install cloudera-manager-daemons cloudera-manager-server

拷貝驅動到cmf資料夾
cp mysql-connector-java.jar /usr/share/cmf/lib/

執行mysql配置語句
sudo /usr/share/cmf/schema/scm_prepare_database.sh mysql -uroot -pkeep scm scm keep

執行完這條語句以後,我們發現db.properties檔案發生了改變

[root@dev-fhcb-09-hd001 soft]# cat /etc/cloudera-scm-server/db.properties
# Auto-generated by scm_prepare_database.sh on Sun Oct  7 09:45:15 CST 2018
#
# For information describing how to configure the Cloudera Manager Server
# to connect to databases, see the "Cloudera Manager Installation Guide."
#
com.cloudera.cmf.db.type=mysql
com.cloudera.cmf.db.host=localhost
com.cloudera.cmf.db.name=scm
com.cloudera.cmf.db.user=scm
com.cloudera.cmf.db.setupType=EXTERNAL
com.cloudera.cmf.db.password=keep



sudo /usr/share/cmf/schema/scm_prepare_database.sh mysql -uroot -pkeep amon amon keep
sudo /usr/share/cmf/schema/scm_prepare_database.sh mysql -uroot -pkeep rman rman keep
sudo /usr/share/cmf/schema/scm_prepare_database.sh mysql -uroot -pkeep hue hue keep
sudo /usr/share/cmf/schema/scm_prepare_database.sh mysql -uroot -pkeep metastore metastore keep
sudo /usr/share/cmf/schema/scm_prepare_database.sh mysql -uroot -pkeep sentry sentry keep
sudo /usr/share/cmf/schema/scm_prepare_database.sh mysql -uroot -pkeep nav nav keep
sudo /usr/share/cmf/schema/scm_prepare_database.sh mysql -uroot -pkeep navms navms keep
sudo /usr/share/cmf/schema/scm_prepare_database.sh mysql -uroot -pkeep oozie oozie keep
sudo /usr/share/cmf/schema/scm_prepare_database.sh mysql -uroot -pkeep activity_monitor activity_monitor keep


啟動CM
sudo systemctl start cloudera-scm-server

檢視CM日誌
sudo tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log

訪問CM
http://dev-fhcb-09-hd001:7180/

每臺機器上安裝cdh agent

sudo yum install -y cloudera-manager-agent

相關文章