CentOS 7 CDH 6.3.1 Cloudera Manager6.3.1 企业级离线安装 EZ 版

CDH 6.3.1 / Cloudera Manager6.3.1 CentOS 7 企业级离线安装 EZ 版

FileInfo
Filename - CDH 安装 EZ 版
Version - v1.2.2003(2020/03/02 ~ 2020/03/05)
Author - iDOKER
Email - shadowdoker@gmail.com
DescriptionKey - CDH install quick version

考虑到复制方便,就不开启禁止复制了,但:文章未经授权禁止转载

本文约定

在文中将有以下提示符对重点进行标注说明,请注意文中提示。

️ - 文中出现此标记,代表重要提示,指需要格外注意的地方

  • 文中出现此标记,代表可选配置,建议配置,但不必要
    ✅ - 文中出现此标记,代表检查项目,需要检查对应的配置文件
    ❗️ - 文中出现此标记,代表该操作不可随意修改,如更改此步操作,请预先测试

CDH 简单介绍

Cloudera Distribution including Apache Hadoop - CDH 为 Cloudera 的开源 Apache Hadoop 发行版,面向 Hadoop 企业级部署。
Cloudera版本(Cloudera’s Distribution Including Apache Hadoop,简称“CDH”),基于 Web 的用户界面,支持大多数 Hadoop 组件,包括 HDFS、MapReduce、Hive、Pig、Hbase、Zookeeper、Sqoop,简化了大数据平台的安装和使用难度。
除此 Apache Hadoop 发行版本之外,还有如下发行版:

  • Cloudera’s Distribution Including Apache Hadoop(CDH)「本文采用」
  • Hortonworks Data Platform (HDP)
  • MapR
  • EMR

组件介绍

Cloudera Manager 是用于管理 CDH 集群的端到端应用程序,统一管理和安装。CDH 除了可以通过 CM 安装也可以通过 YUM、TAR、RPM 安装。主要由如下几部分组成:

  • Server:Cloudera Manager 的核心。主要用于管理 web server 和应用逻辑。它用于安装软件,配置,开始和停止服务,以及管理服务运行的集群。
  • agent:安装在每台主机上。它负责启动和停止进程,部署配置,触发安装和监控主机。
  • Database:存储配置和监控信息。通常可以在一个或多个数据库服务器上运行的多个逻辑数据库。例如,所述的 Cloudera 管理器服务和监视,后台程序使用不同的逻辑数据库。
  • Parcel(Cloudera Repository):由 Cloudera 提供的软件分发库。
  • Clients:提供了一个与 Server 交互的接口。

节点介绍

NAME NUMBER 描述
Server 1 CM 中 Manager 节点
Agent 1+N CM 中 其余 Node 节点

软件包准备

各节点需要安装:

  • JDK 1.8.0_161「1.8 即可,小版本皆可」
  • jdk-8u161-linux-x64.tar.gz

Server节点需要安装:

  • MySQL 5.7.25
  • mysql-5.7.25-1.el7.x86_64.rpm-bundle.tar
  • MySQL驱动
  • mysql-connector-java-5.1.47.jar

CDH 安装需准备:

  • CDH安装包
  • cm6.3.1-redhat7.tar.gz
  • 需要其中的
  • cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm
  • cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm
  • cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
  • 对应高版本的文件 allkeys.asc
  • parcel包
  • CDH-6.3.1-1.cdh6.3.1.p0.1470567-el7.parcel
  • CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha1
  • manifest.json

ALL 所有节点

  • ❗️关闭并禁止开机自启如下服务:系统防火墙(Firewalldiptables)、NetworkManager
systemctl stop firewalld
systemctl stop iptables
systemctl stop NetworkManager

systemctl disable firewalld
systemctl disable iptables
systemctl disable NetworkManager
  • ❗️关闭并禁用 SELinux
sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
  • ❗️永久修改各节点的 Hostname 必须防止变回默认
hostnamectl set-hostname $HOSTNAME
  • ❗️添加服务器之间本地域名解析 /etc/hosts
