• docker-compose一键安装rocketmq、zk、redis服务


    一、编辑docker-compose脚本

    在安装目录创建 docker-compose.yml 文件,贴入如下脚本。

    1. services:
    2. namesrv:
    3. image: apacherocketmq/rocketmq:4.6.0
    4. container_name: rmqnamesrv
    5. ports:
    6. - 9876:9876
    7. volumes:
    8. - /Users/hdfs/local_env/docker/rockmq/namesrv/logs:/home/rocketmq/logs
    9. command: sh mqnamesrv
    10. broker:
    11. image: apacherocketmq/rocketmq:4.6.0
    12. container_name: rmqbroker
    13. ports:
    14. - 10909:10909
    15. - 10911:10911
    16. - 10912:10912
    17. volumes:
    18. - /Users/hdfs/local_env/docker/rockmq/broker/logs:/home/rocketmq/logs
    19. - /Users/hdfs/local_env/docker/rockmq/broker/store:/home/rocketmq/store
    20. - /Users/hdfs/local_env/docker/rockmq/broker/conf/broker.conf:/home/rocketmq/rocketmq-4.6.0/conf/broker.conf
    21. environment:
    22. NAMESRV_ADDR: "namesrv:9876"
    23. JAVA_OPTS: " -Duser.home=/opt"
    24. JAVA_OPT_EXT: "-server -Xms128m -Xmx128m -Xmn128m"
    25. command: sh mqbroker -n namesrv:9876 -c ../conf/broker.conf
    26. depends_on:
    27. - namesrv
    28. rmqconsole:
    29. image: styletang/rocketmq-console-ng
    30. container_name: rmqconsole
    31. ports:
    32. - 18080:8080
    33. environment:
    34. JAVA_OPTS: "-Drocketmq.namesrv.addr=namesrv:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false"
    35. depends_on:
    36. - namesrv
    37. # zk服务
    38. zk_server:
    39. image: zookeeper:3.4.9
    40. container_name: zk_server
    41. hostname: zk_host
    42. ports:
    43. - 2181:2181
    44. # redis服务
    45. myredis:
    46. container_name: myredis
    47. image: redis:4.0
    48. ports:
    49. - 6379:6379
    50. privileged: true
    51. command: redis-server /etc/redis/redis.conf --appendonly yes
    52. volumes:
    53. - /Users/hdfs/local_env/docker/redis/data:/data
    54. - /Users/hdfs/local_env/docker/redis/conf/redis.conf:/etc/redis/redis.conf

    二 创建对应文件目录

    按照你的安装目录

    创建 rockmq/namesrv/logs 目录(空目录),比如目录:

    /Users/hdfs/local_env/docker/rockmq/namesrv/logs

    创建 rockmq/broker/logs 目录(空目录)、

    创建rockmq/broker/store目录(空目录)、

    创建rockmq/broker/conf目录、

    其配置文件broker.conf内容如下:

    brokerClusterName = DefaultCluster
    brokerName = broker-a
    brokerId = 0
    deleteWhen = 04
    fileReservedTime = 48
    brokerRole = ASYNC_MASTER
    flushDiskType = ASYNC_FLUSH
    brokerIP1=192.xx.xx.xx (填写自己的IP地址)

    创建redis/data目录(空目录)、

    创建redis/conf目录、

    其配置文件redis.conf内容如下:

    # 开启保护
    protected-mode yes
    # 开启远程连接 
    # bind 127.0.0.1 
    requirepass (你的redis密码 )
    port 6379
    timeout 0
    # 900s内至少一次写操作则执行bgsave进行RDB持久化
    save 900 1 
    save 300 10
    save 60 10000
    rdbcompression yes
    dbfilename dump.rdb
    dir /data
    appendonly yes
    appendfsync everysec

    最后、启动脚本

    docker-compose up -d --build

    Zookeeper在mac中使用时,dubbo注册非常慢的问题解决、

    这个时候可以排查自己的hostname 是否配置了本地域名,

    使用 vim /etc/hosts 查看,我自己的 hostname 如:

    可得知hostname是:MacBook-Pro.local

     因此配置到对应的 /etc/hosts 内,并重启对应的服务即可,正常启动服务!

    重启服务即可解决。

  • 相关阅读:
    Xrdp+Cpolar实现远程访问Linux Kali桌面
    【EI会议征稿】第三届机械自动化与电子信息工程国际学术会议(MAEIE 2023)
    线程池相关总结
    Java工程师的就业前景?薪资水平?
    算法设计与分析 SCAU11079 可以移动的石子合并(优先做)
    AMD锐龙R5600G&VEGA7 GPU环境搭建
    .NET 控制台NLog 使用
    【PAT甲级 - C++题解】1144 The Missing Number
    如何设计秒杀系统?双11秒杀架构详解(5大方案)
    图像处理黑科技—破解文档识别难题(PS检测、弯曲拉平、切边切片、摩尔纹)
  • 原文地址:https://blog.csdn.net/doinbb/article/details/126231207