每个节点都贡献到集群设计在前面的步骤,所以每个必须能够运行MAPR和Hadoop软件。
|
要求 |
---|---|
CPU |
64位 |
操作系统 |
红帽的CentOS,SUSE还是Ubuntu |
记忆 |
4 GB的最低,多在生产 |
圆盘 |
生的,未格式化的驱动器和分区 |
DNS |
主机名,达到所有其他节点 |
用户 |
在所有节点上普通用户;无钥匙SSH |
Java的 |
必须运行Java |
其他 |
NTP,系统日志,PAM |
使用以下各节作为一个清单,以使每个候选节点适合其指派的角色。一旦每个节点已编制或丧失资格,则继续执行步骤3,安装MAPR软件。
2.1 CPU和操作系统
一个。处理器是64位
要确定处理器类型,运行
如果输出包括“x86_64的,”该处理器是64位。如果包括“386”,“i486的”,“i586的”或“i686的,”它是一个32位处理器,它是不支持的MAPR软件。
如果结果是“未知”,或没有上述情况,请尝试这些替代命令之一。
在cpuinfo中
的文件中,标志“流明”(为“长模式”)表示一个64位处理器。
湾 支持的操作系统
运行下面的命令来确定安装的操作系统的名称和版本。(如果lsb_release命令报告“没有LSB的模块可用,”这不是一个问题。)
操作系统必须是下列之一:
操作系统 |
最低版本 |
---|---|
红帽企业Linux(RHEL)或社区企业版Linux(CentOS的) |
5.4或更高版本 |
SUSE企业级Linux服务器 |
11或更高版本 |
Ubuntu Linux操作系统 |
9.04或更高版本 |
如果lsb_release
找不到命令,请尝试下列方法之一。
如果您确定该节点运行支持的操作系统的旧版本,至少升级到受支持的版本,并在继续操作之前测试升级。如果你发现一个不同的Linux发行版,比如Fedora或者Gentoo的,该节点必须重新格式化,并安装一个支持的发行版。
2.2内存和硬盘空间
一个。最小内存
运行免费-G
以千兆字节显示总的和可用的内存。该软件将用尽可能少的节点上4 GB的总内存中运行,但性能将低于8 GB的苦。MAPR建议至少16 GB用于生产环境,以及典型的MAPR生产节点具有32 GB或更多。
如果自由
没有找到命令,有很多的选择:的grep MemTotal:的/ proc / meminfo中
,的vmstat-S-SM
,顶部
,或各种GUI系统信息的工具。
MAPR不建议使用过量使用,因为它可能会导致内核内存管理器结束进程释放内存,从而杀死MAPR流程和系统不稳定。设置vm.overcommit_memory
为0:
-
编辑文件
在/ etc / sysctl.conf中
,并添加下面一行: -
保存文件并运行:
湾 存储
不同于普通的Hadoop,MAPR直接管理原始(未格式化)的设备来优化性能,并提供高可用性。如果这将是一个数据节点,MAPR建议至少3卸载的物理驱动器或可通过MAPR仓储用途分区。MAPR使用的磁盘轴平行更快的读/写带宽,因此组的磁盘到三套。这些原始驱动器不应该使用RAID或逻辑卷管理。(MAPR可以与这些技术工作,但他们需要先进的设置和实际降低集群的性能。)
最小磁盘空间
操作系统分区。提供至少10 GB的操作系统分区的可用磁盘空间。
磁盘。提供了10 GB的可用磁盘空间的/ tmp
目录(JobTracker的和TaskTracker必须临时文件),并在128 GB的可用磁盘空间的/ opt
目录(日志,内核,并支持图像)。
Swap空间。提供足够的交换空间的稳定性,比节点的物理内存增加10%,但不低于24 GB和不超过128 GB。
动物园管理员。在动物园管理员的节点,奉献一个分区,如果可行,为的/ opt / MAPR / zkdata
目录,以避免填充该分区与写其他进程,并减少出错的可能性,由于一个完整的/ opt / MAPR / zkdata
目录。此目录是用来存储最大为64 MB的快照。由于最近四个快照的保留,储备至少500 MB用于该分区。不要共用所在的物理磁盘的/ opt / MAPR / zkdata
驻留任何MAPR文件系统数据分区,以避免I / O冲突可能会导致ZooKeeper的服务失败了。
2.3连接
一个。主机名
集群中的每个节点都必须有一个唯一的主机名解析的向前和向后与所有其他节点正常和反向DNS名称查询。
运行主机名-F
,检查该节点的主机名。例如:
如果主机名-F
返回一个名称,运行了getent主机的主机名``
返回节点的IP地址和完全限定域名(FQDN)。
要解决主机名的问题,编辑/ etc / hosts文件
文件作为根。一个简单的/ etc / hosts文件
可能包含:
一个常见的问题是不正确的回环条目(127.0.xx),防止IP地址被分配给该主机名。例如,在Ubuntu中,默认的/ etc / hosts中
的文件可能包含:
环回(127.0.xx
)项的节点的主机名会混淆的安装程序和其他程序。编辑/ etc / hosts中
的文件,并删除主机名与一个回送IP关联的任何条目。只有主机名与实际IP地址相关联。
使用的ping
命令来验证每个节点都可以使用每个节点的主机名达到其他人。欲了解更多信息,请参阅主机(5)手册页。
湾 普通用户
访问集群用户必须在集群中的每个节点上相同的凭据和用户ID(UID)。运行MAPR工作每个人或部门必须有一个帐户,也必须属于一个共同的组ID(GID)。的UID为每个用户和gid的每个组中,必须在所有的节点相一致。
A“MAPR'用户必须存在。在'MAPR“用户具有完全的权限来管理群集。如果您创建了“MAPR”用户在安装MAPR之前,可以测试连接问题。如果你没有创建“MAPR”的用户,在安装MAPR自动为您创建的用户。在'MAPR“用户ID在每个节点上自动创建的,如果你不使用目录服务,如LDAP。
要创建组,将用户添加到组,或创建“MAPR'用户,请运行以下命令以root身份代以UID为 米 和GID为 Ñ。(错误“无法锁定/ etc / passwd文件”表明,该命令没有以root身份运行。)
例如:$ GROUPADD-G 5000 MAPR
$ useradd的-G 5000-U 5000 MAPR
要验证已创建的用户或组, 苏MAPR
。 确认主目录创建(通常是 /家/ MAPR
) ,而用户或组具有读写访问。该用户或组必须具有写访问 的/ tmp 目录下,或者监狱长将无法启动服务。
角 可选:无钥匙SSH
这是非常有帮助的普通用户能够从每个Web服务器节点ssh到任何其他节点无需提供密码。如果没有提供所谓的“无钥匙SSH”,集中磁盘管理将不可用。远程,集中的集群管理方便,但节点之间的无钥匙SSH是可选的,因为MAPR将运行离不开它。
设置无钥匙SSH很简单。在每个Web服务器节点,生成密钥对,并追加钥匙的授权文件。那么这个授权文件复制到每个节点,使每个节点都可以从网络服务器节点。
苏MAPR
(如果您尚未登录为MAPR)使用ssh-keygen-T RSA-P''-F〜/
文件名
在使用ssh-keygen
命令创建文件名
,包含私钥和文件名
。酒馆
,包含公钥。为方便起见,您可能要命名为节点的主机名的文件。例如,与主机名称的节点上的“node10.10.1.1”
使用ssh-keygen-T RSA-P''-F〜/ node10.10.1.1
在这个例子中,附加的文件/ home/mapr/node10.10.1.1.pub
到authorized_keys的
文件。
每个附加的Web服务器节点的公钥到一个文件,使用命令像猫
的文件名
。酒吧>> authorized_keys中
。(密钥文件是简单的文本,这样你就可以在几个方面,包括文本编辑器附加文件。)当所有的服务器节点的空口令公钥已经产生,而公钥文件已附加到主“的authorized_keys”文件,复制该主密钥文件复制到每个节点的〜/ .ssh / authorized_keys存放
,其中〜是指MAPR用户的主目录(通常为/家/ MAPR
)。
2.4软件
一个。Java的
MAPR服务需要Java运行时环境。
运行Java的版本
。请确认这些版本之一是安装在节点上:
- 的Sun Java JDK 1.6或1.7
- OpenJDK的1.6或1.7
如果java的
找不到命令,下载并安装甲骨文/ Sun Java或使用的软件包管理器来安装的OpenJDK。获得甲骨文/ Sun Java运行时环境(JRE),标准版(Java SE),可在Oracle的Java SE的网站。查找的Java SE 6在以前版本的存档。
使用的软件包管理器,如百胜(在RedHat或CentOS),apt-get的(Ubuntu的),或者转的节点上安装或更新的OpenJDK。该命令会像下列操作之一:
湾 MySQL的
该MAPR度量服务需要访问MySQL服务器运行版本5.1或更高版本。MySQL没有在集群中的一个节点上安装,但必须是在同一个网络的群集上。如果你不打算使用MAPR度量,MySQL是不是必需的。
2.5基础设施
一个。网络时间
为了让所有群集节点时间同步,MAPR需要软件,如网络时间协议(NTP)服务器进行配置,每一个节点上运行。如果集群中的服务器的时钟漂移不同步,会发生与HBase的和其他MAPR服务的严重问题。MAPR提出的任何超出同步节点的时间差报警。见http://www.ntp.org/有关获取和安装NTP的更多信息。
高级:安装内置NTP服务器让你的集群同步,即使外部NTP服务器无法访问。
湾 系统日志
系统日志必须在每个节点上启用就杀死进程或失败的作业保存日志。现代的版本,如syslog-ng的和rsyslog现在是可能的,使得它更难以确保系统日志守护进程存在。下面的一个命令就足够了:
角 的ulimit
的ulimit
是设置用户的全系统资源的访问限制的命令。具体来说,它提供了适用于shell的资源和由它启动的进 程控制。
该MAPR-监狱长脚本使用的ulimit
命令的文件描述符的最大数量(套NOFILE
)和流程(nproc设置
)为64000。较高的值不大可能导致明显的性能增益。较低的值,如1024的默认值,可能会导致任务失败。
根据您的环境,你可能需要设置限制手动而不是依赖于监狱长使用自动设置它们的ulimit
。下面的示例显示如何做到这一点,使用64000的推荐值。
使用的ulimit
来验证设置:
- 重新启动系统。
- 运行下面的命令为MAPR用户(不是root),在命令行:
该命令应报告64000
。
ð。PAM
将运行节点MAPR控制系统(该MAPR-Web服务器
,如果发现服务),可以采取插入式验证模块(PAM)的优势。在配置文件在/ etc / pam.d /下
通常为每个标准的Linux命令目录。MAPR可以使用,但不要求,其自身的配置文件。
如需更详细的有关PAM的配置,请参阅PAM配置。
Ë。安全 - SELinux的,AppArmor的
SELinux的(或等值的其他操作系统)必须在安装过程中被禁用。如果MAPR服务作为一个非root用户运行,SELinux的安装后可以启用和群集正在运行时。
f。TCP重
在每个节点上,设置TCP重为5,因此MAPR可以检测到无法访问的节点,更短的延迟数。
-
编辑文件
在/ etc / sysctl.conf中
,并添加下面一行: -
保存文件并运行:
克 NFS
禁用将运行MAPR NFS服务器节点股票Linux的NFS服务器。
小时。iptables的
启用一个节点上的iptables可以关闭正在使用的MAPR端口。如果您启用iptables的,请确保所需的端口保持开放。请检查您的当前IP表规则使用以下命令:
自动配置
有些用户发现像木偶或厨师配置的每个节点在集群中的有用工具。请确定,但是,当后来安装MAPR包的任何配置工具不会重置所做的更改。具体地讲,不要让自动配置工具覆盖变化到以下文件:
在/ etc / sudoers中
在/ etc /安全/ limits.conf中
/ etc/udev/rules.d/99-mapr-disk.rules
下一步
集群中的每个节点的前瞻性,必须检查对这里提出的要求。不能确保每个节点是适合使用通常会导致与安装Hadoop的难以解决的问题。
在每个节点已被证明符合要求,并已准备好,你就可以安装MAPR组件。