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目錄下,這個我不知道怎么配置,還在研究中


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM