Macaca 一步步布署 Reliable 系列之-Master (非 Docker)

Sencho Kong · November 21, 2016 · Last by Sencho Kong replied at March 21, 2017 · 1370 hits

Ubuntu 16.04 LTS布署Reliable-Master(非Docker)

由于Master使用Docker布署,更新版本时十分不方便,所以有了这个实践,下面分步为什么大家分享布署过程。这里需要有少少的Linux基础知识,要会用vi等工具。

Step.1 安装Git

sudo apt-get install git-core

Step.2 安装node 4.6.2

选择安装4.6.2稳定版,选择这个版本是有原因的,因为6.9.1对zeromq支持不太好,调用时报错,建议使用这个版本

可以参考链接安装 nvm 进行安装

以下操作是创建一个目录,把nvm代码check out下来,执行 ./install.sh 进行安装

mkdir nodejs
cd nodejs/
git clone https://github.com/creationix/nvm.git
cd nvm/
./install.sh

安装完成后注意提示,把环境变量添加进.bashrc,如果使用了zsh的就添加到.zshrc

=> Appending source string to /home/docker/.bashrc
=> Close and reopen your terminal to start using nvm or run the following to use it now:

就是添加这一行,vi你的.bashrc或.zshrc

export NVM\_DIR="\/home\/docker\/.nvm"
\[ -s "$NVM\_DIR\/nvm.sh" \] && . "$NVM\_DIR\/nvm.sh" \# This loads nvm

安装nvm成功后就可以安装node

nvm install v4.6.2

Step.3 安装zoremq

安装可以参考官网安装教程,官网英文说明可能不是太清晰,这里给出安装步骤说明。

zeromq官网安装教程

安装依赖

sudo apt-get install libtool  pkg-config build-essential  autoconf  automake

下载源码

git clone https://github.com/zeromq/libzmq

进入目录后依次执行

./autogen.sh
./configure
make -j 4
make check

退出一层目录,再给libzmq目录权限

chmod -R 777 libzmq/

再进入libzmq目录进行安装

sudo make install 

最后记得给ldconfig权限

sudo ldconfig

Step.4 Reliable-Master

找个目录把代码下载下来

git clone https://github.com/reliablejs/reliable-master.git

进入目录后安装模块

npm i

由于公司的网张封了taobao的域名,所以这里要修改一下npm源,如果有同学公司也封了这个域名的要注意,要么一直报错安装不成功。

修改淘宝源

vi Makefile

找到这一行修改,把--registry=https://registry.npm.taobao.org这句删去

install:@npm install --registry=https://registry.npm.taobao.org

修改为:

@npm install

修改之后

make build

如果成功会看到以下webpack打包的信息

 All packages installed (use 56ms, speed 0B/s, json 0(0B), tarball 0B)
Hash: 217303218486bb33071f
Version: webpack 1.13.2
Time: 4064ms
Asset Size Chunks Chunk Names
auth.js 3.78 kB 0 [emitted] auth
dashboard.js 1.14 MB 1 [emitted] dashboard
history.js 1.14 MB 2 [emitted] history
home.js 1.14 MB 3 [emitted] home
index.js 2.42 kB 4 [emitted] index
login.js 3.34 kB 5 [emitted] login
password.js 4.49 kB 6 [emitted] password
signup.js 3.99 kB 7 [emitted] signup
task.js 1.14 MB 8 [emitted] task
user.js 1.4 kB 9 [emitted] user
+ 191 hidden modules

Step.6 安装MongoDB

官方安装教程

中文参考教程

安装完后执行mongo会有一个蛋痛的报错,折腾了好久。

Failed global initialization: BadValue: Invalid or no user locale set. Please ensure LANG and/or LC_* environment variables are set correctly.

不知道是不是只有16.0.4才会有的,处理方法是添加如下环境变量到\/etc\/profile

sudo vi /ect/profile

添加
export LC_ALL=C

使设置生效

source /ect/profile

重启一下服务

sudo service mongod stop
sudo service mongod start

现执行mongo,应该成功进入交互模式,表示已经成功安装.

Step.7 安装Redis

这里没什么好讲,安装都很顺利,直接参考网上的教程

参考安装教程

Step.8 启动Master

进入你master的目录,我的是reliable-master,进入后执行以下命令完成启动

./bin/reliable-master server -p 8080 --verbose

8080端口随你喜欢改,然后浏览器输入你的服务地址与端口号,done!

数据迁移

由于之前也使用docker布署了MongoDB,所以需要把数据导到新的db里,数据包括用户信息与测试信息等,这里给出步骤,如果这些数据你都不在乎可以忽略。

查看mongo的容器id

docker ps

进入mongo 容器里

docker exec -it <containerId> bash

dump出数据到指定目录/home/mongo

mongodump -o /home/mongo

把数据拿出来,我想了好久才想到用scp,由于镜像里没有安装,所以先安装scp

apt-get update
apt-get install openssh-server

scp的操作请度娘,目的是要把备份文档拷贝出来,放到你刚才安装的MongoDB目录里,我是同一台主机,所以这样写

scp -r /home/mongo <username>@ip_address:~/

把文件传到~/目录下了,<username>是你的用户名,ip_address是你的服务器地址,自己替换。

回到你的MongoDB服务器,导入数据

mongorestore ~/mongo/

done!

QQ群287162474
钉钉:

共收到 3 条回复 时间 点赞

环境搭建好以后,新建一个任务:使用官方示例,任务失败,提示:'Error: File .reliable.yml must exist, please check path or filename'
task result is { _id: 58c67838e8cd32125aca99c9,
projectId: 58c67835ab06e1185ad1033b,
__v: 0,
start_at: 2017-03-13T11:16:15.223Z,
slaveId: 'badora-PC',
end_at: 2017-03-13T11:16:28.492Z,
extra: '{"description":{"commitId":"f35de33","author":"xudafeng","date":"Mon Feb 13 22:41:58 2017 +0800","subject":"update readme","branch":"master"}}',
created_at: 2017-03-13T10:45:12.585Z,
result:
[ '',
'',
'Error: File .reliable.yml must exist, please check path or filename' ],
status: 3 }
请问此问题如何处理,reliable.yml文件是自动创建的还是手动创建的

badora 回复

手动创建的

需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up