Centos7.5+CDH 6.2搭建大數(shù)據(jù)平臺

1.CDH介紹

目前Hadoop比較流行的主要有2個版本,Apache和Cloudera版本。

  • Apache Hadoop:社區(qū)人員比較多,更新頻率比較快,但是穩(wěn)定性比較差,安裝配置繁瑣,實際使用者少。
  • Cloudera Hadoop(CDH):Cloudera公司的發(fā)行版本,基于Apache Hadoop的二次開發(fā),優(yōu)化了組件兼容和交互接口、簡化安裝配置、提供界面統(tǒng)一管理程序。

2.Cloudera Manager 介紹

Cloudera Manager 是用于管理cdh集群的端到端應(yīng)用程序,統(tǒng)一管理和安裝。CDH除了可以通過cm安裝也可以通過yum,tar,rpm安裝。主要由如下幾部分組成:

  • 服務(wù)端/Server:
    Cloudera Manager 的核心。主要用于管理 web server 和應(yīng)用邏輯。它用于安裝軟件,配置,開始和停止服務(wù),以及管理服務(wù)運行的集群。

  • 代理/agent:
    安裝在每臺主機(jī)上。它負(fù)責(zé)啟動和停止進(jìn)程,部署配置,觸發(fā)安裝和監(jiān)控主機(jī)。

  • 數(shù)據(jù)庫/Database:
    存儲配置和監(jiān)控信息。通常可以在一個或多個數(shù)據(jù)庫服務(wù)器上運行的多個邏輯數(shù)據(jù)庫。例如,所述的 Cloudera 管理器服務(wù)和監(jiān)視,后臺程序使用不同的邏輯數(shù)據(jù)庫。
    Cloudera Repository:由cloudera manager 提供的軟件分發(fā)庫。

  • 客戶端/Clients:
    提供了一個與 Server 交互的接口。


3.環(huán)境準(zhǔn)備

3.1.節(jié)點準(zhǔn)備(四個節(jié)點)

主機(jī)名 IP CM管理軟件
nn01 192.168.18.110 Cloudera Manager Server&Agent ,MySQL
dn01 192.168.18.111 Cloudera Manager Agent
dn02 192.168.18.112 Cloudera Manager Agent
dn03 192.168.18.113 Cloudera Manager Agent

3.2.配置主機(jī)名和hosts解析(所有節(jié)點)

編輯/etc/hostname,修改主機(jī)名,并使用命令hostname使其立刻生效。編輯文件/etc/hosts,增加如下內(nèi)容。

192.168.18.110 nn01.yunlu.cn nn01
192.168.18.111 dn01.yunlu.cn dn01
192.168.18.112 dn02.yunlu.cn dn02
192.168.18.113 dn03.yunlu.cn dn03

3.3.關(guān)閉防火墻

# systemctl stop firewalld.service && systemctl disable firewalld.service

3.4.關(guān)閉SELinux

# sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
# setenforce 0

3.5.配置時間同步

chrony既可作時間服務(wù)器服務(wù)端,也可作客戶端。chrony性能比ntp要好很多,且chrony配置簡單、管理方便。 但是此次我們采用定時任務(wù)同步網(wǎng)絡(luò)時間的方法。

  • 添加定時任務(wù)
# echo "$((RANDOM%60)) $((RANDOM%24)) * * * /usr/sbin/ntpdate time1.aliyun.com" >> /var/spool/cron/root

3.6.禁用透明大頁面壓縮,CDH配置需要

# echo never > /sys/kernel/mm/transparent_hugepage/defrag
# echo never > /sys/kernel/mm/transparent_hugepage/enabled
  • 并將上面的兩條命令寫入開機(jī)自啟動/etc/rc.local
tee -a /etc/rc.local <<-'EOF'
echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled
EOF

3.7.優(yōu)化交換分區(qū)

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

3.8.配置SSH免密登錄

  • 所有節(jié)點執(zhí)行如下命令(四次回車):
# ssh-keygen -t rsa 
  • 用拷貝的方法分發(fā)秘鑰,所有節(jié)點執(zhí)行如下命令:
# ssh-copy-id [nn01,dn01-dn03]

