CDH6.0.1離線安裝

計劃用vmware虛擬機安裝三個節點,其中Cloudera Manager Server一臺(用來管理),cdh兩臺(Hadoop主從)。所有操作在root用戶下進行。
版本:

軟件 版本
os CentOS Linux release 7.5.1804
jdk 1.8.0_141
cm(Cloudera Manager) cm6(6.0.1)
cdh(Parcels) cdh6(6.0.1)
mysql mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar
mysql-connector-java 5.1.46

一、裝機,修改主機名,配置靜態ip

用vmware最小化安裝centos7後,修改主機名和hosts文件。

vi /etc/hostname
vi /etc/hosts

配置靜態ip

進入vmware,菜單欄選擇“編輯-虛擬網絡編輯器”,在最上邊選擇nat那個網卡,取消勾選最下邊的“使用本地dhcp服務……”,點擊中間的“nat設置”,記住ip、子網掩碼,網關。

然後本地的windows網絡設置,適配器設置裏找到vmware的對應的nat那個網卡,在ipv4設置裏改成靜態獲取,填上邊記住的內容。

進入虛擬機,vi /etc/sysconfig/network-scripts/ifcfg-ens33,需要修改的:

BOOTPROTO="static"
ONBOOT="yes"
IPADDR=192.168.xxx.xxx
NETMASK=255.255.255.0
GATEWAY=192.168.xxx.x
DNS1=8.8.8.8
DNS2=114.114.114.114

重啓:service network restart或者systemctl restart network

安裝常用軟件(可以不裝)

yum install -y lrzsz
yum install -y net-tools
yum install -y wget
yum install -y vim-enhanced
yum install -y bash-completion
yum install -y git
yum install -y telnet
yum install -y telnet-server

二、環境配置

禁用selinux

修改配置文件/etc/sysconfig/selinux,設置SELINUX=disabled

關閉防火牆

systemctl disable firewalld  &&  systemctl stop firewalld  &&  systemctl status firewalld

禁用透明大頁面壓縮

修改/etc/rc.local文件並添加以下兩行:

echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled

優化交換分區

echo "vm.swappiness=10" >> /etc/sysctl.conf
sysctl -p

三、安裝jdk

rpm方式安裝,下載地址用CM6 RPM的:
https://archive.cloudera.com/cm6/6.0.1/redhat7/yum/RPMS/x86_64/
命令:

wget -c https://archive.cloudera.com/cm6/6.0.1/redhat7/yum/RPMS/x86_64/oracle-j2sdk1.8-1.8.0+update141-1.x86_64.rpm
rpm -ivh oracle-j2sdk1.8-1.8.0+update141-1.x86_64.rpm
# 使用rpm安裝的java在/usr/java/jdk1.8XXXX
ls /usr/java/
vim /etc/profile
# 添加如下
export JAVA_HOME=/usr/java/jdk1.8.0_141-cloudera
export JRE_HOME=/usr/java/jdk1.8.0_141-cloudera/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
# 生效
source /etc/profile

以上是集羣所有機器都要做的。可以配好一臺後關機打快照克隆。

四、ssh和ntp

ssh

在打算安裝cm server的那臺機器執行:

ssh-keygen  #三次回車

然後發送公鑰給另兩臺機器以及自己本身:

ssh-copy-id 用戶名@機器IP #輸入yes和密碼

測試免密:

ssh 用戶名@機器IP

ntp

所有節點安裝相關ntp組件,設置時區,啓動:

yum install -y ntp
timedatectl set-timezone Asia/Shanghai
systemctl start ntpd
systemctl enable ntpd

配置ntp的服務器(選擇cm server那臺機器作爲服務器,其餘機器來同步它):

vim /etc/ntp.conf
# 修改
restrict 192.168.178.151 nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict ::1

# Hosts on local network are less restricted.
restrict 192.168.178.2 mask 255.255.255.0 nomodify notrap

# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
server 127.127.1.0
Fudge 127.127.1.0 stratum 10

說明:最開始添加本機ip,中間部分添加網關和子網掩碼,最後部分註釋掉默認的並照抄填寫上述部分。

其餘機器的配置(要改本機ip部分和最後的服務器地址):

restrict 192.168.178.152 nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict ::1

# Hosts on local network are less restricted.
restrict 192.168.178.2 mask 255.255.255.0 nomodify notrap

# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
server 192.168.178.151
Fudge 192.168.178.151 stratum 10

在其它節點上手動同步服務器的時間:

ntpdate -u 192.168.178.151
ntpstat

五、配置本地cm yum庫

在cm server機器下載cm相關rpm包並搭建repo源。
CM6 RPM地址:
https://archive.cloudera.com/cm6/6.0.1/redhat7/yum/RPMS/x86_64/

需要下載該鏈接下的所有RPM文件(jdk裝過了就不用了),保存到cloudera-repos目錄下。

wget -c https://archive.cloudera.com/cm6/6.0.1/redhat7/yum/RPMS/x86_64/cloudera-manager-agent-6.0.1-610811.el7.x86_64.rpm
wget -c https://archive.cloudera.com/cm6/6.0.1/redhat7/yum/RPMS/x86_64/cloudera-manager-server-6.0.1-610811.el7.x86_64.rpm
wget -c https://archive.cloudera.com/cm6/6.0.1/redhat7/yum/RPMS/x86_64/cloudera-manager-server-db-2-6.0.1-610811.el7.x86_64.rpm
wget -c https://archive.cloudera.com/cm6/6.0.1/redhat7/yum/RPMS/x86_64/cloudera-manager-daemons-6.0.1-610811.el7.x86_64.rpm

還有個ASC文件要下載,地址:
https://archive.cloudera.com/cm6/6.0.1/allkeys.asc
同樣保存到cloudera-repos目錄下:

wget -c https://archive.cloudera.com/cm6/6.0.1/allkeys.asc

下載完畢,開始安裝httpd和createrepo並啓動:

yum -y install httpd createrepo
systemctl start httpd
systemctl enable httpd

然後進入到前面準備好的存放Cloudera Manager RPM包的目錄cloudera-repos下,生成RPM元數據:

createrepo .

然後將cloudera-repos目錄移動到httpd的html目錄下:

mv cloudera-repos /var/www/html/

確保可以通過瀏覽器查看到這些RPM包:

http://192.168.178.151/cloudera-repos/

接着在打算作爲Cloudera Manager Server的主機上創建cm6的repo文件:

cd /etc/yum.repos.d
vim cloudera-manager.repo

添加如下內容:

[cloudera-manager]
name=Cloudera Manager 6.0.1
baseurl=http://cdh601/cloudera-repos/
gpgcheck=0
enabled=1

然後執行yum clean all && yum makecache命令。

六、安裝CM Server,配置本地parcel

在CM Server節點上操作,執行下面的命令:

yum install cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server

其餘節點需要裝agent和daemon,這裏先不裝,後續用界面安裝。

然後配置本地Parcel存儲庫,後續界面離線安裝會用到,在Cloudera Manager Server安裝完成後,進入到本地Parcel存儲庫目錄:

cd /opt/cloudera/parcel-repo

CDH6 Parcels地址:https://archive.cloudera.com/cdh6/6.0.1/parcels/
需要下載CDH-6.0.1-1.cdh6.0.1.p0.590678-el7.parcel和manifest.json這兩個文件:

wget -c https://archive.cloudera.com/cdh6/6.0.1/parcels/CDH-6.0.1-1.cdh6.0.1.p0.590678-el7.parcel
wget -c https://archive.cloudera.com/cdh6/6.0.1/parcels/manifest.json

然後執行命令生成sha文件:

sha1sum CDH-6.0.1-1.cdh6.0.1.p0.590678-el7.parcel | awk '{ print $1 }' > CDH-6.0.1-1.cdh6.0.1.p0.590678-el7.parcel.sha

然後執行下面的命令修改文件所有者:

