CDH簡易離線部署文檔


 

 

CDH 離線簡易部署文檔

 

 

 

文檔說明

本文為開發部署文檔,生產環境需做相應調整。

以下操作盡量在root用戶下操作,避免權限問題。

 

目錄

文檔說明 2

文檔修改歷史記錄 2

目錄 3

系統環境 4

相關依賴 4

初始准備: 5

java下載和更新 5

修改主機名與主機名解析 5

selinux關閉 6

防火牆關閉 6

NTP服務器設置 6

SSH無密碼登錄配置 6

安裝mysql 7

配置jdbc 8

安裝Cloudera-Manager 9

主節點安裝工作 9

從節點安裝工作 10

常見報錯原因及解決 11

在瀏覽器安裝CDHs 12

 

 

 

系統環境

 

系統版本

主機名

主機ip

用戶名密碼

說明

Centos6.5

bigdata01

10.62.8.1

Root:rootroot

安裝主節點,主節點,

Centos6.5

bigdata02

10.62.8.2

Root:rootroot

從節點

Centos6.5

bigdata03

10.62.8.3

Root:rootroot

從節點

Centos6.5

bigdata04

10.62.8.4

Root:rootroot

從節點

 

 

 

 

 

 

 

 

 

 

 

相關依賴

 

依賴名稱

依賴版本

依賴用途

jdk 1.8                 

 

jdk-8u101-linux-x64.rpm

Openjdk

mysql

 

MySQL-5.6.26-1.linux_glibc2.5.x86_64.rpm-bundle.tar.gz

存放cloudera manager配置文件

mysql-connector-java

 

mysql-connector-java-8.0.11.jar

JDBC

cloudera manager

 

cloudera-manager-el6-cm5.9.3_x86_64.tar

簡易安裝CDH平台

CDH parcel

 

CDH-5.7.2-1.cdh5.7.2.p0.18-el6.parcel

集群各軟件壓縮包

CDH parcel.sha

 

CDH-5.7.2-1.cdh5.7.2.p0.18-el6.parcel.sha1

壓縮包對於哈希碼

manifest.json

 

網站對應版本頁面上的文件

版本說明json文件

 

 

 

 

 

初始准備:

java下載和更新

為了避免java版本過低導致的相關問題,首先將每個節點java版本更新至1.8

 

#查看已經安裝版本

rpm -qa | grep jdk 

java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64

java-1.7.0-openjdk-headless-1.7.0.75-2.5.4.2.el7_0.x86_64

 

#卸載已經安裝版本

yum -y remove java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64

yum -y remove java-1.7.0-openjdk-headless-1.7.0.75-2.5.4.2.el7_0.x86_64

 

#安裝最新版本

rpm -ivh jdk-8u101-linux-x64.rpm

 

#查看最新安裝版本

java –version

Java(TM) SE Runtime Environment (build 1.8.0_101-b13)

Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)

 

修改主機名與主機名解析

為了方便配置各節點,將主機名設置成特定格式,方便記憶。每個節點對應修改

 

#設定主機名與網卡啟動

vim /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=bigdata01

 

#主機名和IP解析

vim /etc/hosts

127.0.0.1 localhost. bigdata01

10.62.8.2 bigdata02

10.62.8.4 bigdata03

10.62.8.4 bigdata04

 

selinux關閉

# 每個節點通過配置文件永久關閉selinux,重啟生效

vim /etc/sysconfig/selinux

SELINUX=disabled

 

# 查看selinux狀態

sestatus –v

SELinux status: disabled

 

防火牆關閉

# 每個節點關閉防火牆(或者設置對應的策略能夠讓各節點互相通信)

service iptables stop    #臨時關閉

chkconfig iptables off   #開機關閉

service iptables status  #查看狀態

 

NTP服務器設置

# 每個節點開啟NTP 服務,統一各節點時間。

vim /etc/ntp.conf

