Docker
1、安装
卸载:sudo yum remove docker \ docker-client \ docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \ocker-engine
安装:yum install -y docker
查看是否安装成功:yum list installed |grep docker
启动docker服务:systemctl start docker.service
systemctl enable docker.service
查看docker状态:systemctl status docker
配置docker国内镜像:
在宿主机器编辑文件:vim /etc/docker/daemon.json
请在该配置文件中加入(没有该文件的话,请先建一个):
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}
重启docker服务:systemctl restart docker.service
2、docker安装redis
拉取redis镜像:docker pull redis
查看本地镜像:docker images
运行容器:docker run -itd --name redis-test -p 6379:6379 redis
查看运行情况:docker ps
连接测试使用redis服务:docker exec -it redis-test /bin/bash
退出:exit
3、docker安装jdk
拉取centos镜像:docker pull centos #版本号可以自己加,默认拉取最新的
查看本地镜像:docker images
创建容器:
容器是基于镜像创建的,执行镜像生成容器,方可进入容器
启动容器命令: docker run <相关参数> <镜像 ID> <初始命令>
docker run -i -t -v /opt/software/:/mnt/software/ 5d0da3dc9764 /bin/bash
参数解析
-i:表示以“交互模式”运行容器
-t:表示容器启动后会进入其命令行
-v:表示需要将本地哪个目录挂载到容器中,格式:-v <宿主机目录>:<容器目录>
/bin/bash:一旦容器启动,需要执行的命令,当前使用 "/bin/bash", 表示启动后直接进bash shell
/root/software是宿主机器(Linux)上创建的一个文件夹;
/mnt/software是centos的容器里面的目录文件
这里挂载的意思就是 9f38484d220f 创建的容器访问 /mnt/software/ 目录下的文件就相当于访问 宿主机的 /root/software/下的文件,且两者文件夹里内容相同
启动容器和进入容器:
docker start [容器ID]:启动容器
docker exec -it [容器ID] /bin/bash : 进入容器
这里还是以 docker run -i -t -v /root/software/:/mnt/software/ 9f38484d220f /bin/bash 命令进入容器
进入容器后的查看命令:
docker ps : 查看当前运行的容器信息(上面的退出方式就会默认关闭容器)
docker ps -a : 查看关闭的容器
进入centos容器中的、mnt/software文件夹
docker run -i -t -v /root/software/:/mnt/software/ 9f38484d220f /bin/bash 进入容器
cd /mnt/software 进入/mnt/software
解压:tar -zxvf jdk-8u211-linux-x64.tar.gz
设置profile:
vi /etc/profile
4、停止和删除容器
docker stop 容器id 停止容器
docker rm 容器id 删除容器
docker rmi -f 镜像id 删除镜像
docker run -it 容器image /bin/bash 启动容器
5、docker安装datart
1、docker run -p 8080:8080 datart/datart
2、配置外部数据库:
在宿主机上创建datart.conf配置文件
vim /opt/software/datart/datart.conf
# 数据库连接配置
datasource.ip=hadoop101
datasource.port=3306
datasource.database=datart
datasource.username=root
datasource.password=123456
# server
server.port=8080
server.address=0.0.0.0
# datart config
datart.address=http://127.0.0.1
datart.send-mail=false
datart.webdriver-path=http://127.0.0.1:4444/wd/hub
启动:
docker run --name datart -v /opt/software/datart/datart.conf:/datart/config/datart.conf -v /opt/software/datart/files:/datart/files -p 8080:8080 datart/datart
6、获取容器IP地址
docker inspect -f '{{.Name}} - {{.NetworkSettings.IPAddress }}' $(docker ps -aq)
7、查看容器日志
docker logs --since 30m 容器ID
8、安装mysql
1、docker pull mysql:8.0.26
2、创建挂载文件:mkdir -p mysql && cd $_ && mkdir {conf,data}
3、创建配置文件:vim my.cnf
# 在mysqld 中配置binlog,并设置为ROW模式,设置server_id。必须配置server_id以及binlog格式为Row
[mysqld]
server_id=1
log-bin=master
binlog_format=row
4、创建容器:
docker run -d --name mysql -p 3306:3306 -v /opt/software/mysql/conf/my.cnf:/etc/mysql/my.cnf -v /opt/software/mysql/data:/var/lib/mysql -v /opt/software/mysql/mysql-files:/var/lib/mysql-files -e MYSQL_ROOT_PASSWORD=123456 mysql:8.0.26
9、容器的重启策略
Docker容器的重启策略如下:
no,默认策略,在容器退出时不重启容器
on-failure,在容器非正常退出时(退出状态非0),才会重启容器
on-failure:3,在容器非正常退出时重启容器,最多重启3次
always,在容器退出时总是重启容器
unless-stopped,在容器退出时总是重启容器,但是不考虑在Docker守护进程启动时就已经停止了的容器
10、容器安装datax
tar -czvf test.tar.gz a.c //压缩文件,把源文件a.c 压缩为 test.tar.gz
11、安装docker-compose后安装cloudcanal
curl -L https://get.daocloud.io/docker/compose/releases/download/1.28.5/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
验证:进入cloudcanal文件夹内部执行:docker-compose,否则找不到:Supported filenames: docker-compose.yml, docker-compose.yaml
解压cloudcanal.7z
7z x cloudcanal.7z
启动 sh startup.sh
其他:
使用教程(必读)
为了方便您一开始快速体验 CloudCanal ,我们已自动帮您做好了一些初始化的工作
请务必使用提供的默认账号登入,方便您快速体验
用户名:test@clougence.com
密码:clougence2021
默认添加的测试 MySQL 数据库
cloudcanal_test_a(源端)和cloudcanal_test_b(目标端)这两个库中已准备用于测试的表和数据
默认已添加了一台运行机器,用于执行具体的数据同步任务
如遇到需要发送短信的场景,先点击获取验证码,然后输入短信验证码 777777 即可
FAQ
我怎么访问 CloudCanal 元数据库?
在 docker 宿主机上执行执行命令 mysql -uclougence -h127.0.0.1 -P25000 -p123456 登录
CloudCanal 元数据库名称为 cloudcana_console
我怎么查看相关日志?
CloudCanal docker 版的日志路径在压缩包解压路径下。
console日志: ${安装包解压路径}/console_data/logs/cloudcanal/console/console.log
sidecar日志: ${安装包解压路径}/sidecar_data/logs/cloudcanal/sidecar/sidecar.log
tasks日志: ${安装包解压路径}/sidecar_data/logs/cloudcanal/tasks/xxx.log
使用教程(必读)
为了方便您一开始快速体验 CloudCanal ,我们已自动帮您做好了一些初始化的工作
请务必使用提供的默认账号登入,方便您快速体验
用户名:test@clougence.com
密码:clougence2021
默认添加的测试 MySQL 数据库
cloudcanal_test_a(源端)和cloudcanal_test_b(目标端)这两个库中已准备用于测试的表和数据
默认已添加了一台运行机器,用于执行具体的数据同步任务
如遇到需要发送短信的场景,先点击获取验证码,然后输入短信验证码 777777 即可
FAQ
我怎么访问 CloudCanal 元数据库?
在 docker 宿主机上执行执行命令 mysql -uclougence -h127.0.0.1 -P25000 -p123456 登录
CloudCanal 元数据库名称为 cloudcana_console
我怎么查看相关日志?
CloudCanal docker 版的日志路径在压缩包解压路径下。
console日志: ${安装包解压路径}/console_data/logs/cloudcanal/console/console.log
sidecar日志: ${安装包解压路径}/sidecar_data/logs/cloudcanal/sidecar/sidecar.log
tasks日志: ${安装包解压路径}/sidecar_data/logs/cloudcanal/tasks/xxx.log
CloudCanal 管控MySQL访问:mysql -uclougence -P25000 -p123456
cloudcanal.auth.ak=ak7kl8w3mbo0e370vvin941f0iy2xl4084i87955221xr50cr468ge353h9h441
cloudcanal.auth.sk=sk044nl650z1d4fgta0l5p5tad3ag91flp3w8954093pd411o48h9p2z1f23gmq
cloudcanal.sidecar.wsn=wsnm7s2761r1zh1jcgj4b9v0uxn0lw773k2hj571z4xz09zi7qd11rmi6w9z9dfv
cloudcanal.console.domain=39.107.208.255
cloudcanal.auth.ak=akg808lcbc7von4m1sel88e3d35ki315gm6lju2z5lx48zq6k10r700zqtn894i
cloudcanal.auth.sk=sk32ef5y2bn56l24ou418hty2dvyf8hw5s183ua707nqk221t657t0t4y22k0f1
cloudcanal.sidecar.wsn=wsna108413iz5k8ox8r2xopfn9o8u4irnd596rer1yq2314ek4h43grp4se33l11
cloudcanal.console.domain=8.130.12.163
yum list telnet* 列出telnet相关的安装包
yum install telnet-server 安装telnet服务
yum install telnet.* 安装telnet客户端
telnet 39.107.208.255 7007
## 查看容器id
docker ps | grep cloudcanal-sidecar
## 进入容器
docker exec -it ${CONTAINER_ID} /bin/bash
## 修改配置文件
vi /home/clougence/cloudcanal/global_conf/conf.properties
将控制台**机器唯一识别配置信息**完整复制到配置文件中,替换已存在的内容
替换 cloudcanal.console.domain 的值为 console 容器所在宿主机 ip
docker exec -it ${CONTAINER_ID} /bin/bash
telnet ${console容器所在宿主机ip} 7007
chown -R clougence.clougence cloudcanal
## 切换为clougence用户
su - clougence
## 启动sidecar
sh /home/clougence/cloudcanal/sidecar/bin/startSidecar.sh
## 查看日志,确认是否有异常。如果都为INFO或者WARN日志就是正常的
tail -f /home/clougence/logs/cloudcanal/sidecar/sidecar.log
12、系统默认的ulimit对文件打开数量的限制是1024
# vim /etc/security/limits.conf //加入以下配置,重启即可生效
* hard nofile 102400
* soft nofile 102400
13、安装7z
查看linux版本:
lsb_release -a
# 安装7z命令(centos系)
yum -y install epel-release
sudo yum install p7zip p7zip-plugins
14、硬盘扩容
https://help.aliyun.com/document_detail/113316.html?spm=5176.smartservice_service_robot_chat_new.help.dexternal.72823cdaJn3geC
15、安装dolphinscheduler
1、下载安装包:https://dolphinscheduler.apache.org/zh-cn/download/download.html
2、上传解压:tar -zxvf apache-dolphinscheduler-"${DOLPHINSCHEDULER_VERSION}"-src.tar.gz
3、进入安装目录:cd apache-dolphinscheduler-"${DOLPHINSCHEDULER_VERSION}"-src/deploy/docker
4、初始化数据库结构:docker-compose --profile schema up -d
5、启动服务:docker-compose --profile all up -d
说明:通过 docker-compose 启动服务时,除了会启动 DolphinScheduler 对应的服务外,还会启动必要依赖服务,如数据库 PostgreSQL(用户 root, 密码 root, 数据库 dolphinscheduler) 和 服务发现 ZooKeeper。
6、登录:http://宿主机ip:12345/dolphinscheduler/ui admin / dolphinscheduler123
7、挂载配置文件目录:
进入api容器内查看conf目录docker exec -it b7eab73d37a8 /bin/bash pwd /opt/dolphinscheduler/conf
停止api容器:docker stop b7eab73d37a8;
挂载文件:docker start -v /opt/module/dolphinscheduler/dolphinscheduler/conf:/opt/dolphinscheduler/conf b7eab73d37a8