天天看點

用引導操作給E-MapReduce叢集安裝presto元件準備腳本安裝和驗證

目前emr叢集的jdk版本是1.7,由于presto 0.86以上版本最低jdk要求是jdk8,是以需要給叢集安裝jdk8。以後叢集預設jdk版本更新到jdk8以後這一步可以省略。

這個腳本從e-mapreduce團隊提供的一個開放讀取的oss位址下載下傳oracle jdk8,解壓縮,并設定javahome環境變量。要注意環境變量的設定對已存在的程序和其子程序是不生效的,後面啟動presto前,應<code>source /etc/bashrc</code>

下面詳細講解腳本的内容。

從e-mapreduce團隊提供的一個開放讀取的oss位址下載下傳presto 0.147,解壓縮到指定目錄。

根據hostname是否包含指定字元串,分别下載下傳coordinator和worker的預設配置檔案到presto的安裝目錄。兩組預設配置檔案都包含相同的jvm.config,log.preperties,node.preperties, catalog/hive.preperties, catalog/jmx.preperties檔案,差別是config.preperties裡前者指定了coordinator=true。預設的配置内容如下所示,如果要修改配置内容,比如修改查詢請求的最大記憶體,您可以額外提供一個腳本修改配置内容。

coordinator的config.preperties

worker的config.preperties

後面的腳本會将localhost替換為coordinator的ip

node.preperties

後面的腳本會用uuid設定node.id的值

jvm.config

log.preperties

catalog/jmx.properties

catalog/hive.properties

後面的腳本會将localhost替換為metastore所在的master1節點的ip

各程序的node id必須 不同,這裡用uuid自動生成。

取master1節點的内網ip,設定為discovery和metastore的ip位址。

先加載bashrc環境變量,再啟動presto服務程序。

ssh用root使用者 登陸master,輸入·hive·進入hivecli,建立表并插入一條測試資料:

退出hive cli,進入presto cli

<code>./presto --server localhost:9090 --catalog hive --schema default</code>

執行<code>show tables</code>能看見剛剛建立的表,執行<code>select * from test;</code>能查到剛才插入的資料。如果未顯示,可能是還未同步,稍等一會