NSQ安装说明
使用docker-compose运行
如果使用docker-compose
的方式运行nsq
,首先要保证Consumer
要与nsq服务在一个docker网络环境中。
如果不能保证在一个网络环境中,则需要从源代码安装。
如果要存储nsq
的消息,需要在启动nsqd
的时候加上--data-path=/data
命令,并在docker
配置文件中将/data
使用-v
或--volume
命令挂载到本地。
使用docker-compose up -d
后台运行。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| version: '3'
services: nsqlookupd: image: nsqio/nsq networks: - nsq-network hostname: nsqlookupd ports: - "4161:4161" - "4160:4160" command: /nsqlookupd nsqd: image: nsqio/nsq depends_on: - nsqlookupd hostname: nsqd volumes: - ./data:/data networks: - nsq-network ports: - "4151:4151" - "4150:4150" command: /nsqd --broadcast-address=nsqd --lookupd-tcp-address=nsqlookupd:4160 --data-path=/data nsqadmin: image: nsqio/nsq depends_on: - nsqlookupd hostname: nsqadmin ports: - "4171:4171" networks: - nsq-network command: /nsqadmin --lookupd-http-address=nsqlookupd:4161
networks: nsq-network: driver: bridge
|
运行的独立的docker
- 从dokcer hub拉取最新的镜像
docker pull nsqio/nsq
- 运行
nsqlookupd
1
| docker run --name lookupd -p 4160:4160 -p 4161:4161 nsqio/nsq /nsqlookupd
|
- 运行
nsqd
,需要手动挂载volume
1 2 3 4 5
| docker run -v ./data:/data --name nsqd -p 4150:4150 -p 4151:4151 \ nsqio/nsq /nsqd \ --broadcast-address=127.0.0.1 \ --lookupd-tcp-address=127.0.0.1:4160 \ --data-path=/data
|
- 运行
nsqadmin
1 2 3
| docker run --name nsqadmin -p 4171:4171 \ nsqio/nsq /nsqadmin \ --lookupd-http-address=127.0.0.1:4161
|
从源代码安装
1 2 3 4
| git clone https://github.com/nsqio/nsq $GOPATH/src/github.com/nsqio/nsq cd $GOPATH/src/github.com/nsqio/nsq dep ensure go install
|
启动nsqlookupd
启动nsq
1
| nsqd –lookupd-tcp-address=127.0.0.1:4160 --broadcast-address=127.0.0.1 --data-path=/data
|
启动nsqadmin
1
| nsqadmin --lookupd-http-address=127.0.0.1:4161
|