cloudera manager
管理大数据开发平台(集群)
主从架构:
server:主节点进程,启动在一台服务器上,与各个从节点通讯收集从节点发来的服务器状态信息,另外负责整个集群的启动和停止,负责集群框架的安装部署统一调配,server进程所在的服务器上不安装任何大数据框架
agent:从节点agent也称为主机,所有的大数据框架安装部署及任务的执行都是在agent上实现的。agent服务器负责搜集所在服务器上的服务器资源信息及其他服务器进程的运行状态信息统一汇报给server
database: 数据库, CM需要一个数据库的支撑来存储CM集群的元数据 ,我选择mysql数据库
安装时所需要的工具选择:
CDH-5.10.2-1.cdh5.10.2.p0.5-el6.parcel
CDH-5.10.2-1.cdh5.10.2.p0.5-el6.parcel.sha1
cloudera-manager-el6-cm5.10.2_x86_64.tar.gz
mysql-connector-java.jar
jdk-8u144-linux-x64.tar.gz
一、环境的准备
系统:CentOS 6.5版本,64位
内存:10GB
硬盘:40GB
CPU:10核
五台服务器:
172.23.201.191 server.com
172.23.201.192 agent01.com
172.23.201.193 agent02.com
172.23.201.194 agent03.com
172.23.201.195 agent04.com
1、配置ip、hostname、映射 (所有服务器)
1)查看文件信息并且追加信息
# vi /etc/sysconfig/network
HOSTNAME=server.com
i插入修改,esc退出,:wq保存退出,:w保存不退出,:q!强制退出
2)重启生效
# service network restart
3)验证
# hostname
4)查看文件信息并且追加信息(所有服务器)
# vi /etc/hosts
172.23.201.191 server.com
172.23.201.192 agent01.com
172.23.201.193 agent02.com
172.23.201.194 agent03.com
172.23.201.195 agent04.com
5)验证
# ping www.baidu.com
6)检查映射是否配好
7)设置静态ip(服务器的就不需要了)
2、禁用ipv6 (CDH 要求使用 IPv4,IPv6 不支持,所有服务器)
1)查看文件信息并且追加信息
cat /etc/modprobe.d/dist.conf
# echo "alias net-pf-10 off">>/etc/modprobe.d/dist.conf
# echo "alias ipv6 off">>/etc/modprobe.d/dist.conf
2)重启生效
ip a 验证是否成功
3、禁用selinux 和关闭防火墙(所有服务器)
1)禁用selinux
# getenforce 查看selinux状态
# vi /etc/sysconfig/selinux
SELINUX=disabled
重启生效
验证:[root@server ~]# getenforce
Disabled
2)关闭防火墙:
# service iptables stop
# 设置成开机不启动
# chkconfig iptables off
4、JDK安装(所有服务器)
1)卸载系统自带的相关安装包
# rpm -qa | grep java
# rpm -e --nodeps tzdata-java-2013g-1.el6.noarch java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64 java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64
2)创建目录,上传解压jdk
# mkdir -p /opt/apps
# mkdir -p /opt/softwares
# tar -zxf jdk-8u144-linux-x64.tar.gz -C /opt/apps
3)配置java环境变量(所有服务器)
# vi /etc/profile
export JAVA_HOME=/opt/apps/jdk1.8.0_144
export PATH=$PATH:$JAVA_HOME/bin
4)配置生效(所有服务器)
# source /etc/profile
5)拷贝给其他服务器(所有服务器)
[root@server apps]# scp -r ./ [email protected]:/opt/apps/
[root@server apps]# scp -r ./ [email protected]:/opt/apps/
6)验证
# java -version
5、ssh免密码登录 (所有服务器)
1)分发公钥(注意:每次ssh登录后,事情做完后,记得exit)
ssh-copy-id server.com
ssh-copy-id agent01.com
ssh-copy-id agent02.com
ssh-copy-id agent03.com
ssh-copy-id agent04.com
2)验证:
# ssh agent01.com
6、集群系统的时间同步
五台都最好安装一下:ntp (无ntp的)
没有ntpd服务的安装:yum -y install ntp
1)选择一台服务器作为集群的时间服务器
172.23.201.191 server.com
2)修改时间服务器的配置文件
# vim /etc/ntp.conf
显示行数: :set number
注释打开,然后修改为本集群的网段,修改ip网段:172.23.201.0
18 # restrict 172.23.201.0 mask 255.255.255.0 nomodify notrap
注释掉
22 #server 0.centos.pool.ntp.org
23 #server 1.centos.pool.ntp.org
24 #server 2.centos.pool.ntp.org
25 #server 3.centos.pool.ntp.org
注释打开,如果系统没有下面信息,需要手动添加
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10
3)启动并且配置开机时启动
# service ntpd start && chkconfig ntpd on
4)更新本地时间
[root@server ~]# ntpdate -u us.pool.ntp.org
ntp.sjtu.edu.cn 202.120.2.101 (上海交通大学网络中心NTP服务器地址)
s1a.time.edu.cn 北京邮电大学
s1b.time.edu.cn 清华大学
5)查看本地硬件时钟时间,并进行更新
# hwclock --localtime
# hwclock --localtime -w //系统时间同步给硬件时间
6)服务器关机或断电后,系统时间不准确,硬件时钟时间正常走动,设置服务器启动后自动将硬件时钟时间同步给系统时间
# vi /etc/sysconfig/ntpd
添加
SYNC_HWCLOCK=yes
7)服务器重启启动或断网重新连接后,会自动同步网络时间,设置下让系统时间自动同步给本地硬件时钟时间
# vi /etc/sysconfig/ntpdate
SYNC_HWCLOCK=yes
8)其他的服务器与这台时间服务器进行时间同步(剩余两台所有机器)
每隔5秒执行一次
# crontab -e
*/5 * * * * /usr/sbin/ntpdate -u server.com
9)所有节点 启动ntpd服务(剩余两台所有机器)
# service ntpd restart && service crond restart
# chkconfig ntpd on
7、设置用户能打开的文件最大数量、进程最大数据、能使用的内存量 (所有服务器)(soft:警告;hard:停机)
1)查看文件信息并且修改
# vi /etc/security/limits.conf
* soft nofile 32728
* hard nofile 1024567
* soft nproc 65535
* hard nproc unlimited
* soft memlock unlimited
* hard memlock unlimited
2)重启生效
验证: # ulimit -a