server 10.62.8.1 iburst   #離線情況下節點指向主節點

    

service ntpd restart

 

# 檢查

    service ntpd status

date

SSH無密碼登錄配置 

# 主節點生成ssh公鑰

ssh-keygen -t rsa  (一直回車)

ssh-copy-id bigdata02 (對應節點)

 

# 檢查在主節點上能否免密登錄各節點

ssh bigdata02

 

# 如果不能免密登錄,查看 /var/log/security, 一般為ssh文件的權限問題

 

安裝mysql 

# 安裝在主節點上,用於存放cloudera manager 配置文件,如果已有即可不用安裝。

tar -xvf  MySQL-5.6.24-1.linux_glibc2.5.x86_64.rpm-bundle.tar

rpm -ivh MySQL-*.rpm 

cp /usr/share/mysql/my-default.cnf   /etc/my.cnf 

vim /etc/my.cnf

[mysqld]

default-storage-engine = innodb

innodb_file_per_table

collation-server = utf8_general_ci

init-connect = 'SET NAMES utf8'

character-set-server = utf8

 

#初始化mysql

/usr/bin/mysql_install_db

 

# 開啟mysql

service mysql restart

ERROR! MySQL server PID file could not be found!

Starting MySQL... SUCCESS!

 

# 查看mysql root初始化密碼

cat /root/.mysql_secret

The random password set for the root user at Fri Sep 16 11:13:25 2016 (local time): 9mp7uYFmgt6drdq3

 

#登錄mysql並修改密碼

mysql -u root –p

mysql> SET PASSWORD=PASSWORD('root12345678');

 

允許mysql遠程訪問

mysql> update user set host='%' where user='root' and host='localhost';

Query OK, 1 row affected (0.05 sec)

Rows matched: 1  Changed: 1  Warnings: 0

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

 

# 創建集群對應數據庫

create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

Query OK, 1 row affected (0.00 sec)

create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

Query OK, 1 row affected (0.00 sec)

create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

Query OK, 1 row affected (0.00 sec)

create database monitor DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

Query OK, 1 row affected (0.00 sec)

create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

Query OK, 1 row affected (0.00 sec)

grant all on *.* to root@"%" Identified by "root12345678";

配置開機啟動

chkconfig mysql on

 

配置jdbc

# 拷貝mysql-connector-java到各個節點指定目錄下(所有的節點)

cp mysql-connector-java-5.1.36-bin.jar /usr/share/java/mysql-connector-java.jar

 

 

 

安裝Cloudera-Manager

主節點安裝工作

#解壓cm tar包到指定目錄

mkdir /opt/cloudera-manager

tar -axvf cloudera-managertar -C /opt/cloudera-manager

 

#創建cloudera-scm用戶(home為相應目錄)

useradd --system --home=/opt/cloudera-manager/cm-5.7.2/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm

 

#創建cloudera-manager-server的本地元數據保存目錄

mkdir /var/cloudera-scm-server

chown cloudera-scm:cloudera-scm /var/cloudera-scm-server

chown cloudera-scm:cloudera-scm /opt/cloudera-manager

 

#主節點中創建parcel-repo倉庫目錄

mkdir -p /opt/cloudera/parcels

chown cloudera-scm:cloudera-scm /opt/cloudera/parcels

 

#初始腳本配置數據庫scm_prepare_database.sh(相應目錄下的腳本)

/opt/cloudera-manager/cm-5.7.2/share/cmf/schema/scm_prepare_database.sh mysql -hhadoop1 -uroot -p123456 --scm-host bigdata01 scmdbn scmdbu scmdbp

 

#說明:這個腳本就是用來創建和配置CMS需要的數據庫的腳本。各參數是指:

mysql:數據庫用的是mysql,如果安裝過程中用的oracle,那么該參數就應該改為oracle

-bigdata01:數據庫建立在bigdata01主機上面。也就是主節點上面。。

