CDH 5.15.2 离线安装

一、前置准备

1. 基础信息

1.1 机器

机器名 服务
hadoop1 主节点
hadoop2 data、task
hadoop3 data、task

1.2 服务版本

服务 版本
cdh 5.15.2
cm 5.15.2
jdk 1.8

2. 创建hadoop用户

不直接建议使用root用户,所以此处新建 hadoop用户

2.1 添加用户组及用户,配置密码

# 添加用户组
groupadd hadoop

# 添加用户
useradd -m -g hadoop hadoop

# 配置密码
passwd hadoop

2.2 sudo权限

visudo

# 在最后增加
hadoop ALL=(ALL)  NOPASSWD:ALL

3. 修改机器名并配置hosts

3.1 修改network文件

vim /etc/sysconfig/network

# 增加或修改
HOSTNAME=hadoop1

# 此配置需要重启才可以生效
shutdown -r now

3.2 修改hosts文件

127.0.0.1 hadoop1 s1
127.0.0.2 hadoop2 s2
127.0.0.3 hadoop3 s3

注意: /etc/hosts 中绝对不可以出现带有下划线的host名称,否则agent会启动不起来。

4. 机器之间免密码登录

为了便于维护,各机器使用相同的ssh key

# 在主节点生成公钥,一路回车即可
ssh-keygen -t rsa

# 生成一个authorized_keys文件
cat ~/.ssh/id_rsa.pub > ~/.ssh/authorized_keys

# 文件权限
chmod 600  ~/.ssh/authorized_keys

# 将生成的id_rsa.pub和authorized_keys拷贝到其它节点,必须保证上面所需的权限
scp -r ~/.ssh hadoop@hadoo2:~/
scp -r ~/.ssh hadoop@hadoop3:~/

# 如果没有scp,则安装
yum install openssh-clients

5. 修改系统资源参数

5.1 修改 90-nproc.conf

vim /etc/security/limits.d/90-nproc.conf

# 修改
soft nproc 65535

5.2 修改 limits.conf

vim /etc/security/limits.conf

# 增加
soft nproc 65535
hard nproc 65535

6. 安装 jdk

  • 版本:jdk1.8
  • 安装方式:rpm(此方式不需要手动配置环境变量)

6.1 查看centos是否自带了openjdk,如果带了则卸载掉

# 查看 
rpm -qa | grep java  
或 rpm -qa | grep jdk

# 卸载
rpm -e --nodeps 包名

6.2 安装

官网下载地址

安装:

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

6.3 配置全局的JAVA_HOME变量

此命令需要切换到root用户下完成

echo "JAVA_HOME=/usr/java/latest/" >> /etc/environment

7. 安装mysql

生产环境建议使用RDS或配置主从服务放置出现单点故障,此处直接使用yum安装

7.1 安装mysql-server及mysql-connector-java

# 安装
yum install mysql-server
yum install mysql-connector-java

# 启动
service mysqld start
/sbin/chkconfig mysqld on

# 设置开机启动
chkconfig mysqld on 设置开机启动

# 设置root密码:
mysqladmin -u root password '123456'

7.2 创建元数据库

# hive  
CREATE USER 'hive'@'127.0.0.1' IDENTIFIED BY '******';
CREATE DATABASE IF NOT EXISTS hive default charset utf8 COLLATE utf8_general_ci;
GRANT ALL PRIVILEGES ON `hive`.* TO 'hive'@'127.0.0.1';  
  
# activity monitor  
CREATE USER 'monitor'@'127.0.0.1' IDENTIFIED BY '******';
CREATE DATABASE IF NOT EXISTS monitor default charset utf8 COLLATE utf8_general_ci;
GRANT ALL PRIVILEGES ON `monitor`.* TO 'monitor'@'127.0.0.1';

# oozie
CREATE USER 'oozie'@'127.0.0.1' IDENTIFIED BY '******';
CREATE DATABASE IF NOT EXISTS oozie default charset utf8 COLLATE utf8_general_ci;
GRANT ALL PRIVILEGES ON `oozie`.* TO 'oozie'@'127.0.0.1';

# hue
CREATE USER 'hue'@'127.0.0.1' IDENTIFIED BY '******';
CREATE DATABASE IF NOT EXISTS hue default charset utf8 COLLATE utf8_general_ci;
GRANT ALL PRIVILEGES ON `hue`.* TO 'hue'@'127.0.0.1';

# 刷新权限  
flush privileges;

8. YUM安装服务所需要的RPM依赖

过程中如果出现找不到的包,可以通过 sudo yum whatprovides xxx,确定rpm包

sudo yum -y install bind-utils portmap fuse-libs httpd mod_ssl python-psycopg2 MySQL-python 
sudo yum -y install libxml2-devel libxslt-devel
sudo yum -y install cyrus-sasl-plain cyrus-sasl-devel cyrus-sasl-gssapi
sudo yum -y install fuse redhat-lsb-core-4.0-7.el6.centos.x86_64
sudo yum -y install openssl-devel

二、正式安装

1 下载所需要RPM包

下载地址