總共四次拷貝,每次拷貝按提示輸入yes和相應(yīng)節(jié)點的密碼。


4.安裝 CM 和 CDH

4.1.配置 Cloudera Manager 倉庫(所有節(jié)點)

# wget https://archive.cloudera.com/cm6/6.2.0/redhat7/yum/cloudera-manager.repo -P /etc/yum.repos.d/
# rpm --import https://archive.cloudera.com/cm6/6.2.0/redhat7/yum/RPM-GPG-KEY-cloudera

使用在線安裝會比較慢,建議先把需要的rpm下載下來,進(jìn)行離線安裝或者建私有倉庫,涉及下面三個軟件包:

cloudera-manager-agent-6.2.0-968826.el7.x86_64.rpm    
cloudera-manager-server-6.2.0-968826.el7.x86_64.rpm
cloudera-manager-daemons-6.2.0-968826.el7.x86_64.rpm

4.2.配置 JDK (所有節(jié)點)

# rpm -ivh jdk-8u202-linux-x64.rpm

4.3.安裝 CM Server 和 Agent

建議離線安裝,把rpm包下載到服務(wù)器上面,傳到其他節(jié)點一份,再本地安裝,速度會快很多。

  • nn01:
# yum localinstall cloudera-manager-daemons-6.2.0-968826.el7.x86_64.rpm -y
# yum localinstall cloudera-manager-agent-6.2.0-968826.el7.x86_64.rpm -y
# yum localinstall cloudera-manager-server-6.2.0-968826.el7.x86_64.rpm -y
  • dn[01-03]:
# yum localinstall cloudera-manager-daemons-6.2.0-968826.el7.x86_64.rpm -y
# yum localinstall cloudera-manager-agent-6.2.0-968826.el7.x86_64.rpm -y

4.4.安裝MySQL數(shù)據(jù)庫(在nn01節(jié)點)

此次安裝 mysql 是按照官網(wǎng)教程安裝的,鏈接地址:
https://www.cloudera.com/documentation/enterprise/6/6.0/topics/cm_ig_mysql.html#cmig_topic_5_5

# wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
# rpm -ivh mysql-community-release-el7-5.noarch.rpm
# yum install mysql-server -y
# systemctl start mysqld
  • 查看狀態(tài)


    在這里插入圖片描述
  • 可選步驟。根據(jù)官方推薦的配置,編輯文件/etc/my.cnf,修改成如下內(nèi)容:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
transaction-isolation = READ-COMMITTED
# Disabling symbolic-links is recommended to prevent assorted security risks;
# to do so, uncomment this line:
symbolic-links = 0
 
key_buffer_size = 32M
max_allowed_packet = 32M
thread_stack = 256K
thread_cache_size = 64
query_cache_limit = 8M
query_cache_size = 64M
query_cache_type = 1
 
max_connections = 550
#expire_logs_days = 10
#max_binlog_size = 100M
 
#log_bin should be on a disk with enough free space.
#Replace '/var/lib/mysql/mysql_binary_log' with an appropriate path for your
#system and chown the specified folder to the mysql user.
log_bin=/var/lib/mysql/mysql_binary_log
 
#In later versions of MySQL, if you enable the binary log and do not set
#a server_id, MySQL will not start. The server_id must be unique within
#the replicating group.
server_id=1
 
binlog_format = mixed
 
read_buffer_size = 2M
read_rnd_buffer_size = 16M
sort_buffer_size = 8M
join_buffer_size = 8M
 
# InnoDB settings
innodb_file_per_table = 1
innodb_flush_log_at_trx_commit = 2
innodb_log_buffer_size = 64M
innodb_buffer_pool_size = 4G
innodb_thread_concurrency = 8
innodb_flush_method = O_DIRECT
innodb_log_file_size = 512M
 
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
 
sql_mode=STRICT_ALL_TABLES

以上配置的含義,請參考本節(jié)開頭的文檔。

  • 設(shè)置MySQL的登錄密碼,按照相關(guān)提示操作即可
# /usr/bin/mysql_secure_installation
  • 將mysql 加到 開機(jī)啟動中
# systemctl enable mysqld

4.5.安裝 MySQL JDBC 驅(qū)動(所有節(jié)點)

