前期准备
链接
部署环境准备
安装搭建
- 1 . 关闭防火墙
service iptables stop
(所有节点)
SELINUX关闭(所有节点)vi /etc/selinux/config
(SELINUX=disabled) - 2 . 启动mysql
- 2.1
service mysqld start
- 2.2
mysql -u[账号] -p[密码]
- 3 . 部署为集群的每台节点都需要下载安装以下依赖包
• chkconfig
• python
• bind-utils
• psmisc
• libxslt
• zlib
• sqlite
• cyrus-sasl-plain
• cyrus-sasl-gssapi
• fuse fuse-libs
• redhat-lsb
yum -y install chkconfig python bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse fuse-libs redhat-lsb
- complete下载成功,否则请重现安装,若安装速度过慢或无法下载,尝试更改下载源
- 虚拟机用户请于此处拍摄快照 , 该帖危险重重 .
- 4 . 安装Cloudera Manager Server
- 4.1 部署为集群的每台节点的opt目录下创建cloudera-manager文件夹:
mkdir /opt/cloudera-manager
- 4.2 在cloudera-manager文件夹下 , 部署为集群的每台节点都需要上传安装包并解压
tar -zvxf cloudera-manager-el6-cm5.4.3_x86_64.tar.gz
(你可以选择解压后删除安装包,比较占磁盘空间)
- 5 . 创建系统用户
- 部署为集群的每台节点都执行
useradd --system --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
命令 , 创建用户
useradd: 创建用户
system:系统用户
–no-create-home: 没有的话创建
“Cloudera SCM User”: 注释
cloudera-scm:用户名
- 6 . 配置CM Agent
- 首先 , 要想好哪些服务器节点规划为Agent , 我是把所有 node01 , node02 , node03 都作为Agent , 其中node01同时作为server
- 部署为Agent的每台节点 , 都修改cm-5.4.3解压文件夹中的config.ini文件 , 指定服务端
vim /opt/cloudera-manager/cm-5.4.3/etc/cloudera-scm-agent/config.ini
- 7 . 配置数据库
- 7.1 把mysql的驱动jar包拷贝到指定为server端的服务器节点中的usr目录下的share目录下的java目录下 , 如果目录不存在请自己手动创建 .
cd /usr/share/java/
- 7.2 把jar包名称改为
mysql-connector-java.jar
, 不改会出错 , 年轻人不要问为什么 , 我不知道 … - 7.3 授权
7.3.1 进入mysqlmysql -uroot -p123456
7.3.2 使用mysql表use mysql;
7.3.3 授权grant all on *.* to 'temp'@'%' identified by 'temp' with grant option;
- all : 所有权
- *. * : 某个数据库某张表
- ‘temp’ : 哪个用户,temp用户,没有就创建, 后一个temp是密码.
7.3.4 查看是否添加成功select host,user,password from user;
7.3.5 刷出权限flush privileges;
7.3.6 进入cloudera-manager解压文件目录多级子目录下的schema文件夹cd /opt/cloudera-manager/cm-5.4.3/share/cmf/schema/
7.3.7 执行命令./scm_prepare_database.sh mysql temp -h node01 -utemp -ptemp --scm-host node01 scm scm scm
./scm_prepare_database.sh:执行当前目录下的scm_prepare_database.sh文件,
mysql:类型是mysql数据库 ,
temp:用户是temp,
-h node01:节点是node01,
-utemp -ptemp:用户名是temp , 密码是temp,
–scm-host node01:scmserver服务器是node01 ,
scm scm scm:创建的用户scm都能通过临时目录登陆到数据库
7.3.8 运行结果如下
(若上步失败或过程中操作中断,大侠请删除所有库、重头再来过)
- 8 . 在server节点创建parcel-repo目录,赋权
- 创建opt目录多级子目录下的parcel-repo目录:
mkdir -p /opt/cloudera/parcel-repo
- 给该目录相关权限
chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo
- 9 . 在所有Agent节点创建parcels目录,赋权
- 在所有Agent节点创建parcels目录:
mkdir -p /opt/cloudera/parcels
- 赋予相关权限
chown cloudera-scm:cloudera-scm /opt/cloudera/parcels
- 10 . 制作CDH本地源
- 下载好文件CDH-5.4.0-1.cdh5.4.0.p0.27-el6.parcel以及manifest.json,
- 将这两个文件放到server节点的/opt/cloudera/parcel-repo下。
- 打开manifest.json文件,里面是json格式的配置,找到与下载版本(CDH-5.4.0-1.cdh5.4.0.p0.27-el6.parcel)相对应的hash码,
- 新建文件,文件名与你的parel包名(CDH-5.4.0-1.cdh5.4.0.p0.27-el6.parcel)一致,并加上.sha后缀,将hash码复制到文件中保存。
- 11 . 启动CM Server、Agent
- 兄弟 , 别着急 ,
init 0
拍快照 , 不要头铁头铁 , 万一启动失败你又得清空重来一遍 . - 重启完关闭所有节点防火墙
- 启动mysql
- 进入init.d目录下:
cd /opt/cloudera-manager/cm-5.4.3/etc/init.d/
- server节点启动server端:
./cloudera-scm-server start
(Sever首次启动会自动创建表以及数据,不要立即关闭或重启,否则需要删除所有表及数据重新安装)
查看日志打印:tail -f /opt/cloudera-manager/cm-5.4.3/log/cloudera-scm-server/cloudera-scm-server.log
- Agent节点启动:
./cloudera-scm-agent start
- 注意日志:
tail -f /opt/cloudera-manager/cm-5.4.3/log/cloudera-scm-server/cloudera-scm-server.log
打印如下信息后即成功
登录前端页面进行CDH安装配置。
- 1 . 浏览器登陆
[serer节点ip]:[7180]
访问
账号密码都是adming
- 2 . 根据需要选择版本
- 3 . 该版本可供选择的服务
- 4 . 选择集群的服务节点 [新机选项中可以添加服务节点,后续也可以添加 , 无碍] - 5 . 选择版本
- 6 . 等待下载分配解压缩激活
- 此时Linux系统Server服务器节点
/opt/cloudera/parcels
目录下自动部署了CDH-5.4.0-1.cdh5.4.0.p0.27
文件夹 - 7 . 等待检查
- 8 . 出现了问题 , 按提示解决吧 . . . . . .
- 8 . 1 :出现了如下的问题 , 没事 , 有快照 , 头铁着上 !
- 8 . 2 :按照提示, 我先探一下提示所说的文件vim /proc/sys/vm/swappiness
- 8 . 3 :文件存在,按提示修改为0
- 8 . 4: 不让改 …
- 8 .5: 输出重定向覆盖 , 改了 . . .
- 8 . 6: 按提示把剩下的node02 node03 节点都修改一下
- 8 . 7 :重新运行一下
- 8 . 8 :没毛病
- 9: 看自己要啥装啥
- 10: 根据自己的服务器规划来部署 , 但是 Cloudera Management Service指向server节点
- 11: 根据自己的规划分配数据库
- 12 数据存储目录 , 看自己需求 , 有问题可以看注释
- 13 : 如果失败 , 大侠重新来吧
- 14 happy ending
关闭
- web端关闭
- Linux下
- 进入init.d目录下:
cd /opt/cloudera-manager/cm-5.4.3/etc/init.d/
- 所有Agent节点关闭命令:
./cloudera-scm-agent stop
- server节点关闭命令:
./cloudera-scm-server stop