chown -R cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo/*

七、安裝mysql和jdbc驅動,建庫

mysql

下載mysql的rpm地址:
https://dev.mysql.com/downloads/mysql/5.7.html#downloads
記得下載RPM Bundle版本。只在cm server機器安裝,移除自帶的MariaDB後開始安裝,順序執行:

yum -y remove mariadb-libs
tar -xvf mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar
rpm -ivh mysql-community-common-5.7.26-1.el7.x86_64.rpm 
rpm -ivh mysql-community-libs-5.7.26-1.el7.x86_64.rpm 
rpm -ivh mysql-community-client-5.7.26-1.el7.x86_64.rpm 
rpm -ivh mysql-community-server-5.7.26-1.el7.x86_64.rpm 
rpm -ivh mysql-community-libs-compat-5.7.26-1.el7.x86_64.rpm 
systemctl start mysqld
systemctl enable mysqld

查密碼,改密碼複雜度要求,設置新密碼:

grep password /var/log/mysqld.log
mysql -u root -p
mysql> set global validate_password_policy=0;
mysql> set password = password('12345678');

設置遠程登錄權限:

mysql> grant all privileges on *.* to 'root'@'%' identified by '12345678';
mysql> flush privileges;

修改mysql數據庫默認編碼:編輯/etc/my.cnf文件,在[mysqld]下面添加一行character-set-server=utf8。重啓mysql服務:systemctl restart mysqld

jdbc

jdbc驅動最好全部節點都裝,後續別的組件也需要。

wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.46.tar.gz
tar -xzvf mysql-connector-java-5.1.46.tar.gz
cd mysql-connector-java-5.1.46/
mkdir -p /usr/share/java/
cp mysql-connector-java-5.1.46-bin.jar /usr/share/java/mysql-connector-java.jar

建庫

需要爲 Cloudera 各軟件創建數據庫,使用root登陸數據庫,創建以下數據庫和賬號,密碼因爲複雜度要求都爲2w3e$R%T

CREATE DATABASE scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON scm.* TO 'scm'@'%' IDENTIFIED BY '2w3e$R%T';
CREATE DATABASE amon DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON amon.* TO 'amon'@'%' IDENTIFIED BY '2w3e$R%T';
CREATE DATABASE rman DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON rman.* TO 'rman'@'%' IDENTIFIED BY '2w3e$R%T';
CREATE DATABASE hue DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON hue.* TO 'hue'@'%' IDENTIFIED BY '2w3e$R%T';
CREATE DATABASE metastore DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON metastore.* TO 'hive'@'%' IDENTIFIED BY '2w3e$R%T';
CREATE DATABASE sentry DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON sentry.* TO 'sentry'@'%' IDENTIFIED BY '2w3e$R%T';
CREATE DATABASE nav DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON nav.* TO 'nav'@'%' IDENTIFIED BY '2w3e$R%T';
CREATE DATABASE navms DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON navms.* TO 'navms'@'%' IDENTIFIED BY '2w3e$R%T';
CREATE DATABASE oozie DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON oozie.* TO 'oozie'@'%' IDENTIFIED BY '2w3e$R%T';
FLUSH PRIVILEGES;

八、啓動cm server服務,頁面安裝

啓動cm server服務

設置 Cloudera Manager 數據庫:

/opt/cloudera/cm/schema/scm_prepare_database.sh mysql scm scm

輸入前邊設置的scm的密碼。

啓動Cloudera Manager Server服務:

systemctl start cloudera-scm-server

監控服務啓動狀態:

tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log

等一會訪問頁面http://cm的機器IP:7180,默認賬號和密碼都爲admin

頁面安裝

選擇主機

這一步是要搜索並選擇用於安裝CDH集羣的主機,在主機名稱後面的輸入框中輸入各個節點的hostname,中間使用英文逗號分隔開,然後點擊搜索,在結果列表中勾選要安裝CDH的節點即可:
在這裏插入圖片描述

指定存儲庫

指的是前邊配的cm rpm包和parcel的庫。
這裏選擇自定義,填寫上面使用httpd搭建好的Cloudera Manager YUM 庫URL。如果我們之前的配置本地Parcel存儲庫步驟操作無誤的話,這裏會自動選擇【使用Parcel】,並加載出CDH版本,確認無誤後點擊【繼續】:
在這裏插入圖片描述
接下里選擇是否安裝jdk,我們已手動安裝,不用選。

SSH登錄配置

用於配置集羣主機之間的SSH登錄,填寫root用戶的密碼,根據集羣配置填寫合適的【同時安裝數量】值即可:
在這裏插入圖片描述
然後會安裝agents和parcel。等待安裝。安裝完成後進入主機檢測頁面,檢測完成即可繼續安裝大數據組件。


參考資料:
https://www.cnblogs.com/mylovelulu/p/10384732.html
https://www.cnblogs.com/wzlinux/p/10183357.html
https://www.cloudera.com/documentation/enterprise/6/release-notes/topics/rg_requirements_supported_versions.html

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