maxwell 部署 - mysql-to-json kafka docker mysql kakfa


https://hub.docker.com/r/zendesk/maxwell

https://github.com/zendesk/maxwell


docker run  -d   --name maxwell  --restart=always   --link mariadb  --link kafka  -e TZ='Asia/Shanghai'   --ulimit nofile=262144:262144  -v /etc/localtime:/etc/localtime:ro  zendesk/maxwell bin/maxwell --user='root'   --password='wdqdmm@r' --host='mariadb'  --producer=kafka    --kafka.bootstrap.servers='kafka:9092' --kafka_topic='mysql2kafka'


# kafdrop - kafka可视化web工具

https://abc.htmltoo.com/thread-46677.htm


Maxwell是一个能实时读取MySQL二进制日志binlog,并生成JSON格式的消息,作为生产者发送给Kafka


cd /data/docker/tools/Dockerfile/maxwell

wget https://github.com/zendesk/maxwell/releases/download/v1.24.1/maxwell-1.24.1.tar.gz

tar -xzvf  maxwell-1.24.1.tar.gz && rm -rf maxwell-1.24.1.tar.gz && cd maxwell-1.24.1/

mv * ../  && cd ../ && rm -rf maxwell-1.24.1 


vi  /data/docker/tools/Dockerfile/maxwell/bin/maxwell-docker

exec `dirname $0`/maxwell  --user=$MYSQL_USERNAME --password=$MYSQL_PASSWORD --host=$MYSQL_HOST --producer=$MAXWELL_PRODUCER $MAXWELL_OPTIONS  --kafka_topic=$KAFKA_TOPIC


vi /data/docker/tools/Dockerfile/maxwell/Dockerfile

FROM maven:3.6-jdk-8
ENV MAXWELL_VERSION=1.24.1 KAFKA_VERSION=1.0.0
RUN apt-get update \
    && apt-get -y upgrade \
    && apt-get install -y make wget vim net-tools curl git cron axel zip unzip cmake golang python  build-essential autoconf automake libtool  \
    && apt-get dist-upgrade -y  \
    && apt-get upgrade -y   \
    && apt autoremove   \
    && apt clean
# prime so we can have a cached image of the maven deps
COPY pom.xml /tmp
RUN cd /tmp && mvn dependency:resolve
COPY . /workspace
RUN cd /workspace \
    && KAFKA_VERSION=$KAFKA_VERSION make package MAXWELL_VERSION=$MAXWELL_VERSION \
    && mkdir /app \
    && mv /workspace/target/maxwell-$MAXWELL_VERSION/maxwell-$MAXWELL_VERSION/* /app/ \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /usr/share/doc/* /workspace/ /root/.m2/ \
    && echo "$MAXWELL_VERSION" > /REVISION
WORKDIR /app
CMD [ "/bin/bash", "-c", "bin/maxwell-docker" ]


sudo docker build -t maxwell .

sudo docker tag maxwell:latest hub.htmltoo.com:5000/db:maxwell

sudo docker push hub.htmltoo.com:5000/db:maxwell


# maxwell

镜像:  hub.htmltoo.com:5000/db:maxwell

变量:

MYSQL_USERNAME = root

MYSQL_PASSWORD = wdqdmm@r

MYSQL_HOST = mysql

MAXWELL_PRODUCER = kafka

KAFKA_HOST = kafka

KAFKA_PORT = '9092'

KAFKA_TOPIC = mysql2kafka

卷:

/etc/localtime:/etc/localtime:ro

/data/file:/data/file


-------

docker run -it --rm zendesk/maxwell bin/maxwell --user=$MYSQL_USERNAME \

    --password=$MYSQL_PASSWORD --host=$MYSQL_HOST --producer=kafka \

    --kafka.bootstrap.servers=$KAFKA_HOST:$KAFKA_PORT --kafka_topic=maxwell


-------过滤数据库

--filter 'exclude: dbName01.*, include: dbName02.*'


签名:这个人很懒,什么也没有留下!
最新回复 (0)
返回