进去发现一堆提示,一个个解决。
oozie email 服务
配置中开启sla (oozie服务器等级协定),smtp 中填写邮箱信息,问题解决。
HBase Thrift 服务
1. HBase配置中开启HBase Thrift和代理
2. 在HDFS配置中搜索core-site.xml,添加信息
2. Hue 的hue_safety_valve.ini中添加信息
#如果有部署livy也要加上
#<property><name>hadoop.proxyuser.livy.groups</name><value>*</value></property>
#<property><name>hadoop.proxyuser.livy.hosts</name><value>*</value></property>
<property><name>hadoop.proxyuser.hue.groups</name><value>*</value></property>
<property><name>hadoop.proxyuser.hue.hosts</name><value>*</value></property>
<property><name>hadoop.proxyuser.hbase.groups</name><value>*</value></property>
<property><name>hadoop.proxyuser.hbase.hosts</name><value>*</value></property>
开启HBase Thrift服务后,Hue问题依旧。
查看Hue配置发现没有启用Hbase,在Hue配置中搜索safety,hue_safety_valve.ini中加入。
[hbase]
hbase_conf_dir=/etc/hbase/conf
thrift_transport=framed
问题依旧,再检查日志发现
javax.servlet.ServletException: org.apache.thrift.transport.TTransportException
好吧,client和server指定的TTransport不一致,将 thrift_transport=framed 修改为buffered,问题解决。
ini configuration
根据目录/run/cloudera-scm-agent/process/570-hue-HUE_SERVER,查看hue.ini配置中,yarn-ha的配置重复了,删除。
刷新webUI界面。
Impala
这个的问题很简单,安装impala就解决,反正到时候会使用。
Hadoop Security
需要安装Sentry组件,暂时没用到就先忽略了。
hadoop.hdfs_clusters.default.webhdfs_url
Hive
Oozie无法打开WorkFlow
上面两种权限问题,包括Hue无法打开workflow问题,其实都是一个问题,主要是主备切换过导致。
解决办法
查看Hue日志,发现报错
[17/Aug/2019 11:18:39 -0700] conf ERROR Failed to access Hive warehouse: /user/hive/warehouse Traceback (most recent call last): File "/opt/cloudera/parcels/CDH-6.0.1-1.cdh6.0.1.p0.590678/lib/hue/apps/beeswax/src/beeswax/conf.py", line 261, in config_validator fs.stats(warehouse) File "/opt/cloudera/parcels/CDH-6.0.1-1.cdh6.0.1.p0.590678/lib/hue/desktop/core/src/desktop/lib/fs/proxyfs.py", line 118, in stats return self._get_fs(path).stats(path) File "/opt/cloudera/parcels/CDH-6.0.1-1.cdh6.0.1.p0.590678/lib/hue/desktop/libs/hadoop/src/hadoop/fs/webhdfs.py", line 291, in stats res = self._stats(path) File "/opt/cloudera/parcels/CDH-6.0.1-1.cdh6.0.1.p0.590678/lib/hue/desktop/libs/hadoop/src/hadoop/fs/webhdfs.py", line 285, in _stats raise ex WebHdfsException: 403 Client Error: Forbidden for url: http://cdh-slave01:9870/webhdfs/v1/user/hive/warehouse?op=GETFILESTATUS&user.name=hue&doas=hue {"RemoteException":{"exception":"StandbyException","javaClassName":"org.apache.hadoop.ipc.StandbyException","message":"Operation category READ is not supported in state standby. Visit https://s.apache.org/sbnn-error"}} (error 403)
首先检查Hue设置中webhdfs_url,选择相应NameNode,HA模式选择httpfs,重启Hue。
其他情况
因为是HA集群,出现一个nameNode无法访问,查看一下状态 :
hdfs haadmin -getAllServiceState
发现其中一个namenode报错 :
Operation failed: Access denied for user root. Superuser privilege is required
at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkSuperuserPrivilege(FSPermissionChecker.java:131)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.checkSuperuserPrivilege(FSNamesystem.java:4689)
at org.apache.hadoop.hdfs.server.namenode.NameNode.getServiceStatus(NameNode.java:1770)
at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.getServiceStatus(NameNodeRpcServer.java:1708)
at org.apache.hadoop.ha.protocolPB.HAServiceProtocolServerSideTranslatorPB.getServiceStatus(HAServiceProtocolServerSideTranslatorPB.java:131)
at org.apache.hadoop.ha.proto.HAServiceProtocolProtos$HAServiceProtocolService$2.callBlockingMethod(HAServiceProtocolProtos.java:4464)
at org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:523)
at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:991)
at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:869)
at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:815)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:422)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1726)
at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2675)
确定权限没问题(CDH环境HDFS权限问题),退出下安全状态
hdfs dfsadmin -safemode leave
Safe mode is OFF in cdh-master/192.168.100.45:8020
Safe mode is OFF in cdh-slave01/192.168.100.46:8020
再查看显示为standby。重启namenode,问题解决。