Kylin 版本升级

2017年12月28日 527 次阅读 0 条评论 0 人点赞

通用升级步骤

Kylin作为Hadoop客户端运行程序,其元数据和Cube数据都被持久化在Hadoop(HBase和HDFS),所以Kylin升级相对容易并且用户不必担心数据丢失,升级的具体操作可以按照以下步骤进行:

  • 根据Hadoop版本从Kylin下载页面下载Apache Kylin新的二进制安装包;
  • 解压新版本Kylin二进制包到新的文件夹下,比如/usr/local/kylin/apache-kylin-2.0.0/ (不建议直接覆盖旧版本);
  • 将旧的配置文件($KYLIN_HOME/conf/*)进行merge合并为新配置文件,使用旧的配置文件直接覆盖新的配置文件时,虽然大部分情况下Kylin都能正常工作但是仍然不建议这么做。如果已经修改了Tomcat配置($ KYLIN_HOME /tomcat/conf/),那么请参考上述操作进行配置文件合并,而不是直接覆盖;
  • 停止当前运行的Kylin实例,可以使用bin/kylin.sh stop命令;
  • 设置KYLIN_HOME环境变量到新的安装文件夹。如果已经在~/.bash_profile或其他脚本中设置了KYLIN_HOME,确保同步更新其设置;
  • 使用$KYLIN_HOME/bin/kylin start启动新的Kylin实例,新的顺利启动之后登录Kylin WebUI以检查是否Cube是否正确加载;
  • 升级协处理器以保证HBase RegionServers使用的是Kylin最新的协处理器;
  • 验证SQL查询是否可以正确执行。
特定版本升级指南

Kylin v1.6.0升级至v2.0.0

Kylin v2.0.0可以直接读取v1.6.0的元数据,详情请参照上文通用升级步骤。

Kylin v2.0.0版本开始,配置文件kylin.properties中配置选项的属性名称已经发生更改,但是Kylin旧版本中的属性名称仍然正常可用。我们建议用户使用新的属性名称,因为新属性名遵循命名约定而且更容易理解。详情请参照新旧属性名称映射规则

Kylin v1.5.4升级至v1.6.0

Kylin v1.5.4和v1.6.0元数据兼容,详情请参照上文通用升级步骤。

Kylin v1.5.3升级至v1.5.4

Kylin v1.5.3和v1.5.4元数据兼容,详情请参照上文通用升级步骤。

Kylin v1.5.2升级至v1.5.3

Kylin v1.5.3兼容v1.5.2元数据,虽然不需要重建Cube但是需要执行一些常规操作:

1.升级HBase协处理器

现有Cubes HBase表的协处理器需要更新到最新版本,请参照本指南进行更新操作

2.更新conf/kylin_hive_conf.xml

从Kylin 1.5.3版本开始,Kylin不再需要Hive对小文件进行合并; 如果配置文件是从Kylin早期版本的conf/目录下拷贝的,那么这需要删除kylin_hive_conf.xml配置文件中与“merge”相关的属性,其中包括:

  • hive.merge.mapfiles
  • hive.merge.mapredfiles
  • hive.merge.size.per

这会缩短从hive中读取数据的时间。

Kylin v1.5.1和v1.5.2元数据兼容,详情请参照上文通用升级步骤。

Kylin v1.5.2升级至v1.5.3

Kylin v1.5.2兼容v1.5.1元数据,虽然Cube不需要升级但是需要执行一些常规操作:

1.升级HBase协处理器

现有Cubes HBase表的协处理器需要更新到最新版本,请参照本指南进行更新操作

2.更新conf/kylin_hive_conf.xml

弃用属性:

  • kylin.hbase.region.cut.small = 5
  • kylin.hbase.region.cut.medium = 10
  • kylin.hbase.region.cut.large = 50

新增属性:

  • kylin.hbase.region.cut = 5
  • kylin.hbase.hfile.size.gb = 2

这些新参数决定了HBase Region如何分裂,可以使用不同大小的属性值在Cube级别重写/覆盖这些参数。如果是从旧的kylin.properties文件拷贝属性值,建议先删除已经废弃的相关属性值并添加新增属性值。

3.添加conf/kylin_job_conf_inmem.xml

“kylin_job_conf_inmem.xml”作为新的作业(job)配置文件被添加至conf文件夹,而且Kylin 1.5引入了“fast cubing”算法,旨在利用更多的内存资源来进行基于内存的聚合计算。Kylin将使用kylin_job_conf_inmem.xml配置文件来提交基于内存的Cube构建作业(job),和常规作业(job)相比其对内存的申请也有所不同,请根据集群的实际容量更新相关配置。

一个文件名为“kylin_job_conf_inmem.xml”的新作业配置文件conf文件“的conf”文件夹添加; 作为麒麟1.5推出了“快体积测量”的算法,其目的是利用更多的内存做在-MEM聚集; 麒麟将使用这个新的conf文件提交的-MEM多维数据集生成工作,这要求有一个正常的工作不同的内存; 请妥善根据您的群集容量更新。

此外,如果针对不同容量的Cubes使用了单独的配置文件,如“kylin_job_conf_small.xml”,“kylin_job_conf_medium.xml”和“kylin_job_conf_large.xml”,需要注意的是这些配置文件目前已经被废弃。在Apache Kylin新版本中提交Cube作业(job)时,只有“kylin_job_conf.xml”和“kylin_job_conf_inmem.xml”两个配置文件可用。 如果存在Cube级别的作业(job)配置(如使用不同的Yarn作业队列),则可以在Cube级别对这些配置进行自定义,详情请参阅KYLIN-1706

过往不恋、当下不杂、未来不迎

文章评论(0)