一 系统配置
系统版本 | 主机名 | 主机 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 源
wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm 下载 配置mysql rpm 源
yum localinstall mysql-community-release-el7-5.noarch.rpm 安装源
yum repolist enabled | grep "mysql.*-community.*" 查看是否添加成功,下图是已经安装调换成为 5.5 的版本,正常情况这个地方默认是 5.6 版本
由于默认mysql 版本是 5.6 版本需要修改成启动 5.5 版本(根据需求选择,这里有 5.5 5.6 5.7)
修改 /etc/yum.repos.d/mysql-community.repo 文件,enabled=0 是指禁用,enabled=1 指启用
vim /etc/yum.repos.d/mysql-community.repo
将 mysql 5.5 或者 5.7 的 enable 改为 1,将 mysql 5.6 的 enable 改为 0,然后执行第6个步骤,查看启用的 mysql 版本,查看命令还是 yum repolist enabled | grep "mysql.*-community.*"
2 安装mysql
yum install mysql-community-server
3 启动mysql
systemctl start(restart|stop|status) mysqld
4 修改mysql 账号密码
mysql -u root -p 登录进去
SET PASSWORD = PASSWORD('your new password'); 修改密码
grant all privileges on *.* to 'root'@'%' identified by 'your new password' with grant option; 开启远程能访问
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
添加如下配置
[mysqld]
character_set_server = utf8
[mysql]
default-character-set = utf8
保存重启mysql systemctl restart mysqld
五 Cloudera Manager 安装
在所有服务器上面执行如下操作
1 创建主程序文件目录
mkdir /opt/cloudera-manager 创建 服务端目录
tar -zxvf cloudera-manager-centos7-cm5.15.1_x86_64.tar.gz -C /opt/cloudera-manager 解压到创建目录
2 创建cloudera-scm 账号
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
chown cloudera-scm:cloudera-scm /opt/cloudera-manager 权限修改 为 cloudera-scm 用户权限
3 配置服务端 service 服务
cp /opt/cloudera-manager/cm-5.15.1/etc/init.d/cloudera-scm-server /etc/init.d/cloudera-scm-server 把服务端启动服务,拷贝到系统启动配置项中
chkconfig cloudera-scm-server on 开启service 服务自启动
vim /etc/init.d/cloudera-scm-server 修改启动配置文件
CMF_DEFAULTS=${CMF_DEFAULTS:-/etc/default}改为=/opt/cloudera-manager/cm-5.15.1/etc/default
vim /etc/rc.local 添加开机启动
service cloudera-scm-server restart
六 Cloudera Manager agent 安装
1 创建agent 文件目录 同 master 安装操作 1 2 步骤一样,这里就不在写安装过程
2 修改agent 配置文件
vim /opt/cloudera-manager/cm-5.15.1/etc/cloudera-scm-agent/config.ini
将 server_host 参数修改为 master 主机名字,填写 ip 和 主机域名都可以
3 配置agent service 服务
cp /opt/cloudera-manager/cm-5.15.1/etc/init.d/cloudera-scm-agent /etc/init.d/cloudera-scm-agent 把服务端启动服务,拷贝到系统启动配置项中
chkconfig cloudera-scm-agent on 开启service 服务自启动
vim /etc/init.d/cloudera-scm-agent 修改启动配置文件
CMF_DEFAULTS=${CMF_DEFAULTS:-/etc/default}改为=/opt/cloudera-manager/cm-5.15.1/etc/default
vim /etc/rc.local 添加开机启动
service cloudera-scm-agent restart
七 Parcel 安装
在 server 节点创建如下目录
mkdir -p /opt/cloudera/parcel-repo 存储下载文件目录
chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo 添加 cloudera-scm 权限
在 Agent 节点创建如下目录
mkdir -p /opt/cloudera/parcels 存储 master节点 安装到从节点软件目录
chown cloudera-scm:cloudera-scm /opt/cloudera/parcels 添加 cloudera-scm 权限
八 初始化 CM 脚本
/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
说明:这个脚本是用来创建和配置CMS 需要的数据库脚本,各参数解释如下:
mysql : 数据库用的是mysql, 这个地方就是选择你安装数据库的类型,如果安装的是oracle ,postgresql 那这个地方的参数就是 oracle ,postgresql
root: 我这里用的是超级管理账号创建的,普通账号也是可以的 -p 密码就是 创建数据库设置root 密码。
scm scm scmdb 分别意思是 数据库名,数据库用户名,数据库密码, 密码必须为大小写加特殊符号
看到如下信息说明是成功的
[main] DbCommandExecutor INFO Successfully connected to database. All done, your SCM database is configured correctly!
九 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
转载于:https://blog.51cto.com/10967609/2313324