|
一 系统配置
系统版本 | 主机名 | 主机 ip | 配置 | 说明 | Centos 7.3 | CDH-master | XXXX | 4核16G | 安装主节点(master) | CDH-slave | 安装从节点(slave) | CDH-slave | 安装从节点(slave) | CDH-slave | 安装从节点(slave) | 二 相关依赖
软件名字 | 软件安装版本 | 用途说明 | JDK 1.8 | jdk-8u101-linux-x64.rpm | Openjdk | MYSQL | 5.5(yum 和源码安装都可以) | 存放cloudera manager配置文件 | mysql-connector-java | 5.1.47(各种版本都有)
https://mvnrepository.com/artifact/mysql/mysql-connector-java | JDBC(链接数据库) | cloudera manager | cloudera-manager-centos7-cm5.15.1_x86_64.tar.gz
http://archive.cloudera.com/cm5/cm/5/ | CDH 平台安装包 | CDH parcel 包 | CDH-5.15.1-1.cdh5.15.1.p0.4-el7.parcel
http://archive.cloudera.com/cdh5/parcels/5.15.1/ | 集群各软件压缩包 | CDH parcel.sha包 | CDH-5.15.1-1.cdh5.15.1.p0.4-el7.parcel.sha1 | 压缩包对于哈希码 | manifest.json | 要和 parcel和parcel.sha版本一致 | 版本说明json文件 |
|
|
| 三 系统环境准备
安装需要注意事项
不要修改ssh 端口,cdh 通讯默认走的是ssh 端口
jdk 一定要安装 1.8
mysql 数据库密码 大小写加特殊符号 添加特殊符号的时候 @ 这样的特殊符号不要添加
1 防火墙关闭
所有机器上面都要执行
firewall-cmd --state 查看防火墙状态
systemctl stop firewalld.service 停止firewall
systemctl disable firewalld.service 禁止firewall开机启动
关闭 selinux
vi /etc/selinux/config 将SELINUX=enforcing改为SELINUX=disabled 重启机器 永久性关闭
2 卸载mysql 是为后面安装mysql 做好基础
CentOS 7 已经不支持mysql,因为收费了,所以内部集成了mariadb,而安装mysql的话会和mariadb的文件冲突,所以需要先卸载掉mariadb:
只需要在安装 msyql 机器上面 做如下操作 :
卸载 mariadb
查看安装的 mariadb
rpm -qa |grep mariadb
强制删除 mariadb
rpm -e --nodeps 卸载查看到的mariadb
卸载 mysql
查看安装的 mysql
rpm -qa |grep mysql
强制删除 mysql
rpm -e --nodeps 卸载查看到的mysql
删除已存在的配置文件
whereis mysql 查看具体的安装位置
使用 rm -rf 删除
3 修改主机名称
所有的机器都要修改hosts 为了方便配置地址
vim /etc/hosts
127.0.0.1 localhost. master
XXXXXXX cdh1
XXXXXXX cdh2
XXXXXXX cdh3
XXXXXXX cdh4
4 免秘钥设置
在主节点master上执行如下操作
ssh-keygen -t rsa -P '' 一直回车就可以
将master上的公钥id_rsa.pub 放到自己的认证文件中 authorized_keys
cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
chmod 600 /root/.ssh//authorized_keys
for a in {1..4}; do ssh scp /root/.ssh/authorized_keys root@cdh$a:/root/.ssh/authorized_keys ; done 拷贝到四个从节点 agent 上
5 yum 安装依赖包
yum install httpd mod_ssl libxml2-python psmisc bind-utils libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse portmap fuse-libs redhat-lsb -y
6 JDK 安装
在所有服务器上都安装
将下载好的jdk-8u101-linux-x64.rpm 上传至服务器上
执行 rpm -ivh jdk-8u101-linux-x64.rpm
配置环境变量
vim /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_101
export JAVA_BIN=/usr/java/jdk1.8.0_101/bin
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
执行 source /etc/profile 文件生效
四 安装mysql
1 安装 5.5 rpm 源
[color=rgba(0, 0, 0, 0.87)]wget[color=rgba(0, 0, 0, 0.87)] [color=rgba(0, 0, 0, 0.87)]http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm 下载 配置mysql rpm 源
[color=rgba(0, 0, 0, 0.87)] yum localinstall mysql-community-release-el7-5.noarch.rpm 安装源
[color=rgba(0, 0, 0, 0.87)] [color=rgba(0, 0, 0, 0.87)]yum repolist enabled | grep "mysql.*-community.*" 查看是否添加成功,下图是已经安装调换成为 5.5 的版本,正常情况这个地方默认是 5.6 版本
[color=rgba(0, 0, 0, 0.87)] 
由于默认mysql 版本是 5.6 版本需要修改成启动 5.5 版本(根据需求选择,这里有 5.5 5.6 5.7)
修改 [color=rgba(0, 0, 0, 0.87)]/etc/yum.repos.d/mysql-community.repo 文件,enabled=0 是指禁用,enabled=1 指启用
[color=rgba(0, 0, 0, 0.87)] [color=rgba(0, 0, 0, 0.87)] vim [color=rgba(0, 0, 0, 0.87)]/etc/yum.repos.d/mysql-community.repo
[color=rgba(0, 0, 0, 0.87)] [color=rgba(0, 0, 0, 0.87)]将 mysql 5.5 或者 5.7 的 enable 改为 1,将 mysql 5.6 的 enable 改为 0,然后执行第6个步骤,查看启用的 mysql 版本,查看命令还是[color=rgba(0, 0, 0, 0.87)] [color=rgba(0, 0, 0, 0.87)]yum repolist enabled | grep "mysql.*-community.*"
[color=rgba(0, 0, 0, 0.87)] 2 安装mysql
[color=rgba(0, 0, 0, 0.87)] yum install mysql-community-server
[color=rgba(0, 0, 0, 0.87)] 3 启动mysql
[color=rgba(0, 0, 0, 0.87)] systemctl start(restart|stop|status) mysqld
[color=rgba(0, 0, 0, 0.87)] 4 修改mysql 账号密码
[color=rgba(0, 0, 0, 0.87)] mysql -u root -p 登录进去
[color=rgba(0, 0, 0, 0.87)] SET PASSWORD = PASSWORD('your new password'); 修改密码
[color=rgba(0, 0, 0, 0.87)] grant all privileges on *.* to 'root'@'%' identified by '[color=rgba(0, 0, 0, 0.87)]your new password' with grant option; 开启远程能访问
[color=rgba(0, 0, 0, 0.87)] create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci; 创建 hive 数据库
create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci; 创建 amon 数据库
create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;创建 hue 数据库
create database monitor DEFAULT CHARSET utf8 COLLATE utf8_general_ci; 创建 monitor 数据库
create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci; 创建 oozie 数据库
flush privileges; 保存刷新
5 修改mysql 字符集
vim /etc/my.cnf
添加如下配置
[color=rgba(0, 0, 0, 0.87)][mysqld]
[color=rgba(0, 0, 0, 0.87)] character_set_server = utf8
[color=rgba(0, 0, 0, 0.87)] [mysql]
[color=rgba(0, 0, 0, 0.87)] default-character-set = utf8
[color=rgba(0, 0, 0, 0.87)] 保存重启mysql systemctl restart mysqld
[color=rgba(0, 0, 0, 0.87)]五 Cloudera Manager 安装
[color=rgba(0, 0, 0, 0.87)] 在所有服务器上面执行如下操作
[color=rgba(0, 0, 0, 0.87)] 1 创建主程序文件目录
[color=rgba(0, 0, 0, 0.87)] mkdir /opt/cloudera-manager 创建 服务端目录
[color=rgba(0, 0, 0, 0.87)] tar -zxvf cloudera-manager-centos7-cm5.15.1_x86_64.tar.gz -C [color=rgba(0, 0, 0, 0.87)]/opt/cloudera-manager 解压到创建目录
[color=rgba(0, 0, 0, 0.87)][color=rgba(0, 0, 0, 0.87)] 2 创建cloudera-scm 账号
[color=rgba(0, 0, 0, 0.87)][color=rgba(0, 0, 0, 0.87)] useradd --system --home=/opt/cloudera-manager/cm-5.15.1/run/cloudera-scm-server/ --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
[color=rgba(0, 0, 0, 0.87)][color=rgba(0, 0, 0, 0.87)] chown cloudera-scm:cloudera-scm /opt/cloudera-manager 权限修改 为 cloudera-scm 用户权限
[color=rgba(0, 0, 0, 0.87)][color=rgba(0, 0, 0, 0.87)] 3 配置服务端 service 服务
[color=rgba(0, 0, 0, 0.87)][color=rgba(0, 0, 0, 0.87)] cp /opt/cloudera-manager/cm-5.15.1/etc/init.d/cloudera-scm-server /etc/init.d/cloudera-scm-server 把服务端启动服务,拷贝到系统启动配置项中
[color=rgba(0, 0, 0, 0.87)][color=rgba(0, 0, 0, 0.87)] chkconfig cloudera-scm-server on 开启service 服务自启动
[color=rgba(0, 0, 0, 0.87)][color=rgba(0, 0, 0, 0.87)] vim /etc/init.d/cloudera-scm-server 修改启动配置文件
[color=rgba(0, 0, 0, 0.87)][color=rgba(0, 0, 0, 0.87)] CMF_DEFAULTS=${CMF_DEFAULTS:-/etc/default}改为=/opt/cloudera-manager/[color=rgba(0, 0, 0, 0.87)]cm-5.15.1/etc/default
[color=rgba(0, 0, 0, 0.87)][color=rgba(0, 0, 0, 0.87)] vim /etc/rc.local 添加开机启动
[color=rgba(0, 0, 0, 0.87)][color=rgba(0, 0, 0, 0.87)] service cloudera-scm-server restart
[color=rgba(0, 0, 0, 0.87)]六 Cloudera Manager agent 安装
[color=rgba(0, 0, 0, 0.87)] 1 创建agent 文件目录 同 master 安装操作 1 2 步骤一样,这里就不在写安装过程
[color=rgba(0, 0, 0, 0.87)] 2 修改agent 配置文件
[color=rgba(0, 0, 0, 0.87)] vim /opt/cloudera-manager/cm-5.15.1/etc/cloudera-scm-agent/config.ini
[color=rgba(0, 0, 0, 0.87)] 将 server_host 参数修改为 master 主机名字,填写 ip 和 主机域名都可以
[color=rgba(0, 0, 0, 0.87)] 
[color=rgba(0, 0, 0, 0.87)] [color=rgba(0, 0, 0, 0.87)]3 配置agent service 服务
[color=rgba(0, 0, 0, 0.87)][color=rgba(0, 0, 0, 0.87)]
[color=rgba(0, 0, 0, 0.87)] cp /opt/cloudera-manager/cm-5.15.1/etc/init.d/cloudera-scm-agent /etc/init.d/cloudera-scm-agent 把服务端启动服务,拷贝到系统启动配置项中
[color=rgba(0, 0, 0, 0.87)] chkconfig cloudera-scm-agent on 开启service 服务自启动
[color=rgba(0, 0, 0, 0.87)] vim /etc/init.d/cloudera-scm-agent 修改启动配置文件
[color=rgba(0, 0, 0, 0.87)] CMF_DEFAULTS=${CMF_DEFAULTS:-/etc/default}改为=/opt/cloudera-manager/cm-5.15.1/etc/default
[color=rgba(0, 0, 0, 0.87)] vim /etc/rc.local 添加开机启动
[color=rgba(0, 0, 0, 0.87)] service cloudera-scm-agent restart
[color=rgba(0, 0, 0, 0.87)][color=rgba(0, 0, 0, 0.87)]
[color=rgba(0, 0, 0, 0.87)]七 Parcel 安装
[color=rgba(0, 0, 0, 0.87)] 在 server 节点创建如下目录
[color=rgba(0, 0, 0, 0.87)] mkdir -p /opt/cloudera/parcel-repo 存储下载文件目录
[color=rgba(0, 0, 0, 0.87)] chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo 添加 [color=rgba(0, 0, 0, 0.87)]cloudera-scm 权限
[color=rgba(0, 0, 0, 0.87)] [color=rgba(0, 0, 0, 0.87)]在 Agent 节点创建如下目录
[color=rgba(0, 0, 0, 0.87)] mkdir -p /opt/cloudera/parcels 存储 master节点 安装到从节点软件目录
[color=rgba(0, 0, 0, 0.87)] chown cloudera-scm:cloudera-scm /opt/cloudera/parcels [color=rgba(0, 0, 0, 0.87)]添加 cloudera-scm 权限
[color=rgba(0, 0, 0, 0.87)]八 初始化 CM 脚本
[color=rgba(0, 0, 0, 0.87)] /opt/cloudera-manager/cm-5.15.1/share/cmf/schema/scm_prepare_database.sh mysql -h ip -u root -pXXXX --scm-host ip scm scm scmdb
[color=rgba(0, 0, 0, 0.87)] 说明:这个脚本是用来创建和配置CMS 需要的数据库脚本,各参数解释如下:
[color=rgba(0, 0, 0, 0.87)] mysql : 数据库用的是mysql, 这个地方就是选择你安装数据库的类型,如果安装的是oracle ,postgresql 那这个地方的参数就是 [color=rgba(0, 0, 0, 0.87)]oracle ,postgresql
[color=rgba(0, 0, 0, 0.87)] root: 我这里用的是超级管理账号创建的,普通账号也是可以的 -p 密码就是 创建数据库设置root 密码。
[color=rgba(0, 0, 0, 0.87)] scm scm scmdb 分别意思是 数据库名,数据库用户名,数据库密码, 密码必须为大小写加特殊符号
[color=rgba(0, 0, 0, 0.87)]
[color=rgba(0, 0, 0, 0.87)] 看到如下信息说明是成功的
[color=rgba(0, 0, 0, 0.87)] [main] DbCommandExecutor INFO Successfully connected to database. All done, your SCM database is configured correctly!
[color=rgba(0, 0, 0, 0.87)]九 CDH 制作本地源
将下载好的 CDH-5.15.1-1.cdh5.15.1.p0.4-el7.parcel CDH-5.15.1-1.cdh5.15.1.p0.4-el7.parcel.sha1 manifest.json 三个文件放到 master /opt/cloudera/parcel-repo 下
要把CDH-5.15.1-1.cdh5.15.1.p0.4-el7.parcel.sha1 重命名为 CDH-5.15.1-1.cdh5.15.1.p0.4-el7.parcel.sha
mv CDH-5.15.1-1.cdh5.15.1.p0.4-el7.parcel.sha1 CDH-5.15.1-1.cdh5.15.1.p0.4-el7.parcel.sha 为了在安装软件的时候,从本地安装,不去网上下载,这样速度比较快。
打开 manifest.json文件,里面是json 格式的设置,找到对应的版本,修改为 重命名文件名字,并加上 .sha 后缀 如下图:
十 CDH 安装
分别启动 master 服务 agent 服务
进入浏览器 输入 http://master:7180
用户名,密码 都是 admin
以下图片,摘抄于网络

这个地方安装的时候,如果cdh 本地源配置正确,这个地方,进度条瞬间100%,如果设置不正确,会从网上下载。
选择,需要安装的服务,我们这里选择自定义服务


根据自己的需求,选择相对应的服务,这里不解释,每一个公司对应的需求都是不相同。
KAFKA 安装比较特殊些,在这里讲下 KAFKA 安装
我这里是已经下载安装好的,新的环境,点击下载,安装完成之后,需要点击激活才可使用。
以下是我安装好的集群
QQ: 2263260462
Alon
|
|