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

1.CDH介紹

目前Hadoop比較流行的主要有2個(gè)版本单匣,Apache和Cloudera版本团南。

  • Apache Hadoop:社區(qū)人員比較多宗雇,更新頻率比較快钳恕,但是穩(wěn)定性比較差别伏,安裝配置繁瑣蹄衷,實(shí)際使用者少。
  • Cloudera Hadoop(CDH):Cloudera公司的發(fā)行版本厘肮,基于Apache Hadoop的二次開發(fā)愧口,優(yōu)化了組件兼容和交互接口、簡(jiǎn)化安裝配置轴脐、提供界面統(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ù)運(yùn)行的集群提揍。

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

  • 數(shù)據(jù)庫/Database:
    存儲(chǔ)配置和監(jiān)控信息杉武。通城岜В可以在一個(gè)或多個(gè)數(shù)據(jù)庫服務(wù)器上運(yùn)行的多個(gè)邏輯數(shù)據(jù)庫祈搜。例如容燕,所述的 Cloudera 管理器服務(wù)和監(jiān)視,后臺(tái)程序使用不同的邏輯數(shù)據(jù)庫陕见。
    Cloudera Repository:由cloudera manager 提供的軟件分發(fā)庫。

  • 客戶端/Clients:
    提供了一個(gè)與 Server 交互的接口灰粮。


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

3.1.節(jié)點(diǎn)準(zhǔn)備(四個(gè)節(jié)點(diǎn))

主機(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é)點(diǎn))

編輯/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.配置時(shí)間同步

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

  • 添加定時(shí)任務(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ī)自啟動(dòng)/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é)點(diǎn)執(zhí)行如下命令(四次回車):
# ssh-keygen -t rsa 
  • 用拷貝的方法分發(fā)秘鑰凌节,所有節(jié)點(diǎn)執(zhí)行如下命令:
# ssh-copy-id [nn01,dn01-dn03]

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


4.安裝 CM 和 CDH

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

# 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

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

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é)點(diǎn))

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

4.3.安裝 CM Server 和 Agent

建議離線安裝,把rpm包下載到服務(wù)器上面占键,傳到其他節(jié)點(diǎn)一份翩概,再本地安裝牍鞠,速度會(huì)快很多参咙。

  • 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é)點(diǎn))

此次安裝 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

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

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

4.5.安裝 MySQL JDBC 驅(qū)動(dòng)(所有節(jié)點(diǎn))

用于各節(jié)點(diǎn)連接數(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é)點(diǎn))

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é)點(diǎn))

CM安裝成功之后吗氏,接下來我們就可以通過CM安裝CDH的方式構(gòu)建企業(yè)大數(shù)據(jù)平臺(tái)。所以首先需要把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.啟動(dòng) Cloudera Manager Server(在nn01節(jié)點(diǎn))

# systemctl start cloudera-scm-server

如果啟動(dòng)中有什么問題被碗,可以查看日志某宪。

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

在最后顯示的日志中,有顯示啟動(dòng)監(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)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末汗菜,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子挑社,更是在濱河造成了極大的恐慌陨界,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,997評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件痛阻,死亡現(xiàn)場(chǎng)離奇詭異菌瘪,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)录平,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,603評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門麻车,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人斗这,你說我怎么就攤上這事动猬。” “怎么了表箭?”我有些...
    開封第一講書人閱讀 163,359評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵赁咙,是天一觀的道長。 經(jīng)常有香客問我,道長彼水,這世上最難降的妖魔是什么崔拥? 我笑而不...
    開封第一講書人閱讀 58,309評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮凤覆,結(jié)果婚禮上链瓦,老公的妹妹穿的比我還像新娘。我一直安慰自己盯桦,他們只是感情好慈俯,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,346評(píng)論 6 390
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著拥峦,像睡著了一般贴膘。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上略号,一...
    開封第一講書人閱讀 51,258評(píng)論 1 300
  • 那天刑峡,我揣著相機(jī)與錄音,去河邊找鬼玄柠。 笑死突梦,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的羽利。 我是一名探鬼主播阳似,決...
    沈念sama閱讀 40,122評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼铐伴!你這毒婦竟也來了撮奏?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,970評(píng)論 0 275
  • 序言:老撾萬榮一對(duì)情侶失蹤当宴,失蹤者是張志新(化名)和其女友劉穎畜吊,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體户矢,經(jīng)...
    沈念sama閱讀 45,403評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡玲献,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,596評(píng)論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了梯浪。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片捌年。...
    茶點(diǎn)故事閱讀 39,769評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖挂洛,靈堂內(nèi)的尸體忽然破棺而出礼预,到底是詐尸還是另有隱情,我是刑警寧澤虏劲,帶...
    沈念sama閱讀 35,464評(píng)論 5 344
  • 正文 年R本政府宣布托酸,位于F島的核電站褒颈,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏励堡。R本人自食惡果不足惜谷丸,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,075評(píng)論 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望应结。 院中可真熱鬧刨疼,春花似錦、人聲如沸鹅龄。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,705評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽砾层。三九已至,卻和暖如春贱案,著一層夾襖步出監(jiān)牢的瞬間肛炮,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,848評(píng)論 1 269
  • 我被黑心中介騙來泰國打工宝踪, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留侨糟,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,831評(píng)論 2 370
  • 正文 我出身青樓瘩燥,卻偏偏與公主長得像秕重,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子厉膀,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,678評(píng)論 2 354