由于官方的镜像在国内拉取不到,本次以二进制包的方式进行部署。
准备工作
以2.1.1版本为例,将二进制包上传服务器后解压
mkdir /home/streampark
mv /tmp/apache-streampark_2.12-2.1.1-incubating-bin.tar.gz /home/streampark
cd /home/streampark
tar -zxvf apache-streampark_2.12-2.1.1-incubating-bin.tar.gz
mv apache-streampark_2.12-2.1.1-incubating-bin apache-streampark_2.12-2.1.1
修改如下2个文件进行数据库配置
- application.yaml
- application-mysql.yaml
将环境配置拷贝至streampark目录
cp ${flink1.14} ./
cp -r /opt/cloudera/parcels/CDH/lib/hadoop ./
cp -r /etc/hadoop/conf ./
mv conf hadoop-conf
#cp -r $HADOOP_HOME/../hive ./
#cp -r $HADOOP_HOME/../hbase ./
cp -r $HADOOP_HOME/../hadoop-hdfs ./
cp -r $HADOOP_HOME/../hadoop-mapreduce ./
cp -r $HADOOP_HOME/../hadoop-yarn ./
编写dockerfile
基础镜像参考我的大数据基础镜像文章,或者
docker pull registry.cn-shanghai.aliyuncs.com/luckydata/centos7_jdk8:latest
cat >> dockerfile << EOF
FROM centos7_jdk8:latest
WORKDIR /streampark
RUN yum install lsof -y
EXPOSE 10000
ENV HADOOP_HOME=/streampark/hadoop
ENV HADOOP_CONF_DIR=$HADOOP_HOME/../hadoop-conf
ENV HADOOP_HDFS_HOME=$HADOOP_HOME/../hadoop-hdfs
ENV HADOOP_MAPRED_HOME=$HADOOP_HOME/../hadoop-mapreduce
ENV HADOOP_YARN_HOME=$HADOOP_HOME/../hadoop-yarn
ENV TZ=Asia/Shanghai
ENV LANG=zh_CN.UTF-8
CMD ["apache-streampark_2.12-2.1.1/bin/streampark.sh","start_docker"]
EOF
编写docker启动脚本
cat >> build.sh << EOF
#!/bin/bash
docker stop streampark
docker rm streampark
docker rmi streampark:v2.1.1
docker build /home/streampark -t streampark:v2.1.1
docker run -it -d -v /home/streampark:/streampark -p 10000:10000 --name streampark streampark:v2.1.1
EOF
chmod +x build.sh
./build.sh
完成后访问http://dockerhost:10000即可