• 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 内,并重启对应的服务即可,正常启动服务!

    重启服务即可解决。

  • 相关阅读:
    一个关于wait/notify与锁关系的探究
    MyBatis获取参数值的两种方式#{}和${} 以及 获取参数值的各种情况
    第八章 排序 七、堆排序
    几个年薪百万的码农下属
    2022前端学习笔记
    clang+llvm多进程gdb调试
    jenkins打开html不显示样式问题(包含mac安装启动jenkins)
    设计模式6——工厂方法模式实践
    使用 Go 写入文件
    [免费专栏] Android安全之Android应用的汉化功能(修改so中的字符串内容)
  • 原文地址:https://blog.csdn.net/doinbb/article/details/126231207