如何升级YDB

一、YDB升级步骤

1.停止YDB服务

       通过./stop-all.sh来停止服务(注:HDP版本需要在管理页面上停止服务)

2.备份旧程序

1)备份旧版YDB整个程序目录

2)备份我们自己开发或添加的第三方的jar包和配置文件

3)备份YDB提供的Spark整个程序目录

4)备份HIVE本地元数据库

       本地元数据库是指Hive元数据库derby.log和metastore_db,元数据库的位置可以从conf下的ya100_env.sh中的HIVE_METASTORE_PATH获取,如下图所示。


3.升级程序

1)替换ydb提供的Spark升级版本

u将之前旧的spark整个目录mv成待备份的目录名字,如xxx_spark_bak_yyyymmdd

u将新的spark解压后,重新命名为之前的spark目录

u检查spark目录是否正确,核对spark相关文件是否存在

2)替换YDB

u将之前旧的ya100 整个目录mv成待备份的目录名字,如xxx_ya100_bak_yyyymmdd

u将新的ya100解压后,重新命名为之前的ya100目录

u检查ya100目录是否正确,核对相关文件路径是否存在

3)元数据库文件替换

       将之前备份的Hive元数据库derby.log和metastore_db ,恢复到相关目录里面。

       如果没有恢复该元数据库目录,升级YDB后,会发现之前旧版创建的hive表,均不可见(数据还在)。

5)将我们我们自己开发或添加的第三方的jar包和配置文件重新覆盖过来。

jar包如:

       kafka的reader包,parser包

       自定义udf,udaf,udtf函数

       自定义的第三方分词,自定义的词库

       因为版本问题而更换的kafka相关jar包

       其他jar包,如mysql相关库

配置文件如

       fieldType.txt里面自定义的数据类型

       dynamicField.txt里面自定义的动态数据类型

       IK_ext.dic 里面定义的IK词库文件

4.更改配置

1)ya100_env.sh更改(HDP版请在配置页面上管理)

参考旧的ya100_env.sh,将旧版的ya100_env.sh 我们用户配置的部分,更新到新版。

如下图所示,红色部分是我们经常需要修改覆盖的地方。


2)ydb_site.yaml更改(HDP版请在配置页面上管理)

参考旧的ydb_site.yaml,将旧版的ydb_site.yaml 我们用户配置的部分,更新到新版。

如下图所示,红色部分是我们经常需要修改覆盖的地方。



3)log4j的配置更新(HDP版请在配置页面上管理)

       log4j是用来控制程序的日志的。

       常规情况下log4j我们无需配置,但是如果之前我们的旧版本改动了log4j的配置,我们本次升级记得也跟着改动过来

       driver.log.properties 为我们的driver节点的log4j 配置,即master节点的log4j。

       worker.log.properties 为我们的worker节点的log4j配置。

4)spark-defaults.conf的配置更新(HDP版请在配置页面上管理)

       改配置为spark的配置,常规情况下用户无需配置。最近的一些版本spark-defaults.conf我们的改动也比较大,所以注意,spark-defaults.conf绝对不可以直接用旧版的配置文件直接覆盖,因为很多我们配置项的改动是为了提升稳定性。

       但如果因为某种原因,我们之前更改过该文件的配置,请大家一定要在新的配置的基础上,仅仅增加或修改我们自己更改过的那些配置,为了稳定性,不要随意删掉YDB提供的默认配置。

 

5)init.sql里面我们的初始化函数

       init.sql是ydb的启动后的初始化SQL文件,通常来说也无须配置。

       如果我们在init.sql做了一些Hive函数的初始化,或者构建了一些表之类的,我们需要参考旧的init.sql对应着修改过来

6)hive-site.xml的配置(HDP版请在配置页面上管理)

       hive-site.xml是跟hive表相关的配置,里面控制了jdbc连接的线程池,以及元数据存储位置等信息。

如果之前旧版我们更改过这里,记得要配置。

5.更改本次版本更新的特定配置

       如果该次升级,涉及版本一些重大特性的变化,如要在这个步骤里面给予修改。这里面的更改由延云额外提供文档进行更改。

如:

       操作系统发现的可以对性能或稳定性有较大影响的新的参数设置

       hadoop\kafka\zookeeper等对ydb有较大影响的一些新的参数配置。

 

对于本地1.5版本的ydb需要添加额外如下配置

1)网络配置优化

echo  " net.core.somaxconn = 32768 " >> /etc/sysctl.conf

sysctl -p

sysctl -a|grep somaxconn

2)Hadoop 配置更改

l调整dfs.datanode.max.transfer.threads的值,默认4096太小,建议调整为10240

l调整ipc.server.listen.queue.size为32768

l调整yarn.resourcemanager.am.max-attempts的值为10000000,默认的2次太小,客户测试过程反复的kill就会导致整个任务失败。

6.启动YDB并检查服务是否正常

通过start-all.sh来启动服务

1)ydb的1210页面上的monitor页面是否有异常错误上报


看这个页面是否有 紫色或者红色的异常提示


2)spark的ui页面是否能打开

3)核对业务,服务是否正常,相关SQL是否能查询到结果

4)核对业务数据是否有异常,数据条数是否正确。

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值