CDH-6.0.0安裝說明


# 大數據平台CDH集群安裝

介紹了 CDH 集群的搭建與安裝

標簽: Cloudera-Manager CDH Hadoop 部署 集群

<!-- more -->

> 目前Hadoop比較流行的主要有2個版本,Apache和Cloudera版本。
>
> - Apache Hadoop:維護人員比較多,更新頻率比較快,但是穩定性比較差。
> - Cloudera Hadoop(CDH):CDH:Cloudera公司的發行版本,基於Apache Hadoop的二次開發,優化了組件兼容和交互接口、簡化安裝配置、增加Cloudera兼容特性。


## 1. 操作環境

- CentOS 7.3 x64 (4C/10G/50G)
- Cloudera Manager:6.0.1  
- CDH: 6.0.1

相關包地址

Cloudera Manager下載地址:[https://archive.cloudera.com/cm6/6.0.0/redhat7/yum/RPMS/x86_64/](https://archive.cloudera.com/cm6/6.0.0/redhat7/yum/RPMS/x86_64/)

> - cloudera-manager-agent-6.0.0-530873.el7.x86_64.rpm
> - cloudera-manager-daemons-6.0.0-530873.el7.x86_64.rpm
> - cloudera-manager-server-6.0.0-530873.el7.x86_64.rpm
> - cloudera-manager-server-db-2-6.0.0-530873.el7.x86_64.rpm
> - oracle-j2sdk1.8-1.8.0+update141-1.x86_64.rpm

CDH安裝包地址:[https://archive.cloudera.com/cdh6/6.0.0/parcels/](https://archive.cloudera.com/cdh6/6.0.0/parcels/)

> - CDH-6.0.0-1.cdh6.0.0.p0.537114-el7.parcel
> - CDH-6.0.0-1.cdh6.0.0.p0.537114-el7.parcel.sha256
> - manifest.json
               
注意:以下操作均用root用戶操作。

## 2. 網絡配置(所有節點)

**在所有節點上把IP和主機名的對應關系寫入**

```bash
vim /etc/hosts

# 注釋掉原有的語句, 增加:
192.192.0.25 server
192.192.0.26 chdagent1
192.192.0.27 chdagent2
```
      
**在相應的節點主機上修改主機名**

```bash
vim /etc/sysconfig/network

NETWORKING=yes
HOSTNAME=cdhserver

# 修改或者添加 HOSTNAME=cdhserver
```

> cdhserver 是你起的的主機名字

**執行命令**

```
# hostname cdhserver
```

CentOS7要多執行以下這步:

```
hostnamectl set-hostname cdhserver
```

## 3. 打通SSH

設置ssh無密碼登陸(所有節點)

## 4. 關閉防火牆和SELinux

注意: 需要在所有的節點上執行,因為涉及到的端口太多了,臨時關閉防火牆是為了安裝起來更方便,安裝完畢后可以根據需要設置防火牆策略,保證集群安全。

關閉防火牆並關閉自啟動:

```bash
systemctl stop firewalld
systemctl disable firewalld
```

## 5. 所有節點配置NTP服務

集群中所有主機必須保持時間同步,如果時間相差較大會引起各種問題。 具體思路如下:

master節點作為ntp服務器與外界對時中心同步時間,隨后對所有datanode節點提供時間同步服務。

所有datanode節點以master節點為基礎同步時間。

所有節點安裝相關組件:

```bash
yum install ntp
```

啟動服務:

```bash
systemctl start ntpd
```

配置開機啟動:

```bash
systemctl enable ntpd
```

## 6. 安裝 python 2.7

必須是python2.7版本,CentOS 7 系統可以不用裝,系統自帶的。

```
#下載並安裝EPEL,安裝python-pip,psycopg2有依賴
[root@localhost ~]# wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
[root@localhost ~]# rpm -ivh epel-release-latest-7.noarch.rpm
[root@localhost ~]# yum repolist  #檢查是否已添加至源列表
```

升級軟件依賴版本

Starting with CDH 6, PostgreSQL-backed Hue requires the Psycopg2 version to be at least 2.5.4

首先安裝epel擴展源:

```bash
yum -y install epel-release
yum -y install python-pip
pip install --upgrade psycopg2

```
[root@hubserver1 app]# yum install bind-utils
[root@hubserver1 app]# yum install wget
[root@hubserver1 app]# yum provides '*/applydeltarpm'
[root@hubserver1 app]# yum install deltarpm


## 7. 准備Parcels,用以安裝CDH6
 
將CHD6相關的Parcel包放到主節點的/opt/cloudera/parcel-repo/目錄中,如果沒有此目錄,可以自己創建。
 
> - CDH-6.0.0-1.cdh6.0.0.p0.537114-el7.parcel
> - CDH-6.0.0-1.cdh6.0.0.p0.537114-el7.parcel.sha256
> - manifest.json

注意:最后將CDH-6.0.0-1.cdh6.0.0.p0.537114-el7.parcel.sha256,重命名為CDH-6.0.0-1.cdh6.0.0.p0.537114-el7.parcel.sha

**安裝repo**:

```bash
wget https://archive.cloudera.com/cm6/6.0.0/redhat7/yum/cloudera-manager.repo -P /etc/yum.repos.d/
```

**導入GPG key**:

```bash
rpm --import https://archive.cloudera.com/cm6/6.0.0/redhat7/yum/RPM-GPG-KEY-cloudera
```

**JDK install**:

> yum install oracle-j2sdk1.8
>
> 注意 :
>
>  - 使用 yum 下載,需要確定版本與安裝CDH6官方要求的需要的版本一致
>  - 也可不使用 yum 安裝,使用自己下載 JDK,然后手動綠色安裝配置
>  - 也可在安裝 CM 的時候,再根據提示來安裝需要的 JDK
>
> 三種方式任選其一便可

**yum安裝CM**:

```bash
yum install cloudera-manager-server
```

## 8. 安裝MySql

```bash
  wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
  rpm -ivh mysql-community-release-el7-5.noarch.rpm
  yum update
  yum install mysql-server
  systemctl start mysqld
  systemctl enable mysqld
```
 
初始化Mysql

```bash
/usr/bin/mysql_secure_installation
```

配置JDBC

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

建庫:根據官方文檔提供的命名建庫,方便記憶。(在CM配置CDH的時候會用到這些庫名)

> Set up the Cloudera Manager Database:/opt/cloudera/cm/schema/scm_prepare_database.sh mysql scm scm

出現如下日志:

```bash
    JAVA_HOME=/usr/java/jdk1.8.0_141-cloudera
    Verifying that we can write to /etc/cloudera-scm-server
    Creating SCM configuration file in /etc/cloudera-scm-server
    Executing:  /usr/java/jdk1.8.0_141-cloudera/bin/java -cp /usr/share/java/mysql-connector-java.jar:/usr/share/java/oracle-connector-java.jar:/usr/share/java/postgresql-connector-java.jar:/opt/cloudera/cm/schema/../lib/* com.cloudera.enterprise.dbutil.DbCommandExecutor /etc/cloudera-scm-server/db.properties com.cloudera.cmf.db.
    [main] DbCommandExecutor INFO  Successfully connected to database.
    All done, your SCM database is configured correctly!
```

## 9. 啟動CM服務

啟動:

```bash
systemctl start cloudera-scm-server
```
 
查看日志:

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

> 出現:INFO WebServerImpl:com.cloudera.server.cmf.WebServerImpl: Started Jetty server.則表示服務正常啟動

登錄 http://<server_host>:7180 賬號:admin


## 10. Hive 亂碼問題

- [參考文章 - HIVE 亂碼問題](https://blog.csdn.net/wtzhm/article/details/82022110)


**登錄集群主節點, 進入mysql:**

```bash
mysql -u root -p
```

**進入數據庫 metastore**

```bash
show databases;
use metastore
```

**執行以下 5 條 SQL 語句:**

修改表字段注解和表注解

```bash
alter table COLUMNS_V2 modify column COMMENT varchar(256) character set utf8;
alter table TABLE_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;
```

修改分區字段注解

```bash
alter table PARTITION_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8 ;
alter table PARTITION_KEYS modify column PKEY_COMMENT varchar(4000) character set utf8;
```

修改索引注解

```bash
alter table INDEX_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;
```

修改完畢后,重新建立 Hive 表,然后進入 Hive 交互端,執行 desc table\_name:

```
hive> desc ods_dm_t1;
OK
bank_id                 string                  銀行ID
bank_name               string                  銀行名稱
Time taken: 0.051 seconds, Fetched: 2 row(s)
hive>
```

已經生效。

## Reference

- [CDH 6.0.0 搭建][1]
- [CDH6.0.0詳細安裝教程及所遇到的問題][2]
- [官方文檔 - Cloudera Installation Guide][3]

[1]: https://blog.csdn.net/caolijun1166/article/details/82714387
[2]: http://blog.51cto.com/pizibaidu/2174297
[3]: https://www.cloudera.com/documentation/enterprise/6/6.0/topics/installation.html


免責聲明!

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



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