1. 准备服务器
- 机器要求 (8g+ , 4core)
- 安装 centeros 原生 minal 版本操作系统
- 开启网络和开机自启 (因为 minal 版的操作系统网卡开机不是自动启动的)
-
安装常用软件
yum -y install gcc gcc-c++ vim wget openssh-clients ntp lsof
-
克隆机器
cdh-server cdh01 cdh02 ch03 cdh04 cdh05
-
免密码登录
cdh-server(10.10.10.200)---- 免密登录 ---->cdh-server(10.10.10.200) cdh-server(10.10.10.200)---- 免密登录 ---->cdh01(10.10.10.201) cdh-server(10.10.10.200)---- 免密登录 ---->cdh02(10.10.10.202) cdh-server(10.10.10.200)---- 免密登录 ---->cdh03(10.10.10.203) cdh-server(10.10.10.200)---- 免密登录 ---->cdh04(10.10.10.204) cdh-server(10.10.10.200)---- 免密登录 ---->cdh05(10.10.10.205)
2. cdh 集群搭建的准备工作
-
准备 6 个机器
cdh-server 6gb 内存 30gb 硬盘 4 核 cdh01 6gb 内存 30gb 硬盘 4 核 cdh02 6gb 内存 30gb 硬盘 4 核 cdh03 6gb 内存 30gb 硬盘 4 核 cdh04 6gb 内存 30gb 硬盘 4 核 cdh05 6gb 内存 30gb 硬盘 4 核
-
关闭防火墙和开机自启 (所有机器都要做)
service iptables stop chkconfig iptables off
-
开启时间同步服务器 (所有机器都要做)
service ntpd start chkconfig ntpd on
-
关闭 linux 的 selinux 服务 (所有机器都要做)
vim /etc/selinux/config #SELINUX=enforcing SELINUX=disabled
-
安装 jdk(所有机器都要做)
…….
-
安装 mysql 数据库 (任意一个机器即可)
1> 安装数据库 yum -y install mysql-server 2> 启动数据库服务 service mysqld start 3> 设置开机自启 chkconfig mysqld on 4> 登录到 mysql mysql -uroot -p 5> 设置 mysql 的密码 set password=password('root'); 6> 刷新权限 flush privileges 7> 开启远程登录的权限 use mysql; delete from user where password=''; update user set host='%' where user='root'; flush privileges
-
设置 /proc/sys/vm/swappiness 为 0。(所有机器都做)
因为 CDH 运行需要消耗大量的内存,默认值为 60,也就是说当内存使用到 100-60=40% 的时候,就开始出现有交换分区的使用。大家知道,内存的速度会比磁盘快很多,这样子会加大系统 io,同时造的成大量页的换进换出,严重影响系统的性能,所以我们在操作系统层面,要尽可能使用内存,对该参数进行调整。调整:vim /etc/sysctl.conf 添加内容 vm.swappiness=0 重启可以生效,当然也可以激活:sysctl -p
-
关闭 THP(所有机器都做)
echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabled echo never > /sys/kernel/mm/transparent_hugepage/enabled echo never > /sys/kernel/mm/transparent_hugepage/defrag
3. 安装 cloudera manager(cm)
-
准备 cm 的安装包
[root@cdh-server opt] cloudera-manager-el6-cm5.6.1_x86_64.tar.gz
-
解压 clouder-manager(cm)
[root@cdh-server opt] tar -zxvf cloudera-manager-el6-cm5.6.1_x86_64.tar.gz -C /opt/
-
修改 agent 配置文件
vim /opt/cm-5.6.1/etc/cloudera-scm-agent/config.ini server_host=cdh-server
-
拷贝 mysql 驱动
[root@cdh-server opt] 将 mysql 的驱动 jar 包拷贝到 /opt/cm-5.6.1/share/cmf/lib/ 中做 CM 初始化元数据库使用
-
初始化 cm 元数据库
[root@cdh-server opt] /opt/cm-5.6.1/share/cmf/schema/scm_prepare_database.sh mysql cm -uroot -proot -hcdh05 -P3306 --scm-host cdh-server scm scm scm
-
把 cdh-server 上的 cm 安装目录拷贝到其他机器
[root@cdh-server opt] scp -r /opt/cm-5.6.1 root@cdh01:/opt/ scp -r /opt/cm-5.6.1 root@cdh02:/opt/ scp -r /opt/cm-5.6.1 root@cdh03:/opt/ scp -r /opt/cm-5.6.1 root@cdh04:/opt/ scp -r /opt/cm-5.6.1 root@cdh05:/opt/
-
在所有节点创建 cloudera-scm 用户
useradd --system --home=/opt/cm-5.6.1/run/cloudera-scm-server/ --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
-
配置环境变量 (所有机器都要做)
export PATH=$PATH:/opt/cm-5.6.1/etc/init.d #使环境变量生效 source /etc/profile.d/cdh-env.sh
-
启动相应的服务
cdh-uplooking-server ===>clouder-scm-server start cdh-uplooking01 ===>clouder-scm-agent start cdh-uplooking02 ===>clouder-scm-agent start cdh-uplooking03 ===>clouder-scm-agent start cdh-uplooking04 ===>clouder-scm-agent start cdh-uplooking05 ===>clouder-scm-agent start
-
端口使用情况
webui 的端口为:cdh-server 的 7180 内部通信的端口为: cdh-server 的 7182
-
通过 webui 可以访问我们的 cm
cdh-server:7180 #只要能进入登录界面就好 先不要开始安装
4. 开始安装 cdh 集群
-
准备 cdh 安装包
[root@cdh-server parcel-repo] 将 CDH5 相关的 Parcel 包放到主节点的 /opt/cloudera/parcel-repo/ 目录中(parcel-repo 目录不存在的话需要手动创建)cp /soft/CDH-5.6.1-1.cdh5.6.1.p0.3-el6.parcel /opt/cloudera/parcel-repo/ cp /soft/CDH-5.6.1-1.cdh5.6.1.p0.3-el6.parcel.sha1 /opt/cloudera/parcel-repo/CDH-5.6.1-1.cdh5.6.1.p0.3-el6.parcel.sha cp /soft/manifest.json /opt/cloudera/parcel-repo/ #注意,在 /opt/cloudera/parcel-repo/ 目录下一定要.sha1 后缀名改为.sha,不然系统不识别离线安装包,还会从网络中下载
-
开始安装
http://cdh-server:7180
- http://note.youdao.com/notesh…