docker 학습(3)-docker-compose 를 사용 하여 canal-server,rockermq 와 fink 환경 을 구축 합 니 다.
win:https://docker_practice.gitee.io/install/windows.html
Mac:https://docker_practice.gitee.io/install/mac.html
Centos:https://docker_practice.gitee.io/install/centos.html
2:이 기 계 는 docker-compose 를 설치 해 야 합 니 다.
win 과 mac 의 설치 패키지 에는 docker-compose 가 포함 되 어 있 습 니 다.따로 설치 할 필요 가 없습니다.Linux 환경 은 설치 해 야 합 니 다.자세 한 내용 은 참고 하 십시오.
https://docs.docker.com/compose/install/
미 러 소개
1,percona(mysql)데이터베이스
공식 사용 도움말:https://hub.docker.com/_/percona/
2、grafana
공식 사용 도움말:http://docs.grafana.org/installation/docker/
3、rocketmq
공식 사용 도움말:https://github.com/apache/rocketmq-externals/tree/master/rocketmq-docker
4、flink
공식 사용 도움말:https://hub.docker.com/_/flink
5、canal
공식 사용 도움말:https://github.com/alibaba/canal/wiki
4:docker-compose
설 정 된 docker-compose 및 필수 프로필 이 여기에 포장 되 었 습 니 다:포 장 된 첨부 파일
docker-compose.yml 내용 만 있 으 면 여기 있 습 니 다.
version: '2'
services:
grafana:
container_name: grafana
image: grafana/grafana
ports:
- 3000:3000
user: "472"
depends_on:
- target-mysql
jobmanager:
image: flink:1.7
container_name: flink_jobmanager
expose:
- "6123"
ports:
- "8081:8081"
command: jobmanager
environment:
- JOB_MANAGER_RPC_ADDRESS=jobmanager
depends_on:
- broker
taskmanager:
image: flink:1.7
container_name: flink_taskmanager
expose:
- "6121"
- "6122"
depends_on:
- jobmanager
command: taskmanager
environment:
- JOB_MANAGER_RPC_ADDRESS=jobmanager
depends_on:
- jobmanager
rmq-console:
image: styletang/rocketmq-console-ng
container_name: rmqconsole
ports:
- 8088:8080
environment:
JAVA_OPTS: -Drocketmq.config.namesrvAddr=namesrv:9876
volumes:
- ./rocketmq/console/logs:/root/logs
- ./rocketmq/console/store:/root/store
depends_on:
- namesrv
namesrv:
image: rocketmqinc/rocketmq:4.3.2
container_name: rmqnamesrv
ports:
- 9876:9876
volumes:
- ./rocketmq/namesrv/logs:/root/logs
- ./rocketmq/namesrv/store:/root/store
command: sh mqnamesrv
depends_on:
- canal-server
broker:
image: rocketmqinc/rocketmq:4.3.2
container_name: rmqbroker
ports:
- 10909:10909
- 10911:10911
volumes:
- ./rocketmq/broker/logs:/root/logs
- ./rocketmq/broker/store:/root/store
- ./rocketmq/broker/broker.conf:/opt/rocketmq-4.3.2/conf/broker.conf
command: sh mqbroker -n namesrv:9876 -c /opt/rocketmq-4.3.2/conf/broker.conf
depends_on:
- namesrv
canal-server:
image: canal/canal-server:v1.1.2
container_name: canal-server
ports:
- 11111:11111
depends_on:
- mysql
environment:
- canal.instance.master.address=mysql:3306
- canal.instance.dbUsername=canal
- canal.instance.dbPassword=canal
- canal.mq.topic=test
- canal.instance.filter.regex=artemis.out_order,artemis.out_order_details,artemis.out_order_cancel,wms.t_base_customer,wms.t_pick_order,wms.t_pick_order_detail,wms.t_pick_order_detail_sub,wms.t_pick_wave_detail,wms.t_pick_list,wms.t_pick_task,wms.t_workstation_user_detail,wms.t_workstation
volumes:
- ./canal-server/canal.properties:/home/admin/canal-server/conf/canal.properties
- ./canal-server/logs:/home/admin/canal-server/logs
mysql:
image: mysql:5.7
container_name: mysql
environment:
MYSQL_ROOT_PASSWORD: root
ports:
- 3306:3306
volumes:
- ./mysql/data:/var/lib/mysql
- ./mysql/conf:/etc/mysql/conf.d
- ./mysql/logs:/logs/
target-mysql:
image: mysql:5.7
container_name: target-mysql
environment:
MYSQL_ROOT_PASSWORD: root
ports:
- 3307:3306
volumes:
- ./target-mysql/mysql:/var/lib/mysql
- ./target-mysql/logs:/logs/
1.사용 설명:
2.매개 변수 및 설정 항목 설명
1.docker-compose 템 플 릿 파일 설명,자세 한 내용 은 조회 가능https://docker_practice.gitee.io/compose/compose_file.html ,아래 에서 사용 할 키워드 들
인자 canal.server Mode 는 RocketMQ 모드 로 지정 해 야 합 니 다.
인자 canal.mq.server 는 대응 하 는 rocketmq 의 namesrv 주소 와 포트 를 설정 해 야 합 니 다.
나머지 접 두 사 는 canal.mq 의 매개 변수 설명 을 참고 할 수 있 습 니 다.https://github.com/alibaba/canal/wiki/Canal-Kafka-RocketMQ-QuickStart
3.my.cnf 설정 파일 은 주로 my sql 데이터 베 이 스 를 줄 모드 로 표시 하고 binlog 를 열 었 습 니 다.
4.broker.conf 설정 파일 이 mq 인 borker 설정 은 주로 brokerIP 1 을 호스트 의 ip 로 수정 합 니 다.외부 접근 제공
5.시동 검사
1.첨부 파일 압축 해제 디 렉 터 리 에서 명령 docker-compose 실행 up-d 시작,마지막 으로 아래 화면 이 나타 나 면 용기 생 성 성공
2.용기 생 성 에 성공 한 후,우 리 는 각 용기 가 시작 되 었 는 지 확인 해 야 합 니 다.
데이터베이스:설정 항목 에서 제공 하 는 포트 번호 와 기본 비밀번호 에 따라 연결 테스트 를 진행 합 니 다.
콘 솔 방문http://localhost:8088/#/검사 하 다
fink:콘 솔 방문http://localhost:8081/#/overview검사 하 다
grafana:페이지 방문http://localhost:3000/login검사 하 다
6: 예제 실행
IDEA 에서 main 을 직접 실행 합 니 다.작업 은 이 컴퓨터 flink jobmanager 에 제출 되 지 않 았 습 니 다.
docker cp D:\workspace\odsetl\rocketmq-flink\target\rocketmq-flink-0.0.3-SNAPSHOT.jar 3595de91751 4:/opt/flink/
docker exec -it 3595de917514 flink run -c org.apache.rocketmq.flink.demo.OdsETLJob rocketmq-flink- 0.0.3-SNAPSHOT.jar
그 속 3595de917514 나타내다 flink_jobmanager 의 containerId
7: 문제 해결
win10 docker-compose 오류:ERROR:for mysql Cannot create container for service mysql: b'Drive has not been shared'
해결 방법: Docker->Settings->Shared-Drives 디스크 선택
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Swarm의 도커 비밀이 게시물에서는 Redis를 사용한 실제 시나리오 예제를 제공하여 사용 방법을 보여주고자 합니다. Docker 기술에 대한 기본 지식 Docker Swarm 오케스트레이터에 대한 기본 지식 "Docker Swarm ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.