一、cloudera manager 管理大数据开发平台(集群)简介
1.主从架构:
(1)server:主节点进程,启动在一台服务器上,与各个从节点通讯收集从节点发来的服务器状态信息,另外负责整个集群的启动和停止,负责集群框架的安装部署统一调配
server进程所在的服务器上不安装任何大数据框架
(2)agent:从节点agent也称为主机,所有的大数据框架安装部署及任务的执行都是在agent上实现的。agent服务器负责搜集所在服务器上的服务器资源信息及其他服务器进程的运行状态信息统一汇报给server
(3)database: 数据库, CM需要一个数据库的支撑来存储CM集群的元数据 :mysql
二、环境的准备
1.基础环境
(1)系统centos7.4
(2)三台Linux服务器
hadoop:8G,40G,4cores
hadoop02:8G,40G,4cores
hadoop03:4G,40G,2cores
2.配置ip、hostname、映射 (所有服务器)
1)查看文件信息并且追加信息,三台分别添加
vi /etc/sysconfig/network
添加
----1
NETWORKING=yes #使用网络
HOSTNAME=hadoop
----2
NETWORKING=yes #使用网络
HOSTNAME=hadoop02
----3
NETWORKING=yes #使用网络
HOSTNAME=hadoop03
2)重启生效
第一台
hostnamectl set-hostname hadoop
第二台
hostnamectl set-hostname hadoop02
第三台
hostnamectl set-hostname hadoop03
3)验证
hostname
三台结果
hadoop
hadoop02
hadoop03
4)查看文件信息并且追加信息(所有机器)
vi /etc/hosts
添加
172.16.0.147 hadoop
172.16.0.115 hadoop02
172.16.0.124 hadoop03
5)验证
ping www.baidu.com
3.禁用ipv6
1)查看文件信息并且追加信息
(1)
vi /etc/sysctl.conf
(2)添加
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
(3)刷新
sysctl -p
(4)检查
ifconfig
结果:【已经没有ipv6了】
[root@hadoop modprobe.d]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.16.0.147 netmask 255.255.255.0 broadcast 172.16.0.255
ether fa:16:3e:7d:ce:95 txqueuelen 1000 (Ethernet)
RX packets 960101 bytes 255334861 (243.5 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 857484 bytes 225954789 (215.4 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
loop txqueuelen 1 (Local Loopback)
RX packets 24448574 bytes 4826016390 (4.4 GiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 24448574 bytes 4826016390 (4.4 GiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
2)重启生效
ip a 验证是否成功
4.禁用selinux 和关闭防火墙
1)禁用selinux
(1)查看:getenforce
[root@hadoop03 ~]# getenforce
Disabled
(2)永久关闭
vi /etc/selinux/config
修改为:
SELINUX=disabled
(3)centos7默认就是
SELINUX=disabled 所以不用修改
2)关闭防火墙
(1)关闭:systemctl stop firewalld
(2)开机禁用:systemctl disable firewalld
(3)查看状态:systemctl status firewalld
5.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/modules
# mkdir -p /opt/softwares
# tar -zxf jdk-8u151-linux-x64.tar.gz -C /opt/modules
3)配置java环境变量(所有机器)
vi /etc/profile
添加
export JAVA_HOME=/opt/modules/jdk1.8.0_151
export PATH=$PATH:$JAVA_HOME/bin
4)配置生效(所有机器)
source /etc/profile
5)拷贝给其他服务器(所有机器)
scp -r /opt/modules/jdk1.8.0_151/ root@hadoop02:/opt/modules/
scp -r /opt/modules/jdk1.8.0_151/ root@hadoop03:/opt/modules/
6)验证(所有机器)
[root@hadoop modules]# java -version
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
6.ssh免密码登录 (所有服务器)
1)ssh 针对用户,并且首先保证ssh localhost正常通畅
ssh localhost
2) 在每台服务器上生成公私密钥
ssh-keygen
回车四下
3)分发公钥(注意:每次ssh登录后,事情做完后,记得exit)
三台机器都要做以下三步
ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop
ssh hadoop
exit
ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop02
ssh hadoop02
exit
ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop03
ssh hadoop03
exit
4)验证(都验证)
从第1台到第2台
ssh beifeng02.com
exit
7.集群系统的时间同步
1)检查是否有ntp
rpm -qa | grep ntp
没有的需要安装
yum -y install ntp
2)选择一台服务器作为集群的时间服务器
选择第一台hadoop
systemctl start ntpd 启动
systemctl enable ntpd.service 开机启动
3)修改时间服务器的配置文件
-》vim /etc/ntp.conf
-》显示行数
:set number
-》18行修改
restrict 172.16.0.147 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
-》添加:【在25行之后,服务器有,所以不添加】
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10
4)启动并且配置开机时启动
systemctl start ntpd 启动
systemctl enable ntpd.service 开机启动
5)更新本地时间
查看时间:
date -R
选择一个服务器:
ntpdate -u us.pool.ntp.org
6)查看本地硬件时钟时间,并进行更新
hwclock --localtime
hwclock --localtime -w //系统时间同步给硬件时间
7)服务器关机或断电后,系统时间不准确,硬件时钟时间正常走动,设置服务器启动后自动将硬件时钟时间同步给系统时间
# vi /etc/sysconfig/ntpd
添加
SYNC_HWCLOCK=yes
8)服务器重启启动或断网重新连接后,会自动同步网络时间,设置下让系统时间自动同步给本地硬件时钟时间
# vi /etc/sysconfig/ntpdate
SYNC_HWCLOCK=yes
9)其他的服务器与这台时间服务器进行时间同步(剩余两台所有机器)
# crontab -e
添加
*/1 * * * * /usr/sbin/ntpdate -u hadoop
10)所有节点 启动ntpd服务(剩余两台所有机器)
systemctl start ntpd 启动
systemctl enable ntpd.service 开机启动
8.设置用户能打开的文件最大数量、进程最大数据、能使用的内存量
(所有服务器)(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)hadoop复制limits.conf到其他各台机器
scp /etc/security/limits.conf root@hadoop02:/etc/security/limits.conf
scp /etc/security/limits.conf root@hadoop03:/etc/security/limits.conf
3)重启生效
验证: # ulimit -a
注:强调该文件,严格按照格式来改最好通过复制修改,如果limits.conf配置错误,linux重启不能进入
9.重启(生效)
reboot