Cloudera安装指南
官方文档
本指南提供了在生产环境中安装Cloudera软件(包括Cloudera Manager、CDH和其他托管服务)的指导。
对于非生产环境(例如测试和概念验证用例),请参阅概念验证安装指南,了解简化的(但有限的)安装过程。
本指南包括以下部分:
解决安装问题
本主题描述常见的安装问题和建议的解决方案。
- 使用OpenJDK时的TLS协议错误
- Thales HSM支持的Navigator HSM KMS安装失败
- cloudera-manager-installer.bin报告启动服务器失败
- 安装中断,安装程序不能重新启动
- Cloudera管理器服务器无法启动MySQL
- 代理连接到服务器失败
- 没有出现集群主机
- 安装或更新向导中的“访问被拒绝”
- 数据库启动失败
- Cloudera服务无法启动
- 活动监视器显示状态为BAD
- 活动监视器启动失败
- 试图重新安装较低版本的Cloudera管理器失败
- 创建Hive Metastore数据库表命令失败
- Oracle无效的标识符
使用OpenJDK时的TLS协议错误
如果您使用的是旧版本的OpenJDK 1.8,并且已经为Cloudera Manager管理控制台启用了SSL/TLS,那么在连接管理控制台时,您可能会遇到TLS协议错误,说明没有共同的密码。这是因为旧版本的OpenJDK可能没有实现某些TLS密码,导致在启用TLS时无法登录到Cloudera Manager管理控制台。
解决方法:
你可以通过以下方法解决这个问题:
- 将OpenJDK升级到一个受支持的OpenJDK版本,该版本高于版本1.8.0_181。
- 如果不能升级OpenJDK,可以在Cloudera管理器中启用不太安全的TLS密码。您可以通过在文本编辑器中打开
/etc/default/cloudera-scm-server
并添加以下行来完成此操作:
export CMF_OVERRIDE_TLS_CIPHERS=<cipher_list>
其中<cipher_list>是由冒号分隔的TLS密码套件列表。例如:
export CMF_OVERRIDE_TLS_CIPHERS="TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256:TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256:TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384:TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384:TLS_DHE_RSA_WITH_AES_128_GCM_SHA256:TLS_DHE_RSA_WITH_AES_256_GCM_SHA384:TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256:TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256:TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA:TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384:TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA:TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384:TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA:TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA:TLS_DHE_RSA_WITH_AES_128_CBC_SHA256:TLS_DHE_RSA_WITH_AES_128_CBC_SHA:TLS_DHE_RSA_WITH_AES_256_CBC_SHA256:TLS_DHE_RSA_WITH_AES_256_CBC_SHA:TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA:TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA:TLS_EDH_RSA_WITH_3DES_EDE_CBC_SHA:TLS_RSA_WITH_AES_128_GCM_SHA256:TLS_RSA_WITH_AES_256_GCM_SHA384:TLS_RSA_WITH_AES_128_CBC_SHA256:TLS_RSA_WITH_AES_256_CBC_SHA256:TLS_RSA_WITH_AES_128_CBC_SHA:TLS_RSA_WITH_AES_256_CBC_SHA:TLS_RSA_WITH_3DES_EDE_CBC_SHA"
Cloudera Bug: OPSAPS-49578
Thales HSM支持的Navigator HSM KMS安装失败
Thales HSM支持的Navigator HSM KMS安装失败,角色日志中出现以下错误消息:
ERROR: Hadoop KMS could not be started
REASON: com.ncipher.provider.nCRuntimeException: com.ncipher.km.nfkm.nfkmCommunicationException The nfkm command program has terminated unexpectedly.
可能的原因
KMS用户不是运行Navigator HSM KMS(Thales HSM角色支持的)的主机上的nfast
组的一部分。
可能的解决方法
在运行Navigator HSM KMS(Thales HSM角色支持的)的主机上,将KMS用户添加到nfast组
sudo usermod -G nfast kms
cloudera-manager-installer.bin报告启动服务器失败
cloudera-manager-installer.bin
报告“启动服务器失败”。/var/log/cloudera-scm-server / cloudera-scm-server
。日志包含的消息开头由:
Caused by: java.lang.ClassNotFoundException:
com.mysql.jdbc.Driver…
可能的原因
您可能启用了SELinux。
可能的解决方法
在Cloudera Manager服务器主机上运行sudo setenforce 0
来禁用SELinux。要永久禁用它,请编辑/etc/selinux/config
。
安装中断,安装程序不能重新启动
可能的原因
您需要进行一些手动清理。
可能的解决方法
Cloudera管理器服务器无法启动MySQL
Cloudera管理器服务器启动失败,服务器被配置为使用MySQL数据库存储有关服务配置的信息。
可能的原因
可以使用ISAM引擎配置表。如果表配置了MyISAM引擎,服务器不会启动,并且日志文件中出现如下错误:
Tables ... have unsupported engine type ... . InnoDB is required.
可能的解决方法
确保配置了InnoDB引擎,而不是MyISAM引擎。要检查你的表使用的引擎,运行以下命令从MySQL shell:mysql> show table status;
更多信息,请参见为Cloudera软件安装和配置MySQL。
代理连接到服务器失败
代理连接到服务器失败。在/var/log/cloudera-scm-agent/cloudera-scm-agent.log
中会出现一个Error 113(“No route to host”)。
可能的原因
您可以启用SELinux或iptables。
可能的解决方法
检查在服务器主机上的/var/log/cloudera-scm-Server/cloudera-scm-server.log
,以及在代理主机上的/var/log/cloudera-scm-Agent/cloudera-scm-agent.log
。禁用SELinux和iptables
。
没有出现集群主机
在安装或更新向导中单击查找主机时,一些集群主机没有出现。
可能的原因
您可能有网络连接问题。
可能的解决方法
- 确保所有集群主机都打开了SSH端口22。
- 检查导致连接丢失的其他常见原因,如防火墙和来自SELinux的干扰。
安装或更新向导中的“访问被拒绝”
在为活动监视器或报告管理器配置数据库期间,安装或更新向导中的“访问被拒绝”。
可能的原因
没有正确设置主机名映射或权限。
可能的解决方法
-
有关主机名配置,请参见配置网络名。
-
对于权限,请确保在向导中输入的值与配置数据库时使用的值匹配。您在向导中输入的作为数据库主机名的值必须与您在配置数据库时为主机名(如果有的话)输入的值匹配。
例如,如果您在创建数据库时输入了以下内容:
grant all on activity_monitor.* TO 'amon_user'@'myhost1.myco.com' IDENTIFIED BY 'amon_password';
在这里输入的数据库主机名的值必须是
myhost1.myco.com
。如果没有指定主机,或使用通配符允许从任何主机访问,则可以输入完全限定域名(FQDN)或localhost。例如,如果您输入:grant all on activity_monitor.* TO 'amon_user'@'%' IDENTIFIED BY 'amon_password';
为数据库主机名输入的值可以是FQDN或
localhost
。
数据库启动失败
活动监视器、报告管理器或服务监视器数据库启动失败。
可能的原因
MySQL binlog
格式问题。
可能的解决方法
在/etc/my.cnf.cnf设置binlog_format=maxed.有关更多信息,请参见此MySQL bug报告。请参阅第4步:安装和配置数据库。
Cloudera服务无法启动
Cloudera服务无法启动。
可能的原因
Java可能没有安装,也可能安装在自定义位置。
可能的解决方法
有关解决此问题的更多信息,请参见配置自定义Java主位置。
活动监视器显示状态为BAD
活动监视器在Cloudera Manager管理控制台中显示坏的状态。日志文件包含以下消息:
ERROR 1436 (HY000): Thread stack overrun: 7808 bytes used of a 131072 byte stack, and 128000 bytes needed.
Use 'mysqld -O thread_stack=#' to specify a bigger stack.
可能的原因
MySQL线程栈太小了。
可能的解决方法
- 将
my.cnf
中的thread_stack
值更新为256KB
,文件通常位于/etc
或/etc/mysql
中 - 重新启动mysql服务
:sudo service mysql restart
- 重启活动监视器。
活动监视器启动失败
活动监视器无法启动。日志包含错误read-committed isolation not safe for the statement binlog format
.
可能的原因
binlog_format
没有设置为mixed。
可能的解决方法
修改mysql.cnf
文件,使其包含安装中指定的binlog format
的条目,并为Cloudera软件配置MySQL。
试图重新安装较低版本的Cloudera管理器失败
尝试使用yum
重新安装较低版本的CDH或Cloudera管理器失败。
可能的原因
可能安装、卸载和重新安装CDH和Cloudera管理器。在某些情况下,这不会如预期的那样完成。如果您安装了Cloudera Manager 6和cdh6,然后卸载Cloudera Manager和CDH,然后尝试安装cdh5和Cloudera Manager 5,缓存的错误信息可能会导致安装不兼容的Oracle JDK版本。
可能的解决方法
清除yum缓存中的信息:
- 连接到CDH主机。
- 执行以下命令之一:
yum——enablerepo='*' clean all或
sudo rm -rf /var/cache/ cloud dera*
- 清除缓存后,继续安装。
创建Hive Metastore数据库表命令失败
由于转义字符串的问题,Create Hive Metastore Database Tables命令失败。
可能的原因
PostgreSQL版本9及更高版本需要对Hive进行特殊配置,因为standard_conforming_strings
属性的默认值发生了向后不兼容的变化。到PostgreSQL 9.0的版本默认是关闭的,但是从9.0版本开始默认是开启的。
可能的解决方案
作为管理员用户,使用以下命令关闭standard_conforming_strings
:
ALTER DATABASE <hive_db_name> SET standard_conforming_strings = off;
Oracle无效的标识符
如果您使用的是Oracle数据库,Cloudera Navigator Analytics > Audit > Activity选项卡会显示“没有可用数据”,并且在日志中包含对dbms_crypto的引用的查询中有一个Oracle关于“无效标识符”的错误。
可能的原因
您没有授予sys.dbms_crypto
执行权限。
可能的解决方案
在系统上运行GRANT EXECUTE ON sys.dbms_crypto TO nav;
,其中nav
是导航器审计服务器数据库的用户。