--scm-host bigdata01CMS的主機,一般是和mysql安裝的主機是在同一個主機上。

最后三個參數是:數據庫名,數據庫用戶名,數據庫密碼。

 

# 設置cloudera-manager service

cp /opt/cloudera-manager/cm-5.7.2/etc/init.d/cloudera-scm-server /etc/init.d/cloudera-scm-server

chkconfig cloudera-scm-server on

vim /etc/init.d/cloudera-scm-server

CMF_DEFAULTS=${CMF_DEFAULTS:-/etc/default}改為=/opt/cloudera-manager/cm-5.7.2/etc/default

vim /etc/rc.local

service cloudera-scm-server restart

 

從節點安裝工作

#解壓cm tar包到指定目錄

mkdir /opt/cloudera-manager

tar -axvf cloudera-manager-centos7-cm5.7.2_x86_64.tar.gz -C /opt/cloudera-manager

 

# 創建cloudera-scm用戶

useradd --system --home=/opt/cloudera-manager/cm-5.7.2/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm

 

# 配置從節點cloudera-manger-agent指向主節點服務器

vim /opt/cloudera-manager/cm-5.7.2/etc/cloudera-scm-agent/config.ini

server_host改為CMS所在的主機名即bigdata01

 

# 所有節點創建parcels目錄

mkdir -p /opt/cloudera/parcels

chown cloudera-scm:cloudera-scm /opt/cloudera/parcels

 

設置agent服務

cp /opt/cloudera-manager/cm-5.7.2/etc/init.d/cloudera-scm-agent /etc/init.d/cloudera-scm-agent

chkconfig cloudera-scm-agent on

vim /etc/init.d/cloudera-scm-agent

CMF_DEFAULTS=${CMF_DEFAULTS:-/etc/default}改為=/opt/cloudera-manager/cm-5.7.2/etc/default

vim /etc/rc.local

service cloudera-scm-agent restart

 

 

 

 

 

 

常見報錯原因及解決

1 ERROR com.cloudera.enterprise.dbutil.DbProvisioner  - Exception when creating/dropping database with user 'root' and jdbc url 'jdbc:mysql://localhost/?useUnicode=true&characterEncoding=UTF-8'

java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)

 

可能是配置host的有問題,127.0.0.1 localhost.hadoop1 這個localhost不能少

可能是密碼問題,重設密碼

 

 

2. ERROR com.cloudera.enterprise.dbutil.DbProvisioner  - Exception when creating/dropping database with user 'root' and jdbc url 'jdbc:mysql://localhost/?useUnicode=true&characterEncoding=UTF-8'

java.sql.SQLException: Your password has expired. To log in you must change it using a client that supports expired passwords.

 

密碼過期,設置密碼為不過期格式。

 

 

mysql> update user set password_expired='N' where user='root';

Query OK, 2 rows affected (0.00 sec)

Rows matched: 5  Changed: 2  Warnings: 0

 

mysql> flush privileges;

 

 

 

 

 

 

 

 

 

 

在瀏覽器安裝CDHs


進入192168.160.130:7180 默認使用admin admin登錄 
以下在瀏覽器中使用操作安裝

選擇版本

 

 

組件提示 

 

 

這里我們可以在當前管理的主機中看到三個主機,全部勾選並繼續,注意如果cloudera-scm-agent沒有設為開機啟動,如果以上有重啟這里可能會檢測不到其他服務器。 

 

選擇cdh 

 

 

分發parcels到各個節點 

 

 

 

之間正確性的檢測 

 

 

 

選擇要安裝的服務,這里選擇所有服務

 

 

 

 

角色分配 

 

 

 

 

 

 

 

 

 

 

 

 

 

數據庫設置選擇 

集群審核,這里都默認的 

開始安裝

 

安裝完成

 

 

這個時候安裝完成了,可以在瀏覽器中進入10.62.8.1:7180地址,查看集群情況,

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM