本文旨在为用户安装、部署和运行英特尔Hadoop发行版过程中遇到的问题进行解答,如果文中没有涉及,也欢迎大家在此提问。
一、安装的常见问题
二、部署的常见问题
三、运行的常见问题
===========================================================================
一、英特尔Hadoop发行版(Intel's Distribution of Hadoop)安装
1. 发行版支持的系统环境?
目前,IDH支持 CentOS 6.1/6.2/6.3, Red Hat Enterprise Linux 6.1/6.2/6.3, Oracle Enterprise Linux 6.1/6.2/6.3 以及 SUSE Linux Enterprise Server 11 SP1。在以上操作系统中均可以通过/etc/issue来查看系统版本信息。
2. 以什么用户安装IDH
必须以root用户解压安装包,并在root用户下执行IDH安装程序;同时检查umask(创建文件或目录的访问权限掩码),确保其值是022或0022,如果不是,可以先保存当前的umask值,然后执行umask 022,在完成安装后恢复原来的umask值。
3. 什么是NTP?为什么需要NTP
NTP是网络时间同步协议,是用来使计算机时间同步化的一种协议。在安装IDH时,不仅要使集群内部的时间保持一致,因为HBase的启动和运行需要集群有一个一致的时间,同时还要尽量使集群的时间和外部时间保持同步,不致于在外部程序和IDH集群交互时产生问题。
4. 正确配置网络环境
IDH的正常运行需要一个正确配置的网络环境,在安装IDH的Intel Manager时,必须要给机器指定合法的机器名(不建议机器名中含有‘.’,Hadoop会将'.'之后内容都解析为域名)。Intel Manager将网络情况分成两种:一种是集群中的节点不能通过主机名互相访问,Intel Manager将会配置/etc/hosts文件;另一种是集群中的节点能通过主机名互相访问,可通过配置好的DNS服务器或/etc/hosts文件。如果用户自己通过配置/etc/hosts来实现主机名访问,当机器IP发生变化时,请用户自己及时修改/etc/hosts文件。
5. Yum及Yum库配置(SuSE下为Zypper库)
Yum(全称Yellowgog Updator, Modified)是一个在CentOS和RedHat中的shell前端软件包管理工具(SuSE下使用类似的工具Zypper),基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖并且一次安装所有依赖。Yum/Zypper库中存放了RPM软件包,以及这些包的索引。为方便集群的安装和部署,IDH在安装的时候也依赖于Yum/Zypper库。如果环境中已经有配置好的Yum/Zypper库,IDH可以直接使用那个Yum/Zypper库,确保Yum库中的软件包版本和安装IDH的主机是一致的;如果环境中没有配置好的,IDH会配置一个FTP的Yum/Zypper库,在配置之前确保主机的系统和挂载的操作系统镜像是相同的。
6. “Invalid ISO Image. Please replace with the correct OS Installation ISO Image”
请查看主机的系统是否和配置Yum/Zypper库用的OS影响版本一致。
7. 为什么会出现“PYCURL Error 52 -- Empty reply from server”
这一版出现在Yum/Zypper操作时,当Yum/Zypper库配置好之后,IDH会试图从Yum/Zypper库中区安装一些软件。出现这个问题还是Yum/Zypper库的访问问题,首先确保Yum/Zypper的访问的URL是正常工作的,常见的问题有防火墙打开阻止了请求,设置了代理服务器;通过curl -v <Yum_URL>打印一些verbose信息以帮助诊断。
8. 怎么在多网卡的机器上安装IDH?
如果主机有多个激活的网卡,IDH的安装有两次绑定IP的过程,一次是Intel Manager的绑定,即决定intel manager界面能够在哪些ip上显示,可以选择绑定在一个或者多个IP上,则通过这些绑定的IP都可以访问Intel Manager;第二次IP绑定,是为Hadoop集群的部署和通信绑定IP。
Intel管理界面绑定
Hadoop绑定
9. 安装必要软件时的错误
RPM依赖包问题
因为使用了一个错误的Yum源(RPM包版本不匹配,尤其是高版本的操作系统使用了一个低版本的Yum源)
10. 安装Puppet Master的时候生成证书出错
在虚拟机上安装IDH时有时会遇到这个问题,很可能是因为主机的配置过低,建议用户另外选择一个节点安装。IDH安装时一旦发现Puppet Master安装失败,会自动退出安装。
11. 虚拟机的SuSE系统上安装IDH时,在Config Puppet Server阶段出错
这种情况是由于虚拟机的配置过低,推荐虚拟机的管理节点使用4G内存和4核CPU,其他节点使用2G内存和2核CPU。
二、IDH部署的常见问题
1. puppet是什么?
puppet是一种Linux、Unix平台的集中配置管理系统,使用自有的puppet描述语言,可管理配置文件、用户、cron任务、软件包、系统服务等。puppet把这些系统实体称之为资源,puppet的设计目标是简化对这些资源的管理以及妥善处理资源间的依赖关系。puppet采用C/S星状的结构,所有的客户端和一个或几个服务器交互。每个客户端周期的向服务器发送请求,获得其最新的配置信息,保证和该配置信息同步。IDH的部署也用了Puppet。
2. "err: Could not request certificate: The certificate retrieved from the master does not match the agent's private key."
每次配置puppet master时,master都会生成一个新的证书,然后每个client都会用master的certificate来生成各自的证书;如果client证书出现与master证书不匹配的情况,Intel Manager在配置所有节点过程中会以黄色字体标注警告信息并自动重新为该client生成新的证书,该警告信息不会影响节点的安装配置。
3. 加入节点后,NTP同步很慢
NTP同步
此时在同步NTP,NTP协议需要有一定的协商时间,所以此时需要耐心等待。
4. HDFS控制节点配置
其中Primary Namenode,需要消耗较大的内存以及CPU,建议选择集群中机器配置比较好的,Secondary Namenode为Primary Namenode的备份节点,视集群状况以及具体需求选择是否配置。如果集群机器数目比较小,并且数据的安全性并不是十分重要的情况下(如测试集群),可以选择不配置,如果选择配置,同样也建议选择机器配置比较好的机器。
三、IDH运行的常见问题
1. 修改的集群配置参数未生效
在修改完集群配置参数并保存后,一定要重新配置节点,以将修改的参数同步到所有节点上,并且重新启动有关的服务。
2. HBase停止后重启失败
有时候如果停止HBase集群,某个或某些RegionServer停止会失败。Intel Manager显示HBase集群是停止的,之后如果重启HBase,会显示失败的消息,可以尝试强制停止所有的HMaster进程和RegionServer进程,然后再重启。