2021-09-13T15:41:15: PM2 log: App [kafka:1] starting in -cluster mode- 2021-09-13T15:41:15: PM2 log: App name:kafka id:2 disconnected 2021-09-13T15:41:15: PM2 log: App [kafka:2] exited with code [0] via signal [SIGINT] 2021-09-13T15:41:15: PM2 log: App [kafka:2] starting in -cluster mode- 2021-09-13T15:41:15: PM2 log: App [kafka:1] online 2021-09-13T15:41:15: PM2 log: App [kafka:2] online /bin/bash:1 ELF ^ SyntaxError: Invalid or unexpected token
Docker中启动使用 CMD["pm2-runtime","process.json"].
配置文件大概长这个样子
{
"apps" : [
{
"name": "kafka",
"script": "node main.js --NODE_ENV=test",
"log_date_format" : "YYYY-MM-DD HH:mm:ss",
"log_file" : "/home/logs/log.log",
"error_file" : "/home/logs/err.log",
"out_file" : "/home/logs/out.log",
"instances": 3,
"exec_mode": "cluster"
}
]
}
在Docker中启动三个Kafka实例。但是一直报错。原因在 配置文件中的『exec_mode』。删除即可。Docker中切记使用 进程阻塞 前台模式运行,一定不要后台,否则会频繁启动导致报错。
网上某些文章是错误的:比如:PM2配置文件的使用 - 灰锅 - 博客园 。这里面说 『instnces』参数只在cluster模式下生效是错误的。instances 在fork模式下也是生效的。