presto的升级

最近对presto进行了升级,目前最新版本是0.233,我们用的是0.177。

升级之前参考了一下别人的博客,在官网没有找到关于升级的消息

其中博客主要参考是:https://www.jianshu.com/p/caf14b656107

思路是采取的这个,但是方法不是这样的

1.准备包(三个节点上都要有)

wget https://repo1.maven.org/maven2/com/facebook/presto/presto-server/0.233.1/presto-server-0.233.1.tar.gz

wget https://repo1.maven.org/maven2/com/facebook/presto/presto-cli/0.233.1/presto-cli-0.233.1-executable.jar
wget https://repo1.maven.org/maven2/com/facebook/presto/presto-jdbc/0.233.1/presto-jdbc-0.233.1.jar

2.找到原来版本的安装目录(标红处就是安装目录,这里是我升级以后的 ,你在升级前查看的话应该是0.177版本)

ps -ef |grep presto
[admin@test29 bin]$ ps -ef |grep presto
admin 3835 12654 0 15:36 pts/0 00:00:00 grep --color=auto presto
admin 31362 1 39 15:29 ? 00:02:37 java -cp /home/admin/program/presto-server-0.233.1/lib/* -server -Xmx5G -XX:+UseG1GC -XX:G1HeapRegionSize=32M -XX:+UseGCOverheadLimit -XX:+ExplicitGCInvokesConcurrent -XX:+HeapDumpOnOutOfMemoryError -XX:OnOutOfMemoryError=kill -9 %p -Dlog.output-file=/ccdata/presto/data/var/log/server.log -Dnode.data-dir=/ccdata/presto/data/ -Dnode.id=hadoop-dev20 -Dnode.environment=caocao_presto -Dlog.enable-console=false -Dlog.levels-file=/home/admin/program/presto-server-0.233.1/etc/log.properties -Dconfig=/home/admin/program/presto-server-0.233.1/etc/config.properties com.facebook.presto.server.PrestoServer

3.将presto-server-0.233.1.tar.gz压缩包解压到/home/admin/program/目录下与原来的目录保持并行(因为你不知道之前有多少脚本写的时候就是用的这个目录,你如果修改了目录,好多脚本都得改,如果改不到  就会出现报错,所以目录不要变)

tar -zxvf presto-server-0.233.1.tar.gz  -C /home/admin/program/

4.将原来目录下的(/home/admin/program/presto-server-0.177/)etc文件夹考到新解压的目录下

 cp -r /home/admin/program/presto-server-0.177/etc  /home/admin/program/presto-server-0.233.1/

  然后如果有其他脚本就一起拷到相应目录下,最好不要改变位置。

5.你要查看一下自己的jdk的版本,因为0.233版本需要jdk是150以上的,也就是至少要是15几的版本(以1.8版本为准的150哈)

[admin@test29 bin]$ java -version
java version "1.8.0_152"
Java(TM) SE Runtime Environment (build 1.8.0_152-b16)
Java HotSpot(TM) 64-Bit Server VM (build 25.152-b16, mixed mode)

如果你的版本大于150,那就没有问题,如果小于150,那么需要自行下载一个版本大于150的jdk

当然你不必去把你整个环境的jdk给换掉,风险太大,你只需要查看一下你原来的vim /home/admin/program/presto-server-0.177/bin/launch,看一下配置的jdk的目录是啥,你就把你新下载的jdk丢到那个目录下就可以了,下图的红框框的就是你需要配置的

export PATH=/home/admin/program/jdk1.8.0_152/bin:$PATH

 6.参数变更

因为版本的迭代,有一些参数可能发生变化,如果发生变化就会导致启动失败,所以需要对参数进行整改,具体怎么整改我还没有找到官网的参考位置,只是在相关博客中参考了一下,但是好像不太理想,启动的时候还是各种报错,所以此处建议若果找不到具体的参照,那就直接启动,因为报错内容会告诉你那个参数是不需要的,那个参数是错的。

启动报错截图找不到了 ,总之就是某个参数can‘t used 或者   can‘t configured这个样子的基本上就是不需要了  ,你注释掉就好。直到出现这个就算是启动成功了

 这是主节点的配置

7.启动前准备

  1)启动之前你要先把原来的停掉

/home/admin/program/presto/bin/launcher stop

   2)为了避免升级的过程中需要更改脚本,所以需要将presto-server-0.233.1目录和presto建立软连接,在之前的版本可能已经建立过软连接,比如

lrwxrwxrwx 1 admin admin 19 2019-08-22 11:10:56 presto -> presto-server-0.177

我们要把这个软连接给它换成新的版本的

lrwxrwxrwx  1 admin admin        21 2020-03-28 11:13:17 presto -> presto-server-0.233.1

原来的你可以给他换一下名字

mv  presto  presto.177
lrwxrwxrwx 1 admin admin 19 2019-08-22 11:10:56 presto.177 -> presto-server-0.177

7.其他的work节点跟主节点的升级步骤差不多,启动跟主节点也是一样启动。

每个个节点单独启动坑内比较麻烦,你可以写一个启动脚本。

ssh -p 15388 test31 /home/admin/program/presto/bin/launcher start
ssh -p 15388 dev30 /home/admin/program/presto/bin/launcher start
/home/admin/program/presto/bin/launcher start

然后查看web(红框中可以看到,升级已经成功)

 总的来说这个过程还是比较简单的

最后还有两个jar包的作用

presto-cli-0.233.1-executable.jar是用来连接

[admin@test29 presto]$ /home/admin/program/presto/presto --server 10.27.228.64:9999 --user analyst  --catalog hive --schema default
presto:default> show tables;
                                             Table                                              
------------------------------------------------------------------------------------------------
 carbon_table                                                                                   
 customers                                                                                      
 dc_driver_loginlong_bak1                                                                       
 dc_driver_loginlong_test11                                                                     
 dc_driver_loginlong_test12                                                                     
 dc_driver_loginlong_test13                                                                     
 dc_driver_loginlong_test14                                                                     
 dc_driver_loginlong_test16                                                                     
 dc_driver_loginlong_test17                                                                     
 dc_driver_loginlong_test18                                                                     
 dc_driver_loginlong_test19                                                        
presto-jdbc-0.233.1.jar配置到java的classpath目录下,这个我不知道怎么配置,还在研究中

猜你喜欢

转载自www.cnblogs.com/xuziyu/p/12599527.html