zoukankan      html  css  js  c++  java
  • 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目录下,这个我不知道怎么配置,还在研究中
  • 相关阅读:
    「UVA12293」 Box Game
    「CF803C」 Maximal GCD
    「CF525D」Arthur and Walls
    「CF442C」 Artem and Array
    LeetCode lcci 16.03 交点
    LeetCode 1305 两棵二叉搜索树中的所有元素
    LeetCode 1040 移动石子直到连续 II
    LeetCode 664 奇怪的打印机
    iOS UIPageViewController系统方法崩溃修复
    LeetCode 334 递增的三元子序列
  • 原文地址:https://www.cnblogs.com/xuziyu/p/12599527.html
Copyright © 2011-2022 走看看