一、安装之前
Cloudera管理器的存储空间规划
ClouderaManager跟踪许多后台流程中的服务、作业和应用程序的指标。所有这些指标都需要存储。根据组织的大小,此存储可以是本地的或远程的,基于磁盘的,也可以是数据库中的,由您或其他团队在另一个位置管理。
大多数系统管理员都知道常见的位置,如/var/log/这些地点需要有足够的空间。本主题帮助您规划Cloudera Manager Server和Cloudera Management Service用于存储度量和数据的存储需求和数据存储位置。
未能规划Cloudera Manager Server和Cloudera管理服务的所有组件的存储需求,会以下列方式对集群产生负面影响:
- 集群可能无法保留历史操作数据以满足内部需求。
- 集群可能漏掉未收集或保留所需时间的关键审计信息。
- 管理员可能无法研究过去的事件或健康状况。
- 管理员可能在以后需要引用或报告历史 MR1、YARN或Impala使用数据时没有这些数据。
- 在度量收集和图表方面可能存在空白。
- 由于将存储位置填充到100%的容量,群集可能会出现数据丢失。这种事件的影响可能会影响到许多其他组成部分。
配置网络名称
首先,CDH需要IPv 4,不支持IPv 6。
1、将主机名设置为唯一名称,不是localhost
sudo hostnamectl set-hostname foo-1.example.com
2、编辑/etc/hosts具有集群中每个主机的IP地址和完全限定域名(FQDN)。您也可以添加非限定名。
1.1.1.1 foo-1.example.com foo-1
2.2.2.2 foo-2.example.com foo-2
3.3.3.3 foo-3.example.com foo-3
4.4.4.4 foo-4.example.com foo-4
注意:
- 每个主机的规范名称。/etc/hosts 必是FQDN(例如myhost-1.example.com),而不是不合格的主机名(例如myhost-1)。
- 不要使用别名,也不要在/etc/hosts或者配置DNS。
- 在ClouderaManager实例中,非限定主机名(短名称)必须是唯一的。例如host01.example.com和host01.Standby.example.com由同一个 ClouderaManagerServer管理。
3、编辑/etc/sysconfig/Network仅用于此主机的FQDN:
HOSTNAME=foo-1.example.com
4、验证每个主机是否一致地标识到网络:
- 运行uname -a并检查主机名是否与主机名命令相同。
- 运行/sbin/ifconfig并注意到inet addr在eth0(或bond0)条目,例如:
eth0 Link encap:Ethernet HWaddr 00:0C:29:A4:E8:97
inet addr:172.29.82.176 Bcast:172.29.87.255 Mask:255.255.248.0
...
- 运行host -v -t A $(hostname)并验证输出是否与主机名命令相同。 IP地址应与ifconfig为eth0(或bond0):
Trying "foo-1.example.com" ... ;; ANSWER SECTION: foo-1.example.com. 60 IN A 172.29.82.176
禁用防火墙
若要在群集中的每个主机上禁用防火墙,请在每个主机上执行以下步骤:
1、为iptables,保存现有规则集:
sudo iptables-save > ~/firewall.rules
2、禁用防火墙(RHEL 7兼容):
sudo systemctl disable firewalld
sudo systemctl stop firewalld
设置SELinux模式
安全增强的linux(SELinux)允许您通过策略设置访问控制。如果您在使用策略部署CDH时遇到问题,请在每个主机上设置SELinux,然后在集群上部署CDH。 若要设置SELinux模式,请在每个主机上执行以下步骤:
1、检查SELinux状态:
getenforce
2、如果输出是Permissive 或者 Disabled,您可以跳过此任务并继续执行禁用防火墙..如果输出是(enforcing)强制执行,继续下一步。
3、打开/etc/selinux/config文件(在某些系统中,/etc/sysconfig/selinux文件)。
4、将SELINUX=enforcing改为SELINUX=permissive.
5、保存并关闭文件。
6、重新启动系统或运行以下命令立即禁用SELinux:
setenforce 0
安装和部署cdh之后,可以通过更改SELINUX=permissive回到SELINUX=enforcing 。在……里面/etc/selinux/config(或/etc/sysconfig/selinux),然后运行以下命令立即切换到强制执行模式:
setenforce 1
启用NTP服务
CDH要求您配置网络时间协议(NTP)集群中每台机器上的服务。大多数操作系统包括ntpd用于时间同步的服务。使用ntpd对于时间同步:
1、安装NTP
yum install ntp
2、编辑/etc/ntp.conf文件以添加NTP服务器,如下面的示例所示。
server 0.pool.ntp.org server 1.pool.ntp.org server 2.pool.ntp.org
3、启动ntpd服务(RHEL 7兼容):
sudo systemctl start ntpd
4、配置ntpd在引导时运行的服务(RHEL 7兼容):
sudo systemctl enable ntpd
5、将系统时钟同步到NTP服务器:
ntpdate -u
6、将硬件时钟与系统时钟同步:
hwclock --systohc
在Hue主机上安装Python2.7(RHEL 6版本安装)
这里以CentOS 6.x为例,如下操作:
1、启用软件收藏库:
sudo yum install centos-release-scl
2、安装软件集合实用程序:
sudo yum install scl-utils
3、安装Python 2.7:
sudo yum install python27
4、验证是否安装了Python2.7:
source /opt/rh/python27/enable
python --version
Impala Requirements(略)
基于包的cdh安装所需的特权(略)