vi /etc/hosts
# incloud itself
# 192.168.10.1 localhost localhost.localhost
  • ❗️配置仅使用物理内存,所有主机都需要
echo "vm.swappiness=0" >>/etc/sysctl.conf && sysctl -p
  • ❗️禁用透明页压缩,所有主机都需要
echo "never" >/sys/kernel/mm/transparent_hugepage/defrag
echo "never" > /sys/kernel/mm/transparent_hugepage/enabled
chmod +x /etc/rc.local
echo "never" >/sys/kernel/mm/transparent_hugepage/defrag" >>/etc/rc.local
echo "never" >/sys/kernel/mm/transparent_hugepage/enabled" >>/etc/rc.local
tail ‐2 /sys/kernel/mm/transparent_hugepage/defrag
tail ‐2 /sys/kernel/mm/transparent_hugepage/enabled
tail ‐2 /etc/rc.local

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

  • ❗️️ 配置个节点时间同步,确保各个节点时间误差最大不得高于 2s
yum -y install ntp

server

# 管理节点使用本地时钟源,执行以下语句即可
cat <<EOF>/etc/ntp.conf
driftfile /var/lib/ntp/drift
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict -6 ::1
server 127.127.1.0 iburst
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
EOF

agent

# 其他节点的时钟源为管理节点,执行以下语句即可
cat <<EOF>/etc/ntp.conf
driftfile /var/lib/ntp/drift
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict -6 ::1
server node1  iburst
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
EOF

强制设置时间,写入硬件时钟

# 修改各节点时间,时间为当前时间
date -s "2020-04-16 23:11:07"
# 写入硬件时钟
hwclock -w

启动服务,并设置开机自启动

# 各节点启动服务
systemctl start ntpd && systemctl enable ntpd
  • 配置 Java 运行环境,建议安装 JDK 1.8.0_161(亦可选择安装 CDH 时,选择安装 CDH 自带的 Oracle JDK)
# JDK 安装路径
mkdir -p /usr/local/java

若操作系统安装有 OpenJDK 则移除系统原有的 JDK

# 各节点都需要进行
# 查找JDK
rpm -aq|grep java
rpm -aq|grep jdk
# 卸载JDK
yum -y remove [上述查找结果的包名]

安装 Oracle JDK 1.8

# 在各节点上进行安装
# 创建java目录
mkdir /usr/java/
# 上传jdk目录下jdk-8u161-linux-x64.tar.gz到/usr/java目录 并解压
cd /usr/java/
tar -zxvf jdk-8u161-linux-x64.tar.gz
# ️ 修改 jdk 所属用户用户组
chown root:root jdk-8u161-linux-x64
# 配置环境变量
vi /etc/profile
# 在后面追加下面三行
export JAVA_HOME=/usr/java/jdk1.8.0_161
export CLASSPATH=.:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=${JAVA_HOME}/bin:${PATH}
# 最后刷新环境变量
source /etc/profile
# 查看 Java 是否安装成功
java -version

Server 节点

若操作系统安装有 mariadb 则手工移除mariadb数据库
️ 亦可不移除,在安装 mysql 是会自动处理

  rpm -qa | grep mariadb
# 结果应为 mariadb-libs-5.5.56-2.el7.x86_64
# 卸载
  rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64

安装 MySql 服务

# 在 server 上安装 mysql 服务
# 上传repo目录下mysql-5.7.25-1.el7.x86_64.rpm-bundle.tar安装包到 /home/cdh/ 目录 并解压
  tar -xvf mysql-5.7.25-1.el7.x86_64.rpm-bundle.tar
# 进入解压目录 安装 mysql
  yum install net-tools
  rpm -ivh mysql-community-server-5.7.25-1.el7.x86_64.rpm mysql-community-client-5.7.25-1.el7.x86_64.rpm mysql-community-common-5.7.25-1.el7.x86_64.rpm mysql-community-libs-5.7.25-1.el7.x86_64.rpm mysql-community-libs-compat-5.7.25-1.el7.x86_64.rpm

