问题标题:CTBase manager页面无法打开,Hbase不可用
问题描述:hbase shell操作时报错HMaster正在初始化
ERROR:org.apache.hadoop.hbase.PleaseHoldException:Master is initializing
问题定位:查看HMaster日志发现HMaster启动时等待指派namespace表超时,导致主备HMaster一直在不停切换
Timeout: 300000ms waiting for namespace table to be assigned
以上日志说明hmaster启动超时,导致主备hmaster不停切换
解决方案:
将namespace初始化超时时间调大
C50SPC202版本中没有hbase.master.namespace.init.timeout配置项,需要手动添加
解决问题步骤
1.在/opt/huawei/Bigdata/om-0.1.1/etc/components/FusionInsight_V100R002C50SPC202/HBase/configuration.xml配置文件中,HMaster标签下,找到hbase-site.xml,手动添加配置项hbase.master.namespace.init.timeout:
值设为36000000
2.重启controller
sh /opt/huawei/Bigdata/om-0.1.1/sbin/restart-controller.sh
3.在manager web UI同步配置
4.重启HBase服务
5.HBase恢复正常
问题标题:hbase读取慢
问题描述:应用部署到生产环境大数据集群后,从hbase读取数据很慢,耗时18秒左右才能返回数据,导致其他应用访问超时无法正常使用,目前数据量非常少,不超过500条记录。
同样的应用在开发环境部署,访问hbase耗时最多不超过3秒,基本在可接受范围内。
Timeout: 300000ms waiting for namespace table to be assigned
以上日志说明hmaster启动超时,导致主备hmaster不停切换
解决方案:配置了DNS,客户端与集群交互过程中会去DNS服务器解析集群ip,存在时延问题
备份客户端DNS配置文件并清空
# cp /etc/resolv.conf /etc/resolv.conf-bak
# echo "" > /etc/resolv.conf
无法提交Loader任务
admin和hbase_bk_user用户都无法提交loader作业,错误提示如下:org.apache.hadoop.yarn.exceptions.YarnException: Failed to submit application_1495015772433_0204 to YARN : Failed to submit application application_1495015772433_0204 submitted by user hbase_bk_user reason: No groups found for user hbase_bk_user (caused by: Failed to submit application_1495015772433_0204 to YARN : Failed to submit application application_1495015772433_0204 submitted by user hbase_bk_user reason: No groups found for user hbase_bk_user
其中一个节点的/var目录已经达到100%,清理空间后即可正常提交作业。
如何配置Hbase缓存
1.在使用客户端读取HBase的数据时,可以通过在代码使用上进行配置和优化,做到提高读取速度的提高。客户端默认缓存的数据大小,调用Scanner.next的时候会先从缓存中取数据,如果缓存中数据取完后才向regionserver进行scan请求。增大改值可以提高客户端读取数据的速度,并且大大降低对regionserver的请求个数。 hbase.client.scanner.max.result.size,client请求rs上每次返回结果的最大大小。可以增大该数值来增加每次请求regionserver上得到数据量,从而降低到regionserver的请求。 2.在RegionServer端可以配置Block的缓存区大小,一定程度提高查询效率。HBase 缓存区大小,主要影响查询性能。根据查询模式以及查询记录分布情况来决定缓存区的大小。
客户端访问Phoenix报错
zookeeper.ClientCnxn: Session establishment complete on server hdgycn02/99.12.166.131:24002, sessionid = 0x1e04533cfe1a6416, negotiated timeout = 90000
2017-05-08 15:32:26,334 ERROR [main-SendThread(hdgycn02:24002)] client.ZooKeeperSaslClient: An error: (java.security.PrivilegedActionException: javax.security.sasl.SaslException: GSS initiate failed [Caused by GSSException: No valid credentials provided (Mechanism level: Server not found in Kerberos database (7) - UNKNOWN_SERVER)]) occurred when evaluating Zookeeper Quorum Member's received SASL token. This may be caused by Java's being unable to resolve the Zookeeper Quorum Member's hostname correctly. You may want to try to adding '-Dsun.net.spi.nameservice.provider.1=dns,sun' to your client's JVMFLAGS environment. Zookeeper Client will go to AUTH_FAILED state.
报错信息显示客户端在连接zk时,出现票据超期连接失效,调整下客户端配置文件/opt/hadoop_client/Spark/adapter/client/controller/j |