otter分布式数据库同步项目,环境搭建
otter开源项目的环境搭建
需要的资源下载
项目源码:https://github.com/alibaba/otter/releases
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ODWX0ag5-1599117689582)(C:\Users\yuyong\AppData\Roaming\Typora\typora-user-images\image-20200903082711600.png)]
下载这两个压缩包,注意一定要是linux版本:经过我和我的同事几天的摸索,windows系统就是找不到很多依赖包,所以需要在linux系统上面进行部署
除去这两个还需要下载下面的几个包
zookeeper下载地址:http://pan.baidu.com/s/1miC2j4O
数据库sql:https://github.com/alibaba/otter/tree/master/docker/image/admin/bin
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nwHIYsEB-1599117689584)(C:\Users\yuyong\AppData\Roaming\Typora\typora-user-images\image-20200903084355866.png)]
这个文件在部署这个项目的数据库中建立一个otter的数据库,运行这个sql文件;
aria2下载地址:https://github.com/aria2/aria2/releases/download/release-1.33.0/aria2-1.33.0.tar.gz
canal下载地址:http://pan.baidu.com/s/1jIE8nTc
资源解压是需要注意的事项
-
zookeeper和aria2这两个文件解压时本身是可以新建一个中的文件夹的,
-
manager和node 还有canal这三个文件解压时不会出现总得文件夹,需要预先新建一个文件,然后将压缩包放入,进行解压
-
解压命令:tar -zxvf + 文件名
-
两个生成文件的资源放入/usr/local 文件夹下面就可以了
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xY4bVXle-1599117689585)(C:\Users\yuyong\AppData\Roaming\Typora\typora-user-images\image-20200903092924782.png)]
-
其他三个文件需要在这个文件夹下面新建一个文件夹 otter上图可以看到,在otter文件夹下面新建三个文件夹
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3moFYh4M-1599117689587)(C:\Users\yuyong\AppData\Roaming\Typora\typora-user-images\image-20200903093254170.png)]
-
将对应的资源包放入对应的文件夹中进行解压,至此就是资源的下载的解压问题结束,下面就是这些资源的配置
资源配置
一个重点:服务器的资源一定要大,我同事在腾讯买的一个服务器2G的内存起不了这么多项目,最后配置到node时就报内存不满的问题,最后我们还是迁移到公司放入服务上面,所以大家一定要在前期看好自己配置的服务器物理硬件是否符合不然就会出现迁移的问题,一个血淋淋的加班教训
1、zookeeper配置
-
跳转到zookeeper的配置文件夹:cd /usr/local/zookeeper-3.4.8/conf
-
修改配置文件名:mv zoo_sample.cfg zoo.cfg
-
新建一个数据文件夹:mkdir /usr/local/zookeeper/data
-
修改配置文件跳转至配置文件夹:vim zoo.cfg
-
添加以下数据至配置文件中(如果有了请修改值就可以了)
dataDir=/usr/local/zookeeper/data
autopurge.purgeInterval=1
-
-
修改bin/zkEnv.sh脚本:vim /usr/local/zookeeper-3.4.8/bin/zkEnv.sh
- 将ZOO_LOG_DIR="." 修改为ZOO_LOG_DIR="/usr/local/zookeeper/data"
将ZOO_LOG4J_PROP=”INFO,CONSOLE” 修改为ZOO_LOG4J_PROP=“INFO,ROLLINGFILE”
- 将ZOO_LOG_DIR="." 修改为ZOO_LOG_DIR="/usr/local/zookeeper/data"
-
修改bin/zkServer.sh脚本:vim /usr/local/zookeeper-3.4.8/bin/zkServer.sh
- 将ZOOBIN="${BASH_SOURCE-KaTeX parse error: Expected 'EOF', got '}' at position 2: 0}̲" 修改为ZOOBIN=`re…{BASH_SOURCE-$0}"`
-
修改bin/zkCli.sh脚本:vim /usr/local/zookeeper-3.4.8/bin/zkCli.sh
- 将ZOOBIN="${BASH_SOURCE-KaTeX parse error: Expected 'EOF', got '}' at position 2: 0}̲" 修改为ZOOBIN=`re…{BASH_SOURCE-$0}"`
-
建立软连接
- ln -s /usr/local/zookeeper/bin/zkServer.sh /usr/local/bin/zk-server
ln -s /usr/local/zookeeper/bin/zkCli.sh /usr/local/bin/zk-cli - echo 1 > /usr/local/zookeeper/data/myid
- ln -s /usr/local/zookeeper/bin/zkServer.sh /usr/local/bin/zk-server
-
启动:zk-server start
关闭:zk-server stop
2、manager配置
-
跳转到manager的配置文件夹:cd /usr/local/otter/manager.deployer/conf/
-
修改配置文件: vim otter.properties
-
## otter manager domain name #修改为正确访问ip,生成URL使用
otter.domainName = 10.10.6.173
## otter manager http port
otter.port = 8080
## jetty web config xml
otter.jetty = jetty.xml## otter manager database config
otter.database.driver.class.name = com.mysql.jdbc.Driver
otter.database.driver.url = jdbc:mysql://10.10.6.199:3306/otter
otter.database.driver.username = root
otter.database.driver.password = 123456## default zookeeper address #修改为zookeeper地址信息
otter.zookeeper.cluster.default = 127.0.0.1:2181
-
-
启动:/usr/local/manager/bin/startup.sh
关闭:/usr/local/manager/bin/stop.sh
3、arai2配置
-
升级gcc(如果服务器本身已经有了这个升级可以不需要)
-
查看gcc版本:gcc --version (必须要高于4.8.2)
-
添加一个源:cd /etc/yum.repos.d
wget http://people.centos.org/tru/devtools-2/devtools-2.repo
-
安装所需包
yum install devtoolset-2-gcc devtoolset-2-binutils devtoolset-2-gcc-c++
-
保存原来的版本
mv /usr/bin/gcc /usr/bin/gcc-4.4.7
mv /usr/bin/g++ /usr/bin/g+±4.4.7
mv /usr/bin/c++ /usr/bin/c+±4.4.7 -
链接到新版本的gcc
ln -s /opt/rh/devtoolset-2/root/usr/bin/gcc /usr/bin/gcc
ln -s /opt/rh/devtoolset-2/root/usr/bin/c++ /usr/bin/c++
ln -s /opt/rh/devtoolset-2/root/usr/bin/g++ /usr/bin/g++ -
查看当前版本gcc
gcc --version
给予update_gcc.sh文件可执行权限并执行chmod 754 update_gcc.sh && ./update_gcc.sh
- 在执行之前需要确保安装了wget,如果没有wget的话,脚本执行会报错!!!
-
-
编译安装
- mkdir build && cd build && …/configure && make && make install
-
创建配置目录和文件
-
cd /etc/ && mkdir aria2 && cd aria2 && touch aria2c.conf && touch aria2.session
-
vim aria2c.conf
-
#dir=~/download
disk-cache=5M
file-allocation=none
continue=true
max-concurrent-downloads=5
max-connection-per-server=15
min-split-size=10M
split=5
#max-overall-download-limit=0
#max-download-limit=0
max-overall-upload-limit=20kb
max-upload-limit=5kb
disable-ipv6=true
check-certificate=false
#运行覆盖已存在文件
allow-overwrite=true
#自动重命名
auto-file-renaming
input-file=/etc/aria2/aria2.session
save-session=/etc/aria2/aria2.session
save-session-interval=30
enable-rpc=true
rpc-allow-origin-all=true
rpc-listen-all=true
#event-poll=select
rpc-listen-port=6800
rpc-save-upload-metadata=false
#follow-torrent=true
listen-port=51413
#bt-max-peers=55
enable-dht=true
enable-dht6=false
#dht-listen-port=6881-6999
bt-enable-lpd=true
enable-peer-exchange=true
#bt-request-peer-speed-limit=50K
peer-id-prefix=-UT341-
user-agent=uTorrent/341(109279400)(30888)
seed-ratio=1.0
#force-save=false
#bt-hash-check-seed=true
bt-seed-unverified=true
#bt-save-metadata=false
bt-metadata-only=true
follow-torrent=mem -
设置环境变量
-
vim ~/.bashrc
-
加入一下内容
export PATH=/usr/local/src/aria2-1.33.0/build/src:$PATH
-
执行下命令,使环境变量设置生效
source ~/.bashrc
-
-
完成这一系列操作后,输入 aria 并可以补全的话就说明aria2已经安装成功了!!!
-
-
这些配置参考了这一篇博客:https://blog.****.net/qq_40116128/article/details/89966809
4、node配置
-
跳转到node解压的目录下面:cd /usr/local/otter/node.deployer/
-
echo 1 > conf/nid #需要和manager管理页面的序号相同
-
配置修改
vim conf/otter.properties
## otter arbitrate & node connect manager config #修改manager的地址信息
otter.manager.address = 127.0.0.1:1099 -
启动:/usr/local/node/bin/startup.sh #先不用启动
关闭:/usr/local/node/bin/stop.sh
5、canal配置
#只需部署canal无需配置和启动,canal可嵌入式运行,在manager页面管理中设置
项目启动
-
先要启动zookeeper,上面有zookeeper的启动命令
-
启动manager,
-
启动manager之后要看一下manager配置文件
cd /usr/local/otter/manager.deployer/logs/
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-trc2zFrp-1599117689589)(C:\Users\yuyong\AppData\Roaming\Typora\typora-user-images\image-20200903112924200.png)]
tail -n 500 manager.log
-
出现##the manager server is running now… 启动成功
-
他也会出现zookeeper连接异常出现这个就要去看看zookeeper的启动和配置是否对应
-
访问页面:ip+配置的manager的端口
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-U7XGgQpq-1599117689590)(C:\Users\yuyong\AppData\Roaming\Typora\typora-user-images\image-20200903113554775.png)]
出现这个页面恭喜你,manager和zookeeper在现在看来一切正常
-
-
启动node
-
启动之前需要在manager这个页面上面对这个node进行配置
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BDJD9Lg0-1599117689590)(C:\Users\yuyong\AppData\Roaming\Typora\typora-user-images\image-20200903114323139.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MyaFc5KS-1599117689591)(C:\Users\yuyong\AppData\Roaming\Typora\typora-user-images\image-20200903114413905.png)]
-
zookeeper配置之后要配置node
-
配置IP和端口要和node的配置文件里面设置的不一样不然就算启动了在这边显示也是未启动
-
node配置文件中的配置是那个manager在管理他,而不是在manager可视化页面配置的
-
之后启动node上面有这个命令
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jzH9vo8V-1599117689594)(C:\Users\yuyong\AppData\Roaming\Typora\typora-user-images\image-20200903115154124.png)]
-
出现这个好的恭喜你这个可以了,otter环境已经搭好了
-