天天看點

otter安裝

譯意: 水獺,資料搬運工

語言: 純java開發

定位: 基于資料庫增量日志解析,準實時同步到本機房或異地機房的mysql/oracle資料庫. 一個分布式資料庫同步系統

otter的環境需要:mysql,jdk,zookeeper,node,aria2,manager

otter安裝需要三台機器,我實作的是兩台機器之間的Mysql資料庫同步,即雙寫同步,zookeeper叢集。

在master機器上安裝manager,在slave1和slave2上面安裝node

1 、在slave1和slave2上安裝JDK并配置JDK的環境變量

本文使用的jdk:jdk-7u79-linux-x64.tar.gz

直接解壓,配置環境變量就OK了。

2、在slave1和slave2上安裝mysql

# yum install -y mysql-server mysql mysql-devel

# service mysqld start         //啟動mysql服務

# mysqladmin -u root password 'root'  // 給root賬号設定密碼為 root

安裝完後,修改mysql的配置檔案:

# vim /etc/my.cnf

在[mysqld]下面添加:

log-bin=mysql-bin

binlog-format=ROW       #修改成ROW

server-id = 1     #兩個機房的serverid設定為不一樣的值

然後重新開機資料庫,分别在slave1和slave2庫上建立otter的資料庫賬号和密碼,例如canal/canal

CREATE USER canal IDENTIFIED BY 'canal'; 

GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'canal'@'%';

FLUSH PRIVILEGES;

show grants for 'canal';   #檢視權限

3、安裝zookeeper

zookeeper可以隻單機安裝,也可以以叢集形式安裝,安裝完成後啟動。本文是安裝的叢集,三台機器。

本文使用的是:zookeeper-3.4.6.tar.gz

解壓,進入conf下面進行配置

# cp zoo_sample.cfg zoo.cfg

# vim zoo.cfg 

dataDir=/root/cloud/zookeeper-3.4.6/data          #進行修改

添加下面的内容:

server.1=master:2888:3888

server.2=slave1:2888:3888

server.3=slave2:2888:3888

在zookeeper-3.4.6 下面建立data,然後進入data

# vim myid

裡面添加1。

scp -rq zookeeper-3.4.6 slave1:/root/cloud/

把slave1裡面的myid裡面的内容改為2

scp -rq zookeeper-3.4.6 slave2:/root/cloud/

把slave2裡面的myid裡面的内容改為3

都修改完後,啟動zookeeper

進入zookeeper-3.4.6/bin下面執行

 ./zkServer.sh start      啟動

 ./zkServer.sh status     檢視狀态

4、安裝manager,在master機器上面安裝

manager依賴于mysql進行配置資訊的存儲,是以需要預先安裝mysql

# yum install -y mysql-server mysql mysql-devel

# service mysqld start         //啟動mysql服務

# mysqladmin -u root password 'root'  // 給root賬号設定密碼為 root

初始化otter manager系統表:

下載下傳:

# wget https://raw.github.com/alibaba/otter/master/manager/deployer/src/main/resources/sql/otter-manager-schema.sql

載入sql:

# mysql -uroot -proot

mysql> source /root/cloud/otter-manager-schema.sql

# mkdir manager

# tar -zxvf manager.deployer-4.2.13.tar.gz -C manager

配置修改

進入conf下面修改

# vim otter.properties

otter.domainName = 192.168.10.1          修改為manager的ip,使用者web通路

## otter manager database config           manager上面的mysql資訊

otter.database.driver.class.name = com.mysql.jdbc.Driver

otter.database.driver.url = jdbc:mysql://127.0.0.1:3306/otter

otter.database.driver.username = root

otter.database.driver.password = root

## default zookeeper address       選擇一個就近的zookeeper叢集位址

otter.zookeeper.cluster.default = 192.168.10.1:2181

準備啟動

# bin/startup.sh

檢視日志

vim logs/manager.log

2016-12-08 15:28:14.844 [] INFO  com.alibaba.otter.manager.deployer.OtterManagerLauncher - ## start the manager server.

2016-12-08 15:28:37.179 [] INFO  com.alibaba.otter.manager.deployer.JettyEmbedServer - ##Jetty Embed Server is startup!

2016-12-08 15:28:37.179 [] INFO  com.alibaba.otter.manager.deployer.OtterManagerLauncher - ## the manager server is running now ......

出現類似日志,代表啟動成功

驗證

通路: http://192.168.10.1:8080/,出現otter的頁面,即代表啟動成功

otter安裝

初始密碼為:admin/admin,即可完成登入。目前:匿名使用者隻有隻讀檢視的權限,登入為管理者才可以有操作權限

manager安裝完成。

5、安裝node

node會受到otter manager進行管理,需要在manager頁面為node定義配置資訊,并生成一個唯一id。

a. 首先通路manager頁面的機器管理,添加zookeeper管理,點選添加

otter安裝

b. 通路manager頁面的機器管理,點選node管理,點選添加

otter安裝

幾點說明:

      機器名稱:可以随意定義,友善自己記憶即可

      機器ip:對應node節點将要部署的機器ip,如果有多ip時,可選擇其中一個ip進行暴露. (此ip是整個叢集通訊的入口,實際情況千萬别使用127.0.0.1,否則多個機器的node節點會無法識别)

      機器端口:對應node節點将要部署時啟動的資料通訊端口,建議值:2088

      下載下傳端口:對應node節點将要部署時啟動的資料下載下傳端口,建議值:9090

      外部ip :對應node節點将要部署的機器ip,存在的一個外部ip,允許通訊的時候走公網處理。

      zookeeper叢集:為提升通訊效率,不同機房的機器可選擇就近的zookeeper叢集.

node這種設計,是為解決單機部署多執行個體而設計的,允許單機多node指定不同的端口

機器添加完成後,跳轉到機器清單頁面,擷取對應的機器序号nid

otter安裝

通過上面的操作,擷取到了node節點對應的唯一标示,稱之為node id,簡稱:nid. 記錄該nid,後續啟動nid時會使用

安裝aria2

node 需要aria2支援,在slave1和slave2機器上分别安裝了一套。

本文用到的是:aria2-1.17.1.tar.gz,node.deployer-4.2.13.tar.gz

# tar -zxvf aria2-1.17.1.tar.gz

進入目錄: cd aria2-1.17.1

編譯:  

./configure

出現如下錯誤:

configure: error: in `/root/cloud/aria2-1.17.1':

configure: error: no acceptable C compiler found in $PATH

# yum -y install gcc

然後./configure,現在就成功通過了。

# make   報錯的話,再重新執行一次/configure這個就好了。

# make install

安裝node

# mkdir node

# tar -zxvf node.deployer-4.2.13.tar.gz -C node

配置修改

nid配置 (将上面擷取到的序号,儲存到conf目錄下的nid檔案,比如我添加的機器對應序号為1)

# echo 1 > conf/nid

otter.properties配置修改

## otter arbitrate & node connect manager config

otter.manager.address = 192.168.10.1:1099       修改為manager服務位址

準備啟動

# sh startup.sh

檢視日志

# more logs/node/node.log

2016-12-08 15:59:31.666 [main] INFO  com.alibaba.otter.node.deployer.OtterLauncher - INFO ## the otter server is running now ......

看到如上日志,代表node啟動完成.

驗證

通路: http://192.168.10.1:8080,檢視對應的節點狀态,如果變為了已啟動,代表已經正常啟動。(ps,如果是未啟動,會是一個紅色高亮)

slave2機器上也安裝上面的部署安裝aria2和node

otter安裝

表示node安裝成功。

到此otter安裝成功。

繼續閱讀