CDH是Cloudera的100%开源平台发行版,包括Apache Hadoop,专为满足企业需求而构建。CDH提供开箱即用的企业使用所需的一切。通过将Hadoop与十几个其他关键的开源项目集成,Cloudera创建了一个功能先进的系统,可帮助您执行端到端的大数据工作流程。
简单来说:CDH 是一个拥有集群自动化安装、中心化管理、集群监控、报警功能的一个工具(软件),使得集群的安装可以从几天的时间缩短为几个小时,运维人数也会从数十人降低到几个人,极大的提高了集群管理的效率。
一.节点说明
节点 | Server/Agent | Memory |
---|---|---|
master | server & agent | 4G |
node1 | agent | 2G |
node2 | agent | 2G |
二.安装环境准备
因为网速问题,这次的安装的全部是以离线的安装包形式安装的。
1.基本环境构建
1.1网络配置和设置主机名
- 1.1 配置静态IP
[root@master network-scripts]# vi /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none" #此处改为none或static 设置为none禁止DHCP,设置为static启用静态IP地址,设置为dhcp开启DHCP服务
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="5c8028fa-a0b1-466e-bf7a-c0ecbd7e9fb1"
DEVICE="ens33"
ONBOOT="yes" #将此处改为yes,代表开机自启动网卡
IPADDR="192.168.5.135" #本机静态IP地址 添加
PREFIX="24" #子网掩码24位
NETMASK=255.255.255.0 #子网掩码 添加
GATEWAY="192.168.5.2" #网管 添加
DNS1="192.168.5.2" #DNS解析 添加
IPV6_PRIVACY="no"
将有备注处进行修改或者添加,具体添加规则见:虚拟机环境搭建
此处有个疑问待解决:BOOTPROTO="" 设置为none禁止DHCP,设置为static启用静态IP地址,设置为dhcp开启DHCP服务(即动态IP),当设置为none和static时都能实现静态IP地址,但这2种设置的区别一直没找到资料,还有一些说法是none为无设置(可能是根据单词的字面意思理解的),如果是无设置,IP就会是可能是静态的或动态的,但什么情况是静态,什么情况是动态待解疑
- 1.2 设置主机名及IP对应
vi /etc/hostname #更改本机名
vi /etc/hosts #添加IP地址和主机名对应关系
hosts内容:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.5.135 master #主节点对应
192.168.5.136 node1 #node1
192.168.5.137 node2 #node2
service network restart #重启网卡
1.2 关闭防火墙
systemctl stop firewalld #关闭防火墙
systemctl disable firewalld #取消开机启动
firewall-cmd --state #查看防火墙状态
1.3 关闭SELINUX
vi /etc/selinux/config #修改config文件 SELINUX=disabled
*# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
*
sestatus -v #查看状态
*SELinux status: disabled* #代表SELinux已被关闭
1.4 安装JDK
- 4 .1查看已安装java的信息
rpm -qa | grep java
*tzdata-java-2018e-3.el7.noarch
java-1.8.0-openjdk-1.8.0.181-7.b13.el7.x86_64
python-javapackages-3.4.1-11.el7.noarch
java-1.8.0-openjdk-headless-1.8.0.181-7.b13.el7.x86_64
javapackages-tools-3.4.1-11.el7.noarch
*
- 4 .2卸载自带open jdk
rpm -e --nodeps 包名
- 4 .3创建/usr/java目录,并上传jdk-8u221-linux-x64.rpm包到此目录下并解压
rpm -ivh jdk-8u221-linux-x64.rpm
- 4 .4配置环境变量
vi /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_221-amd64
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/sbin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
- 4 .5让环境变量生效
source /etc/profile
- 4 .6查看Java状态
java -verison
2.克隆master节点环境,建立node1节点和node2节点
因为这是在笔记本电脑上虚拟机上创建的集群的,所以为了加快创建速度,采用复制通用环境建立其他2个节点,如你已经有独立的服务器节点,就可以在其他节点上执行上述操作。
3.完善基本环境
- 1 设置SSH免密登录(在所有节点执行)
1.产生公钥和私钥:ssh-keygen -t rsa (一直回车直即可)
2.将公钥分发给所有节点(包括本机): ssh-copy-id -i 主机名
3.测试ssh访问: ssh root@主机名
- 2设置NTP
yum -y install ntp #更改master的节点
vi /etc/ntp.conf #注释掉server 0.centos.pool.ntp.org iburst,在master节点新添加自己的ntp服务器,在其他2个节点将ntp服务器指向master节点
*# For more information about this file, see the man pages
# ntp.conf(5), ntp_acc(5), ntp_auth(5), ntp_clock(5), ntp_misc(5), ntp_mon(5).
driftfile /var/lib/ntp/drift
# Permit time synchronization wit