MongoDB 通过 monstache 同步数据到 elasticsearch
使用monstache实现MongoDB数据同步到elasticsearch
docker 安装 MongoDB
- 拉取MongoDB容器
docker pull mongo
- 在mongodb包下新建config、data、logs文件夹
# 创建文件夹
mkdir -p /home/docker/mongodb/config /home/docker/mongodb/data /home/docker/mongodb/logs
# 防止报错,赋予权限
chmod 777 /home/docker/mongodb/config
chmod 777 /home/docker/mongodb/data
chmod 777 /home/docker/mongodb/logs
- 在config包下新建mongod.conf文件
# mongod.conf
# 启动MongoDB服务的端口号
net:
port: 27017
bindIp: 0.0.0.0 # 允许从所有IP地址访问
# 存储配置
storage:
dbPath: /data/db # 数据存储路径
# 系统日志配置
systemLog:
destination: file
path: /var/log/mongodb/mongod.log # 日志文件路径
logAppend: true # 日志追加写入
# 进程管理
processManagement:
fork: false # 使用Docker,不需要后台运行
# 副本集配置
replication:
replSetName: "rs0" # 副本集名称
# 安全配置
security:
authorization: enabled # 启用授权
keyFile: /etc/keyfile # keyFile文件路径
- 在config包下新建keyfile文件,并改变权限
# 随机生成秘钥
openssl rand -base64 756 > /home/docker/mongodb/config/keyfile
# 权限只能设置成400
chmod 400 /home/docker/mongodb/config/keyfile
- docker启动MongoDB命令
docker run -dit --name mongodb -p 27017:27017 -v /home/docker/mongodb/config/mongod.conf:/etc/mongod.conf -v /home/docker/mongodb/config/keyfile:/etc/keyfile:ro -v /home/docker/mongodb/data:/data/db -v /home/docker/mongodb/logs:/var/log/mongodb -e MONGO_INITDB_ROOT_USERNAME=admin -e