「Trino」:修訂間差異
跳至導覽
跳至搜尋
第10行: | 第10行: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
sudo apt install -y openjdk-11-jre; cd /tmp; wget https://repo1.maven.org/maven2/io/trino/trino-server/360/trino-server-360.tar.gz; cd /opt; sudo tar xvf /tmp/trino-server-360.tar.gz; sudo mkdir trino-server; cd trino-server; sudo ln -s ../trino-server-360/{bin,lib,plugin} . | sudo apt install -y openjdk-11-jre; cd /tmp; wget https://repo1.maven.org/maven2/io/trino/trino-server/360/trino-server-360.tar.gz; cd /opt; sudo tar xvf /tmp/trino-server-360.tar.gz; sudo mkdir trino-server; cd trino-server; sudo ln -s ../trino-server-360/{bin,lib,plugin} .; sudo chown -R nobody:nogroup /opt/trino-server/ | ||
</syntaxhighlight> | </syntaxhighlight> | ||
於 2021年8月10日 (二) 05:52 的修訂
Trino是一套SQL查詢引擎,舊名PrestoSQL,是源自於Presto的引擎。
簡介
PrestoSQL是fork自Presto的專案,後來成立公司。在2018年時Facebook出面阻止使用其商標營利,改名為Trino。
安裝
在Ubuntu類的系統上沒有套件可以裝,這邊建議直接下載並且安裝到/opt
下(另外需要Java 11):
sudo apt install -y openjdk-11-jre; cd /tmp; wget https://repo1.maven.org/maven2/io/trino/trino-server/360/trino-server-360.tar.gz; cd /opt; sudo tar xvf /tmp/trino-server-360.tar.gz; sudo mkdir trino-server; cd trino-server; sudo ln -s ../trino-server-360/{bin,lib,plugin} .; sudo chown -R nobody:nogroup /opt/trino-server/
設定
基本上都是照著官方的安裝文件[1]設定,這邊有些設定要注意的:
etc/node.properties
的node.environment
。etc/jvm.config
的-Xmx1G
。
cd /opt/trino-server; sudo mkdir data etc; sudo tee etc/node.properties > /dev/null <<EOF
node.environment=production
node.id=$(uuidgen)
node.data-dir=/opt/trino-server/data
EOF
sudo tee etc/jvm.config > /dev/null <<EOF
-server
-Xmx1G
-XX:-UseBiasedLocking
-XX:+UseG1GC
-XX:G1HeapRegionSize=32M
-XX:+ExplicitGCInvokesConcurrent
-XX:+ExitOnOutOfMemoryError
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow
-XX:ReservedCodeCacheSize=512M
-XX:PerMethodRecompilationCutoff=10000
-XX:PerBytecodeRecompilationCutoff=10000
-Djdk.attach.allowAttachSelf=true
-Djdk.nio.maxCachedBufferSize=2000000
EOF
接下來會依照不同的機器設定不同的值:
Coordinator
裡面的參數需要隨著機器的記憶體大小修改。
cd /opt/trino-server; sudo tee etc/config.properties > /dev/null <<EOF
coordinator=true
node-scheduler.include-coordinator=false
http-server.http.port=8080
query.max-memory=50GB
query.max-memory-per-node=1GB
query.max-total-memory-per-node=2GB
discovery.uri=http://example.net:8080
EOF
Worker
裡面的參數需要隨著機器的記憶體大小修改。
cd /opt/trino-server; sudo tee etc/config.properties > /dev/null <<EOF
coordinator=false
http-server.http.port=8080
query.max-memory=50GB
query.max-memory-per-node=1GB
query.max-total-memory-per-node=2GB
discovery.uri=http://example.net:8080
EOF
相關連結
參考文獻
- ↑ Deploying Trino. [2021-08-10] (English).