cloudera-manager-daemons-5.15.2-1.cm5152.p0.2.el6.x86_64.rpm
cloudera-manager-server-5.15.2-1.cm5152.p0.2.el6.x86_64.rpm
cloudera-manager-agent-5.15.2-1.cm5152.p0.2.el6.x86_64.rpm

2 安装 RPM

# 主节点
sudo rpm -ivh cloudera-manager-daemons-5.15.2-1.cm5152.p0.2.el6.x86_64.rpm cloudera-manager-server-5.15.2-1.cm5152.p0.2.el6.x86_64.rpm cloudera-manager-agent-5.15.2-1.cm5152.p0.2.el6.x86_64.rpm

# 从节点
sudo rpm -ivh cloudera-manager-daemons-5.15.2-1.cm5152.p0.2.el6.x86_64.rpm cloudera-manager-agent-5.15.2-1.cm5152.p0.2.el6.x86_64.rpm

3 配置jdk

vim /etc/default/cloudera-scm-server 
# 加入
export JAVA_HOME="/usr/java/latest"

vim /etc/default/cloudera-scm-agent
# 加入
export JAVA_HOME="/usr/java/latest"

4 把mysql-connector-java-5.1.43-bin.jar放到/usr/share/cmf/lib/

sudo cp mysql-connector-java-5.1.43-bin.jar /usr/share/cmf/lib/

5 主节点初始化CM5的数据库

rpm安装脚本目录在/usr/share/cmf/schema/scm_prepare_database.sh

脚本所需参数:数据库类型、数据库主机名或ip、数据库端口、建库用户名、密码、cmserver主机名、数据库的管理用户名、密码

sudo -E /usr/share/cmf/schema/scm_prepare_database.sh mysql   -hlocalhost -P3306 -uroot -p'123456' --scm-host 127.0.0.1 cloudera cm '123456'

看到下面的内容,则配置成功
CDH 5.15.2 离线安装

6 配置 agent

6.1 修改所有节点的 server_host 为主节点的机器名

sudo vim /etc/cloudera-scm-agent/config.ini
# 修改
server_host=hadoop1

6.2 所有节点上创建 cloudera-scm 用户

sudo useradd --system --home=/var/run/cloudera-scm-server/ -create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm

7 准备 parcels 文件

CDH parcels下载地址
GPLEXTRAS parcels下载地址

CDH-5.15.2-1.cdh5.15.2.p0.3-el6.parcel
CDH-5.15.2-1.cdh5.15.2.p0.3-el6.parcel.sha1
GPLEXTRAS-5.7.6-1.cdh5.7.6.p0.6-el6.parcel
GPLEXTRAS-5.7.6-1.cdh5.7.6.p0.6-el6.parcel.sha1
  1. 在主节点上将上述文件放到 /opt/cloudera/parcel-repo/ 目录中,如果没有parcel-repo文件夹,则自己创建
  2. 将.sha1的文件改名为.sha,否则无法识别

8. 启动server、agent服务

  • 执行命令要用sudo权限,-E 加载环境变量,否则会报错
  • 启动的其实是个service脚本,如需停止/重启服务将start改为stop/restart即可
# 启动服务端
sudo -E /etc/init.d/cloudera-scm-server start
# 启动Agent服务
sudo -E /etc/init.d/cloudera-scm-agent start

9. 将MYSQL的JDBC JAR包拷贝到HIVE和OOZIE的LIB下

10. 转战web页面

10.1 http://主节点ip:7180,初始账号及密码均为admin

CDH 5.15.2 离线安装

10.2 是的,继续

CDH 5.15.2 离线安装

10.3 免费版,继续

CDH 5.15.2 离线安装

10.4 继续

CDH 5.15.2 离线安装

10.5 之前的agent配置,会扫描到当前管理的集群机器,继续

CDH 5.15.2 离线安装

10.6 选择CDH版本这里会显示你放在/opt/cloudera/parcel-repo/下的parcel包,若未显示,则检查.sha1是否名称未改为.sha,并注意文件用户权限为cloudera-scm,修改之后重启server服务和agent服务,重新登录web即可显示,然后继续

CDH 5.15.2 离线安装

10.7 因为均是实现下载好的,所以此过程很快,继续

CDH 5.15.2 离线安装

10.8 检查主机

CDH 5.15.2 离线安装

都不是什么大问题,按提示,修改后点击“重新运行”,每个节点上都设置一下:
第一个警告:

# 切换到root用户执行
echo 10 > /proc/sys/vm/swappiness

# 添加或修改sysctl.conf
vim /etc/sysctl.conf
vm.swappiness = 0

第二个警告:

# 执行:
echo never > /sys/kernel/mm/transparent_hugepage/defrag 
echo never > /sys/kernel/mm/transparent_hugepage/enabled 

# 编辑rc.local加入上面两行
vim /etc/rc.local
10.9 选择并安装服务

CDH 5.15.2 离线安装

10.10 数据库设置,输入之前建好的用户名密码,继续

CDH 5.15.2 离线安装

10.11 然后一直默认,继续即可,直到如下页面即为安装成功

CDH 5.15.2 离线安装

上一篇:配置CDH使用Kerberos身份服务


下一篇:CDH故障解决