用于各節(jié)點連接數(shù)據(jù)庫。

# wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.46.tar.gz
# tar xf 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

4.6.為 Cloudera 各軟件創(chuàng)建數(shù)據(jù)庫(在nn01節(jié)點)

Service Database User
Cloudera Manager Server scm scm
Activity Monitor amon amon
Reports Manager rman rman
Sentry Server sentry sentry
Cloudera Navigator Audit Server nav nav
Cloudera Navigator Metadata Server navms navms
Hive Metastore Server hive hive
Hue hue hue
Oozie oozie oozie
  • 將如下內(nèi)容,寫入到cdh.sql文件中
CREATE DATABASE scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON scm.* TO 'scm'@'%' IDENTIFIED BY 'scm';
CREATE DATABASE amon DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON amon.* TO 'amon'@'%' IDENTIFIED BY 'amon';
CREATE DATABASE rman DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON rman.* TO 'rman'@'%' IDENTIFIED BY 'rman';
CREATE DATABASE hue DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON hue.* TO 'hue'@'%' IDENTIFIED BY 'hue';
CREATE DATABASE hive DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON hive.* TO 'hive'@'%' IDENTIFIED BY 'hive';
CREATE DATABASE sentry DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON sentry.* TO 'sentry'@'%' IDENTIFIED BY 'sentry';
CREATE DATABASE nav DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON nav.* TO 'nav'@'%' IDENTIFIED BY 'nav';
CREATE DATABASE navms DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON navms.* TO 'navms'@'%' IDENTIFIED BY 'navms';
CREATE DATABASE oozie DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON oozie.* TO 'oozie'@'%' IDENTIFIED BY 'oozie';
  • 執(zhí)行sql文件
# mysql -uroot -p<ROOT_PASSWORD> < ./cdh.sql
在這里插入圖片描述

4.7.設(shè)置 Cloudera Manager 數(shù)據(jù)庫

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

接著,輸入scm數(shù)據(jù)庫密碼

4.8.安裝 CDH(在nn01節(jié)點)

CM安裝成功之后,接下來我們就可以通過CM安裝CDH的方式構(gòu)建企業(yè)大數(shù)據(jù)平臺。所以首先需要把CDH的parcels包下載到CM主服務(wù)器上。同樣的,我們?yōu)榱思铀傥覀兊陌惭b,我們可以把需要下載的軟件包提前下載下來,也可以創(chuàng)建CDH私有倉庫。

  • 下載CDH的軟件包 parcels
# cd /opt/cloudera/parcel-repo
# wget https://archive.cloudera.com/cdh6/6.2.0/parcels/CDH-6.2.0-1.cdh6.2.0.p0.967373-el7.parcel
# wget https://archive.cloudera.com/cdh6/6.2.0/parcels/manifest.json
  • 生成sha文件
# sha1sum CDH-6.2.0-1.cdh6.2.0.p0.967373-el7.parcel | awk '{ print $1 }' > CDH-6.2.0-1.cdh6.2.0.p0.967373-el7.parcel.sha
  • 修改屬主屬組
# chown -R cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo/*

4.9.啟動 Cloudera Manager Server(在nn01節(jié)點)

# systemctl start cloudera-scm-server

如果啟動中有什么問題,可以查看日志。

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

在最后顯示的日志中,有顯示啟動監(jiān)聽的端口。

Started ServerConnector@da518cb{SSL,[ssl, http/1.1]}{0.0.0.0:7183}
Started ServerConnector@a77165b{HTTP/1.1,[http/1.1]}{0.0.0.0:7180}

5.初始化 Cloudera Manager

稍等下,瀏覽器打開http://nn01:7180,用戶名和密碼默認(rèn)都是admin。

在這里插入圖片描述

  • 然后按需,繼續(xù)下一步操作即可。

5.1.CDH集群安裝

  • 按照提示操作即可,一般選默認(rèn)就行。

5.2.集群設(shè)置

  • 數(shù)據(jù)庫設(shè)置


    在這里插入圖片描述
  • 其它按照提示操作即可,一般選默認(rèn)就行。

6.參考資料

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容