官方文档翻译
http://kylin.apache.org/blog/2016/06/10/standalone-hbase-cluster/
介绍:
Apache Kylin 主要使用HBase存储 cube 数据。所以HBase集群的性能直接影响到kylin的查询性能 。通常场景是,HBase 和 MR/Hive 部署在同一个HDFS集群上,这使得HBase可用资源很有限,MR任务也会影响HBase的性能。这些问题可以通过独立的HBase集群解决,Apache Kylin目前支持这种部署模式。
架构图
环境要求:
为了启用独立的HBase支持,首先要检查以下环境
- 部署主集群和hbase集群,确保两者正常工作
- 确保Kylin服务器可以使用hdfs shell访问这两个集群,并提供完全限定的路径
- 确保Kylin服务器可以向主集群提交MR作业,可以使用hive shell访问数据仓库,确保hadoop和hive的配置指向主集群
- 确保kylin服务器可以使用hbase shell访问hbase集群,确保hbase节点配置到hbase集群
- 确保主集群上的job可以直接访问hbase集群
配置:
编辑conf/kylin.properties,设置 kylin.hbase.cluster.fs 为HBase集群HDFS的url,例如:kylin.hbase.cluster.fs=hdfs://hbase-cluster-nn01.example.com:8020
启用NameNode HA:
HDFS Namenode HA显著提高了集群的可用性,所以要在HBase集群启用它。
编辑kylin.properties ,设置kylin.hbase.cluster.fs 的值为HBase集群的NN-HA路径
由于构建多维数据集的MR作业同时访问主集群和hbase集群,因此在任务运行期间可能会抛出异常。原因是任务需要使用与NN-HA相关的配置访问HBase集群,这些配置通常不在主集群中部署。
这些异常可以通过configs更新来解决。具体来说,合并两个集群的NN-HA相关配置,包括dfs.nameservices、dfs.ha.namenode .、dfs.client.failover.proxy.provider。和其他相关。这些配置也要更新到kylin服务器 和 Resource Manager的hdfs-site.xml中,以及 kylin job conf.xml.
然而,生产环境更新配置可能比较困难,这是另一种更新方式
- 用 patch HBASE-14347更新kylin服务器中的HBase client,设置hbase-site.xml
, hbase.use.dynamic.jar=false - 用 patch KYLIN-1910更新kylin服务器,设置kylin.properties ,kylin.hbase.cluster.hdfs.config.file=hbase.hdfs.xml ,hbase.hdfs.xml是指Hbase集群的 hdfs-site.xml ,把它放到kylin.properties同级目录中。
- 用 patch YARN-3021 更新kylin服务器和resource manager的Hadoop
故障排查:
- UnknownHostException occurs during Cube Building
它通常与HBase HA nameservice配置一起发生,请参考上面的章节启用NN HA - ‘Error when open connection hbase’ during Kylin Server startup
HBase在连接设置期间,尝试在hdfs上创建mkdir tmp dirs,但由于缺少与n -HA相关的配置而失败,请参阅Enable NN HA - Failed to submit cube building job
在生成多维数据集构建作业期间将解析HBase集群路径,但由于缺少与n -HA相关的配置而失败,请参阅Enable NN HA - Cube Building Step ‘Convert Cuboid Data to HFile’ failed
通常出现在Kerberos身份验证。资源管理器在作业提交时尝试更新所有令牌,HBase集群令牌的更新将失败,缺少与n -HA相关的配置,请参考Enable NN HA - HFile BulkLoading Stucks for long time
检查regionserver日志,应该有很多错误日志,如WrongFS 异常。确认kylin.properites/kylin.hbase.cluster.fs 的namenode地址 和 HBase Naster的 hbase-site.xml/root.dir相同
** 以上是根据官网文档翻译得到,下面是别人写的,感觉挺好 **