小白linux centos安装配置nsq全过程

首次在linux上安装nsq遇到了好多坑,记录下来方便查看

一、安装nsq:全程安装官方文档来:http://nsq.io/deployment/installing.html

1、官方文档里有最新的nsq安装包地址,获取到地址后在linux上下载,如:wget https://s3.amazonaws.com/bitly-downloads/nsq/nsq-0.3.8.linux-amd64.go1.6.2.tar.gz

2、官方文档介绍要想安装nsq需要先安装:1.4以上版本的golong和gpm

    (version 1.4+ is required) (dependency manager)
     2.1、golong安装: 2.1、golong安装:
             2.1.1、先从http://golangtc.com/download里获取go的最新安装包地址,然后在linux上进行下载,如:wget http://golangtc.com/static/go/1.7.3/go1.7.3.linux-amd64.tar.gz 2.1.1、先从http://golangtc.com/download里获取go的最新安装包地址,然后在linux上进行下载,如:wget http://golangtc.com/static/go/1.7.3/go1.7.3.linux-amd64.tar.gz
             2.1.2、解压缩后安装: 2.1.2、解压缩后安装:
                         解压:tar zxvf go1.5beta1.-amd64.tar.gz

移动到自定义的目录:mv go /usr/local(可选,主要是方便维护)

2.1.3、go环境变量配置 打开环境变量配置文件:sudo vim /etc/profile

解压:tar zxvf go1.5beta1.-amd64.tar.gz 移动到自定义的目录:mv go /usr/local(可选,主要是方便维护) 2.1.3、go环境变量配置 打开环境变量配置文件:sudo vim /etc/profile
然后在文件的最后追加以下配置: export GOROOT=/usr/local/go export GOPATH=$GOROOT/bin export PATH=$PATH:$GOPATH 配置好环境变量后再让它马上生效 source /etc/profile 2.1.4、检查go是否安装成功:go version 若打印出了版本号则说明go安装成功

2.2、gpm安装:在linux使用yum直接安装即可:yum install gpm 安装中间可能会让确认,直接输入y即可

3、官方文档介绍编译nsq方法:

gpm install go get github.com/nsqio/nsq/...

到此nsq已成功安装

二、测试:全程依然参考官方文档:http://nsq.io/overview/quick_start.html

1、 打开一个终端,启动nsqlookupd:nsqlookupd

2、再打开一个终端,启动nsq:nsqd –lookupd-tcp-address=127.0.0.1:4160

这种方式broadcast_address使用的是hostname,可能会出现一下错误: ERR 1 [test/nsq_to_file] (ALYBJ211-180:4150) error connecting to nsqd - dial tcp: lookup ALYBJ211-180: no such host

解决此问题需要在启动nsqlookupd和nsqd时设置tcp、http、broadcast的ip

启动nsqlookupd:

nsqlookupd -tcp-address=127.0.0.1:4160 -http-address=127.0.0.1:4161 -broadcast-address="127.0.0.1"

启动nsqd:

nsqd -broadcast-address="127.0.0.1" -http-address="127.0.0.1:4151" --lookupd-tcp-address=127.0.0.1:4160 -tcp-address="127.0.0.1:4150" 3、再打开一个终端,启动nsqadmin nsqadmin –lookupd-http-address=127.0.0.1:4161 4、创建一个topic并且发布一条消息,由于nsq支持http协议发布消息,我们可以直接使用curl命令。 curl -d ‘hello world 1’ ‘http://127.0.0.1:4151/put?topic=test’ 5、再开一个终端来处理消息数据流,将消息写入/tmp文件加下的日志文件,文件名默认由主题topic+主机+日期时间戳组成。 nsq_to_file –topic=test –output-dir=/tmp –lookupd-http-address=127.0.0.1:4161

output-dir是自定义的nsq log的存放文件夹地址, 6、我们再发布两条消息,看看日志文件中的变化。 curl -d ‘hello world 2’ ‘http://127.0.0.1:4151/put?topic=test’ curl -d ‘hello world 3’ ‘http://127.0.0.1:4151/put?topic=test’

cd /tmp 进入到日志文件夹下打开日志文件查看,会发现消息写进到了里面

7、浏览器查看结果:

此处为自己linux机器的ip地址

经验分享 程序员 微信小程序 职场和发展