本指南提供了在生产环境中安装Cloudera软件(包括Cloudera Manager、CDH和其他托管服务)的指导。
对于非生产环境(例如测试和概念验证用例),请参阅概念验证安装指南,了解简化的(但有限的)安装过程。
本指南包括以下部分:
本主题描述常见的安装问题和建议的解决方案。
如果您使用的是旧版本的OpenJDK 1.8,并且已经为Cloudera Manager管理控制台启用了SSL/TLS,那么在连接管理控制台时,您可能会遇到TLS协议错误,说明没有共同的密码。这是因为旧版本的OpenJDK可能没有实现某些TLS密码,导致在启用TLS时无法登录到Cloudera Manager管理控制台。
你可以通过以下方法解决这个问题:
/etc/default/cloudera-scm-server
并添加以下行来完成此操作:export CMF_OVERRIDE_TLS_CIPHERS=
其中
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"
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
报告“启动服务器失败”。/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管理器和托管软件。
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
。
在安装或更新向导中单击查找主机时,一些集群主机没有出现。
您可能有网络连接问题。
在为活动监视器或报告管理器配置数据库期间,安装或更新向导中的“访问被拒绝”。
没有正确设置主机名映射或权限。
有关主机名配置,请参见配置网络名。
对于权限,请确保在向导中输入的值与配置数据库时使用的值匹配。您在向导中输入的作为数据库主机名的值必须与您在配置数据库时为主机名(如果有的话)输入的值匹配。
例如,如果您在创建数据库时输入了以下内容:
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服务无法启动。
Java可能没有安装,也可能安装在自定义位置。
有关解决此问题的更多信息,请参见配置自定义Java主位置。
活动监视器在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
中:sudo service mysql restart
活动监视器无法启动。日志包含错误read-committed isolation not safe for the statement binlog format
.
binlog_format
没有设置为mixed。
修改mysql.cnf
文件,使其包含安装中指定的binlog format
的条目,并为Cloudera软件配置MySQL。
尝试使用yum
重新安装较低版本的CDH或Cloudera管理器失败。
可能安装、卸载和重新安装CDH和Cloudera管理器。在某些情况下,这不会如预期的那样完成。如果您安装了Cloudera Manager 6和cdh6,然后卸载Cloudera Manager和CDH,然后尝试安装cdh5和Cloudera Manager 5,缓存的错误信息可能会导致安装不兼容的Oracle JDK版本。
清除yum缓存中的信息:
yum——enablerepo='*' clean all或
sudo rm -rf /var/cache/ cloud dera*
由于转义字符串的问题,Create Hive Metastore Database Tables命令失败。
PostgreSQL版本9及更高版本需要对Hive进行特殊配置,因为standard_conforming_strings
属性的默认值发生了向后不兼容的变化。到PostgreSQL 9.0的版本默认是关闭的,但是从9.0版本开始默认是开启的。
作为管理员用户,使用以下命令关闭standard_conforming_strings
:
ALTER DATABASE SET standard_conforming_strings = off;
如果您使用的是Oracle数据库,Cloudera Navigator Analytics > Audit > Activity选项卡会显示“没有可用数据”,并且在日志中包含对dbms_crypto的引用的查询中有一个Oracle关于“无效标识符”的错误。
您没有授予sys.dbms_crypto
执行权限。
在系统上运行GRANT EXECUTE ON sys.dbms_crypto TO nav;
,其中nav
是导航器审计服务器数据库的用户。