启动 mysql 服务,设置自启动

# 在 server上启动 mysql 服务,并设置自启动
  systemctl start mysqld
  systemctl enable mysqld

初始化 mysql 数据库

# 在node1 上初始化mysql
# 获得初始密码
  grep 'temporary password' /var/log/mysqld.log
# 使用初始密码登录
  mysql -u root -p
# 修改初始密码
  # show variables like 'validate_password%';# 查看密码验证策略
  set global validate_password_policy=0;# 设置密码验证策略为低
  set global validate_password_mixed_case_count=0;# 设置密码至少要包含的大小写字母个数
  set global validate_password_number_count=0;# 设置密码至少要包含的数字个数
  set global validate_password_special_char_count=0;# 设置密码至少要包含的特殊字符个数
  set global validate_password_length=3; # 设置密码最小长度为3
  ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
  grant all privileges on *.* to 'root'@'localhost' identified by '123456' with grant option;
  grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
  flush privileges;
  quit;
  • 配置 mysql jdbc 驱动
# 在各节点上执行
# 上传 repo 目录下 mysql 连接 mysql-connector-java-5.1.47.jar 到 /usr/share/java
  ️ mkdir -p /usr/share/java
# 重命名
  ️ mv mysql-connector-java-5.1.47.jar mysql-connector-java.jar
# 授权
  ️ chmod 777 mysql-connector-java.jar
  • 安装 daemons agent server
  yum -y install cloudera-manager-agent cloudera-manager-daemons cloudera-manager-server
  • 初始化 CM 相关数据库
  ##执行数据库脚本
  cd /opt/cloudera/cm/schema
  ./scm_prepare_database.sh mysql -uroot -p scm scm scm
  • 修改 agent 配置文件
vi /etc/cloudera-scm-agent/config.ini
server_host=$SERVERHOSTNAME

Agent 节点

  • 安装 daemons agent
yum -y install cloudera-manager-agent cloudera-manager-daemo
  • 修改 agent 配置文件
vi /etc/cloudera-scm-agent/config.ini
server_host=$SERVERHOSTNAME

开始启动服务

server

systemctl start cloudera-scm-server
systemctl enable cloudera-scm-server
systemctl start cloudera-scm-agent
systemctl enable cloudera-scm-agent

agent

systemctl start cloudera-scm-agent
systemctl enable cloudera-scm-agent

网页操作

http://server:7180
默认用户名为 admin
默认密码为 admin

附录

组件建表语句

mysql -uroot -p123456

  ##给scm授权
  grant all privileges on *.* to 'scm'@'localhost' identified by 'scm' with grant option;
  grant all privileges on *.* to 'scm'@'%' identified by 'scm' with grant option;

  ##创建hive数据库
  create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

  ##给hive授权
  grant all privileges on *.* to 'hive'@'localhost' identified by 'hive' with grant option;
  grant all privileges on *.* to 'hive'@'%' identified by 'hive' with grant option;

  ##创建oozie数据库
  create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

  ##给oozie授权
  grant all privileges on *.* to 'oozie'@'localhost' identified by 'oozie' with grant option;
  grant all privileges on *.* to 'oozie'@'%' identified by 'oozie' with grant option;

  ##创建hue数据库
  create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

  ##给hub授权
  grant all privileges on *.* to 'hue'@'localhost' identified by 'hue' with grant option;
  grant all privileges on *.* to 'hue'@'%' identified by 'hue' with grant option;

  ##刷新权限
  flush privileges;

  ##退出
  quit;

附录结束

版本修订记录

版本号 修订日期 修订人 备注
v1.1.2003 2020-03-02 nuo 创建文档
v1.2.2003 2020-03-18 nuo agent 配置勘误
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,376评论 6 491
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,126评论 2 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,966评论 0 347
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,432评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,519评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,792评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,933评论 3 406
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,701评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,143评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,488评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,626评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,292评论 4 329
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,896评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,742评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,977评论 1 265
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,324评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,494评论 2 348