一、前提条件
- 已部署k8s;
- 已部署hadoop和hive,可参考以下链接:
https://blog.csdn.net/weixin_39750084/article/details/136750613?spm=1001.2014.3001.5502
https://blog.csdn.net/weixin_39750084/article/details/138585155?spm=1001.2014.3001.5502
https://blog.csdn.net/weixin_39750084/article/details/138674399?spm=1001.2014.3001.5502
二、镜像拉取或封装
国外镜像源太慢了,直接拉一个现成的镜像吧:docker pull prestodb/presto:0.287
,自己打包也可以,自己写个dockerfile。
FROM ubuntu:20.04
RUN wget https://repo.huaweicloud.com/java/jdk/8u202-b08/jdk-8u202-linux-x64.tar.gz
RUN wget https://repo1.maven.org/maven2/com/facebook/presto/presto-server/0.286/presto-server-0.286.tar.gz
RUN tar -zxvf jdk-8u202-linux-x64.tar.gz -C /opt/ && mv /opt/jdk-8u202-linux-x64 /opt/jdk
RUN tar -zxvf presto-server-0.286.tar.gz -C /opt/ && mv /opt/presto-server-0.286 /opt/presto-server
ENV PRESTO_HOME /opt/presto-server
ENV JAVA_HOME /opt/jdk
ENV PATH $PATH:$JAVA_HOME/bin:$PRESTO_HOME/bin
jdk用的华为的镜像源,不用登录oracle。https://repo.huaweicloud.com/java/jdk/
打包并推送镜像:
docker build -t ccr.ccs.tencentyun.com/cube-studio/presto-server:0.286 .
sudo docker push ccr.ccs.tencentyun.com/cube-studio/presto-server:0.286
三、部署presto
启动脚本和Presto配置文件
apiVersion: v1
kind: ConfigMap
metadata:
name: presto-config-cm
labels:
app: presto-coordinator
data:
bootstrap.sh: |-
#!/bin/bash
cd /root/bootstrap
mkdir -p $PRESTO_HOME/etc/catalog
apt-get update
export JDK_JAVA_OPTIONS="-Djdk.attach.allowAttachSelf=true"
apt-get install -y less
export PATH=$PATH:$(whereis less)
cat ./node.properties > $PRESTO_HOME/etc/node.properties
cat ./jvm.config > $PRESTO_HOME/etc/jvm.config
cat ./config.properties > $PRE