Docker部署RocketMQ
init.sh
BROKER_IP=
docker pull rocketmqinc/rocketmq
docker pull pangliang/rocketmq-console-ng
mkdir -p /home/PERSONAL_PROJECT/SpringCloud/rocketmq/namesrv/logs /home/PERSONAL_PROJECT/SpringCloud/rocketmq/namesrv/store
mkdir -p /home/PERSONAL_PROJECT/SpringCloud/rocketmq/broker/logs /home/PERSONAL_PROJECT/SpringCloud/rocketmq/broker/store ./conf
cat <<EOF > ./conf/broker.conf
# 所属集群名称,如果节点较多可以配置多个
brokerClusterName = DefaultCluster
#broker名称,master和slave使用相同的名称,表明他们的主从关系
brokerName = broker-a
#0表示Master,大于0表示不同的slave
brokerId = 0
#表示几点做消息删除动作,默认是凌晨4点
deleteWhen = 04
#在磁盘上保留消息的时长,单位是小时
fileReservedTime = 48
#有三个值:SYNC_MASTER,ASYNC_MASTER,SLAVE;同步和异步表示Master和Slave之间同步数据的机制;
brokerRole = ASYNC_MASTER
#刷盘策略,取值为:ASYNC_FLUSH,SYNC_FLUSH表示同步刷盘和异步刷盘;SYNC_FLUSH消息写入磁盘后才返回成功状态,ASYNC_FLUSH不需要;
flushDiskType = ASYNC_FLUSH
# 设置broker节点所在服务器的ip地址
brokerIP1 = ${BROKER_IP}
# 磁盘使用达到95%之后,生产者再写入消息会报错 CODE: 14 DESC: service not available now, maybe disk full
diskMaxUsedSpaceRatio=95
EOF
docker run -d \
--restart=always \
--name rmqnamesrv \
-p 9876:9876 \
-v /home/PERSONAL_PROJECT/SpringCloud/rocketmq/namesrv/logs:/root/logs \
-v /home/PERSONAL_PROJECT/SpringCloud/rocketmq/namesrv/store:/root/store \
-e "MAX_POSSIBLE_HEAP=100000000" \
rocketmqinc/rocketmq \
sh mqnamesrv
docker run -d \
--restart=always \
--name rmqbroker \
--link rmqnamesrv:namesrv \
-p 10911:10911 \
-p 10909:10909 \
-v /home/PERSONAL_PROJECT/SpringCloud/rocketmq/broker/logs:/root/logs \
-v /home/PERSONAL_PROJECT/SpringCloud/rocketmq/broker/store:/root/store \
-v /home/PERSONAL_PROJECT/SpringCloud/rocketmq/conf/broker.conf:/opt/rocketmq-4.4.0/conf/broker.conf \
-e "NAMESRV_ADDR=${BROKER_IP}:9876" \
-e "MAX_POSSIBLE_HEAP=200000000" \
rocketmqinc/rocketmq \
sh mqbroker -c /opt/rocketmq-4.4.0/conf/broker.conf
docker run -d \
--restart=always \
--name rmqadmin \
-e "JAVA_OPTS=-Drocketmq.namesrv.addr=${BROKER_IP}:9876 \
-Dcom.rocketmq.sendMessageWithVIPChannel=false" \
-p 9999:8080 \
pangliang/rocketmq-console-ng
集成spring boot
https://blog.csdn.net/qq_42697946/article/details/127654201
PostgreSQL安装
https://blog.csdn.net/qq_39980539/article/details/122835502
https://blog.csdn.net/jiahao1186/article/details/130750543
prometheus
docker部署
prometheus.yml 配置了redis监控,需要修改里面的IP
# my global config
global:
scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
# scrape_timeout is set to the global default (10s).
# Alertmanager configuration
alerting:
alertmanagers:
- static_configs:
- targets:
# - alertmanager:9093
# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
# - "first_rules.yml"
# - "second_rules.yml"
# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
- job_name: "prometheus"
# metrics_path defaults to '/metrics'
# scheme defaults to 'http'.
static_configs:
- targets: ["localhost:9090"]
- job_name: 'redis_node1'
static_configs:
- targets: ['IP:9121']
docker拉取镜像及启动命令
CONFIG_PATH=/home/dreambyday/soft/docker/prometheus
docker pull prom/prometheus
docker rm -f prometheus
docker run -d -p 9090:9090 -v $CONFIG_PATH/prometheus.yml:/etc/prometheus/prometheus.yml --name prometheus prom/prometheus
Grafana
docker部署
创建prometheus数据源
注意docker部署的不能写localhost,要写具体IP
验证通过即可部署
创建表盘模板(填写763),并选择刚才的数据源
查看刚才建立的仪表盘
MongoDB
mkdir -p /home/dreambyday/soft/database/MongoDB/
cd /home/dreambyday/soft/database/MongoDB/
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-6.0.10.tgz
mkdir data
mkdir logs
# 解压到mongodb目录
tar -xvf mongodb-linux-x86_64-rhel70-6.0.10.tgz
mongodb.conf
# 数据库路径
dbpath=/home/dreambyday/soft/database/MongoDB/data
# 日志路径
logpath=/home/dreambyday/soft/database/MongoDB/logs/mongodb.log
# 日志追加
logappend=true
port=27017
bind_ip=0.0.0.0
# 守护进程运行
# fork=true
restart.sh
mongod --shutdown -f ./mongodb.conf
nohup mongod -f ./mongodb.conf &
/etc/profile