您的位置:首页 > 其它

如何升级YDB

2017-02-19 12:16 169 查看

一、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)核对业务数据是否有异常,数据条数是否正确。
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: