Nifi Docker集群-两个节点 (1)
来源:互联网 发布:淘宝名字大全 编辑:程序博客网 时间:2024/05/18 02:55
使用Dockerfile构建nifi基础镜像:
Dockerfile:
# Version: 0.0.1
FROM docker.io/centos:7
MAINTAINER heqingyong101@163.com
ARG JDK_VERSION=8u66
ARG NIFI_VERSION=1.1.0
ARG NIFI_HOME=/root/data_collect
USER root
RUN yum -y install net-tools
COPY jdk-${JDK_VERSION}-linux-x64.tar.gz ${NIFI_HOME}/jdk-${JDK_VERSION}-linux-x64.tar.gz
RUN cd ${NIFI_HOME} && tar -xvzf jdk-${JDK_VERSION}-linux-x64.tar.gz \
&& rm -rf jdk-${JDK_VERSION}-linux-x64.tar.gz
COPY nifi-${NIFI_VERSION}-bin.tar.gz ${NIFI_HOME}/nifi-${NIFI_VERSION}-bin.tar.gz
RUN cd ${NIFI_HOME} && tar -xvzf nifi-${NIFI_VERSION}-bin.tar.gz \
&& rm -rf nifi-${NIFI_VERSION}-bin.tar.gz
ADD lib/ ${NIFI_HOME}/nifi-${NIFI_VERSION}/lib/
RUN cd ${NIFI_HOME} && mkdir conf
ADD conf/ ${NIFI_HOME}/conf/
ADD init.sh ${NIFI_HOME}/
RUN chmod u+x ${NIFI_HOME}/init.sh
RUN yum -y install openssh-server openssh-clients
RUN ssh-keygen -A
COPY id_rsa.pub /root/.ssh/authorized_keys
EXPOSE 8080
WORKDIR /root/data_collect
ENTRYPOINT ["/root/data_collect/init.sh"]
初始化脚本init.sh内容如下:
#!/bin/bash
### ENV ###
## USE_EMMBEDED_ZK, should set to true for master node, others should set to false.
## HOSTNAME, hostname of every node.
## ZK_CONNECTION_STR, zookeeper connection string ,such as (master.younge.club:2181,slave.younge.club:2181).
## S2S_PORT, port of site to site protocol, default 11443.
## WEB_PORT, port of web UI, default 8080.
## IS_CLUSTER, cluster mode if true, or single node mode, default false.
## MAX_MEM, max memory set for nifi, default 512.
## NIFI_VERSION, version of nifi.
## ZK_CLI_PORT, port zookeeper client connect to, default 2181.
## ZK_HOSTNAME, zookeeper's hostname, single node.
## ZK_VOTE_PORT, zookeeper's vote port, default 2888.
## ZK_LEADER_PORT, zookeeper's leader port, default 3888.
#NIFI_VERSION=1.1.0
#MAX_MEM=1024
cd /root/data_collect/nifi-${NIFI_VERSION}
#Nifi env
sed -i "/^#export JAVA_HOME=/s:.*:export JAVA_HOME=/root/data_collect/jdk1.8.0_66/:" bin/nifi-env.sh
#Jdk mem
sed -i "/^java.arg.2=-Xmx512m/s/.*/java.arg.2=-Xmx${MAX_MEM:-512}m/" conf/bootstrap.conf
#Nifi conf
sed -i "/^nifi.state.management.embedded.zookeeper.start=/s/.*/nifi.state.management.embedded.zookeeper.start=${USE_EMMBEDED_ZK:-false}/" conf/nifi.properties
sed -i "/^nifi.remote.input.host=/s/.*/nifi.remote.input.host=${HOSTNAME}/" conf/nifi.properties
sed -i "/^nifi.remote.input.socket.port=/s/.*/nifi.remote.input.socket.port=${S2S_PORT:-11443}/" conf/nifi.properties
sed -i "/^nifi.web.http.host=/s/.*/nifi.web.http.host=${HOSTNAME}/" conf/nifi.properties
sed -i "/^nifi.web.http.port=/s/.*/nifi.web.http.port=${WEB_PORT:-8080}/" conf/nifi.properties
sed -i "/^nifi.cluster.is.node/s/.*/nifi.cluster.is.node=${IS_CLUSTER:-false}/" conf/nifi.properties
sed -i "/^nifi.cluster.node.address=/s/.*/nifi.cluster.node.address=${HOSTNAME}/" conf/nifi.properties
sed -i "/^nifi.zookeeper.connect.string=/s/.*/nifi.zookeeper.connect.string=${ZK_CONNECTION_STR}/" conf/nifi.properties
sed -i "/^nifi.cluster.node.protocol.port=/s/.*/nifi.cluster.node.protocol.port=${NODE_PORT:-10443}/" conf/nifi.properties
if [ ${USE_EMMBEDED_ZK:-false} == true ]
then
#Zookeeper conf
sed -i "/^clientPort=/s/.*/clientPort=${ZK_CLI_PORT:-2181}/" conf/zookeeper.properties
sed -i "/^server.1=/s/.*/server.1=${ZK_HOSTNAME}:${ZK_VOTE_PORT:-2888}:${ZK_LEADER_PORT:-3888}/" conf/zookeeper.properties
mkdir -p state/zookeeper
fi
#镜像后台运行
/usr/sbin/sshd -D
#/root/data_collect/nifi-${NIFI_VERSION}/bin/nifi.sh start
- Nifi Docker集群-两个节点 (1)
- Nifi Docker集群-两个节点(2)
- Nifi Docker集群-两个节点(3)
- Docker创建Docker Swarm集群节点
- Apache nifi 集群安装
- RH436之两个节点集群
- nifi-集群搭建,新增用户
- NIFI 集群配置 Clustering Configuration
- Nifi
- NIFI 集群状态管理State Management
- 如何基于Docker快速搭建多节点Hadoop集群
- 使用Docker Toolbox快速搭建3节点的shipyard集群
- 基于Kerberos的NIFI单节点安全登陆配置
- 基于Kerberos的NIFI集群安全登陆模式
- redis集群动态增加或者删除节点 和Docker启动报错
- Chapter 3 解决Swarm管理Docker集群节点状态一直pending的问题
- 地图基础详解-节点1(总共两个节点)
- 不使用ceph-deploy 手动安装两个节点的Ceph集群
- RCNN之Selective Search方法(10)---《深度学习》
- 面向对象 成员变量和局部变量
- mac搭建php开发环境
- 图片自适应调整
- Meet Surprise ——最美的惊喜 只送给最美的你
- Nifi Docker集群-两个节点 (1)
- 断点下载
- Named Color
- 使用jqGrid中遇到的小问题
- 聚能聊 | 个人设备上如何搭建数据库服务才最快
- 新路程------hi3516a的reboot过程
- android aar 使用
- spring aop报错
- codeforces 862E Mahmoud and Ehab and the function 二分+思维