本教程使用 Docker 完成 StreamPark 的部署。
前置条件
Docker 1.13.1+Docker Compose 1.28.0+
1. 安装 docker
使用 docker 启动服务,需要先安装 docker
2. 安装 docker-compose
使用 docker-compose 启动服务,需要先安装 docker-compose
部署 Apache StreamPark™
1. 基于 h2 和 docker-compose 部署 Apache StreamPark™
该方式适用于入门学习、熟悉功能特性,容器重启后配置会失效,下方可以配置Mysql、Pgsql进行持久化
2. 部署
wget https://raw.githubusercontent.com/apache/incubator-streampark/dev/docker/docker-compose.yamlwget https://raw.githubusercontent.com/apache/incubator-streampark/dev/docker/.envdocker-compose up -d
服务启动后,可以通过 http://localhost:10000 访问 StreamPark,同时也可以通过 http://localhost:8081访问Flink。访问StreamPark链接后会跳转到登陆页面,StreamPark 默认的用户和密码分别为 admin 和 streampark。想要了解更多操作请参考用户手册快速上手。

该部署方式会自动给你启动一个flink-session集群供你去进行flink任务使用,同时也会挂载本地docker服务以及~/.kube来用于k8s模式的任务提交
3. 配置flink home

4. 配置session集群

注意:在配置flink-sessin集群地址时,填写的ip地址不是localhost,而是宿主机网络ip,该ip地址可以通过ifconfig来进行获取
5. 提交 Flink 作业

使用已有的 Mysql 服务
该方式适用于企业生产,你可以基于 docker 快速部署 StreamPark 并将其和线上数据库进行关联 注意:部署支持的多样性是通过.env这个配置文件来进行维护的,要保证目录下有且仅有一个.env文件
wget https://raw.githubusercontent.com/apache/incubator-streampark/dev/docker/docker-compose.yamlwget https://raw.githubusercontent.com/apache/incubator-streampark/dev/docker/mysql/.envvim .env
需要先在mysql先创建streampark数据库,然后手动执行对应的schema和data里面对应数据源的sql
然后修改对应的连接信息
SPRING_PROFILES_ACTIVE=mysqlSPRING_DATASOURCE_URL=jdbc:mysql://localhost:3306/streampark?useSSL=false&useUnicode=true&characterEncoding=UTF-8&allowPublicKeyRetrieval=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8SPRING_DATASOURCE_USERNAME=rootSPRING_DATASOURCE_PASSWORD=streampark
docker-compose up -d
沿用已有的 Pgsql 服务
wget https://raw.githubusercontent.com/apache/incubator-streampark/dev/docker/docker-compose.yamlwget https://raw.githubusercontent.com/apache/incubator-streampark/dev/docker/pgsql/.envvim .env
修改对应的连接信息
SPRING_PROFILES_ACTIVE=pgsqlSPRING_DATASOURCE_URL=jdbc:postgresql://localhost:5432/streampark?stringtype=unspecifiedSPRING_DATASOURCE_USERNAME=postgresSPRING_DATASOURCE_PASSWORD=streampark
docker-compose up -d
基于源码构建镜像进行Apache StreamPark™部署
git clone https://github.com/apache/incubator-streampark.gitcd incubator-streampark/dockervim docker-compose.yaml
build:context: ../..dockerfile: docker/Dockerfile# image: ${HUB}:${TAG}

docker-compose up -d
docker-compse配置
docker-compose.yaml会引用env文件的配置,修改后的配置如下:
version: '3.8'services:## streampark-console容器streampark-console:## streampark的镜像image: apache/streampark:latest## streampark的镜像启动命令command: ${RUN_COMMAND}ports:- 10000:10000## 环境配置文件env_file: .envenvironment:## 声明环境变量HADOOP_HOME: ${HADOOP_HOME}volumes:- flink:/streampark/flink/${FLINK}- /var/run/docker.sock:/var/run/docker.sock- /etc/hosts:/etc/hosts:ro- ~/.kube:/root/.kube:roprivileged: truerestart: unless-stoppednetworks:- streampark## flink-jobmanager容器flink-jobmanager:image: ${FLINK_IMAGE}ports:- "8081:8081"command: jobmanagervolumes:- flink:/opt/flinkenv_file: .envrestart: unless-stoppedprivileged: truenetworks:- streampark## streampark-taskmanager容器flink-taskmanager:image: ${FLINK_IMAGE}depends_on:- flink-jobmanagercommand: taskmanagerdeploy:replicas: 1env_file: .envrestart: unless-stoppedprivileged: truenetworks:- streamparknetworks:streampark:driver: bridgevolumes:flink:
最后,执行启动命令:
cd dockerdocker-compose up -d
可以使用docker ps来查看是否安装成功,显示如下信息,表示安装成功:

上传配置至容器
在前面的env文件,声明了HADOOP_HOME,对应的目录为 /streampark/hadoop,所以需要上传hadoop安装包下的 /etc/hadoop 至 /streampark/hadoop 目录,命令如下:
## 上传hadoop资源docker cp etc整个目录 streampark-docker_streampark-console_1:/streampark/hadoop## 进入容器docker exec -it streampark-docker_streampark-console_1 bash## 查看ls

同时,其它配置文件,如maven的settings.xml文件也是以同样的方式上传。
