部署dataxweb
·
部署dataxweb
1. 创建目录结构
mkdir -p datax-web-standalone
cd datax-web-standalone
mkdir -p config logs jobs
2. docker-compose.yml
# datax-web-standalone/docker-compose.yml
version: '3.8'
services:
datax-web:
image: hametan/datax-web:2.1.2
container_name: datax-web
ports:
- "9527:9527"
environment:
- TZ=Asia/Shanghai
- JAVA_OPTS=-Xms512m -Xmx1024m -Dfile.encoding=UTF-8
volumes:
- ./config:/opt/datax-web/config
- ./logs:/opt/datax-web/logs
- ./jobs:/opt/datax-web/jobs
restart: unless-stopped
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9527/actuator/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 60s
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
# 如果需要MySQL数据库支持
mysql:
image: mysql:8.0
container_name: datax-mysql
ports:
- "3306:3306"
environment:
- MYSQL_ROOT_PASSWORD=root123
- MYSQL_DATABASE=datax
- MYSQL_USER=datax
- MYSQL_PASSWORD=datax123
volumes:
- mysql_data:/var/lib/mysql
restart: unless-stopped
command: --default-authentication-plugin=mysql_native_password
volumes:
mysql_data:
3. DataX-Web配置文件
# datax-web-standalone/config/application.yml
server:
port: 9527
servlet:
context-path: /
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://mysql:3306/datax?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
username: datax
password: datax123
hikari:
minimum-idle: 5
maximum-pool-size: 20
auto-commit: true
idle-timeout: 30000
pool-name: DataxHikariCP
max-lifetime: 900000
connection-timeout: 10000
connection-test-query: SELECT 1
# 日志配置
logging:
level:
com.alibaba.datax: DEBUG
com.alibaba.datax.web: DEBUG
pattern:
console: "%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n"
file: "%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n"
# DataX配置
datax:
job:
admin:
addresses: http://datax-web:9527
executor:
appname: datax-executor
port: 9999
logpath: /opt/datax-web/logs
logretentiondays: 7
4. 启动脚本
# datax-web-standalone/start.sh
#!/bin/bash
echo "�� 启动DataX-Web服务..."
# 创建必要的目录
mkdir -p config logs jobs
# 检查端口是否被占用
if lsof -Pi :9527 -sTCP:LISTEN -t >/dev/null ; then
echo "❌ 端口9527已被占用,请检查其他服务"
exit 1
fi
# 启动服务
echo "📦 拉取镜像..."
docker-compose pull
echo "🔧 启动容器..."
docker-compose up -d
# 等待服务启动
echo "⏳ 等待服务启动..."
sleep 30
# 检查服务状态
if docker-compose ps | grep -q "Up"; then
echo "✅ DataX-Web启动成功!"
echo "🌐 访问地址: http://localhost:9527"
echo "👤 默认用户名: admin"
echo "🔑 默认密码: 123456"
else
echo "❌ DataX-Web启动失败,请查看日志:"
docker-compose logs datax-web
fi
5. 停止脚本
# datax-web-standalone/stop.sh
#!/bin/bash
echo "�� 停止DataX-Web服务..."
docker-compose down
echo "✅ DataX-Web已停止"
6. 查看日志脚本
# datax-web-standalone/logs.sh
#!/bin/bash
echo "📋 查看DataX-Web日志..."
docker-compose logs -f datax-web
🔧 常见问题排查
1. 检查容器状态
# 查看容器状态
docker-compose ps
# 查看详细日志
docker-compose logs datax-web
# 进入容器调试
docker exec -it datax-web bash
2. 检查端口占用
# 检查9527端口
netstat -tlnp | grep 9527
# 或者
lsof -i :9527
3. 检查镜像是否存在
# 拉取镜像
docker pull hametan/datax-web:2.1.2
# 查看镜像
docker images | grep datax
快速启动
# 1. 创建目录
mkdir -p datax-web-standalone
cd datax-web-standalone
# 2. 创建配置文件
# 复制上面的docker-compose.yml和application.yml
# 3. 启动服务
chmod +x start.sh
./start.sh
# 4. 访问服务
# 浏览器打开: http://localhost:9527
⚠️ 可能的问题和解决方案
- 端口冲突: 确保9527端口未被占用
- 内存不足: 确保有足够内存(至少1GB)
- 镜像拉取失败: 检查网络连接,可能需要配置镜像源
- 数据库连接失败: 确保MySQL服务正常启动
这个单独的配置应该能解决你的DataX-Web启动问题!
更多推荐

所有评论(0)