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的頁面,即代表啓動成功


初始密碼爲:admin/admin,即可完成登錄。目前:匿名用戶只有只讀查看的權限,登錄爲管理員纔可以有操作權限

manager安裝完成。


5、安裝node

node會受到otter manager進行管理,需要在manager頁面爲node定義配置信息,並生成一個唯一id。

a. 首先訪問manager頁面的機器管理,添加zookeeper管理,點擊添加


b. 訪問manager頁面的機器管理,點擊node管理,點擊添加


幾點說明:
      機器名稱:可以隨意定義,方便自己記憶即可
      機器ip:對應node節點將要部署的機器ip,如果有多ip時,可選擇其中一個ip進行暴露. (此ip是整個集羣通訊的入口,實際情況千萬別使用127.0.0.1,否則多個機器的node節點會無法識別)
      機器端口:對應node節點將要部署時啓動的數據通訊端口,建議值:2088
      下載端口:對應node節點將要部署時啓動的數據下載端口,建議值:9090
      外部ip :對應node節點將要部署的機器ip,存在的一個外部ip,允許通訊的時候走公網處理。
      zookeeper集羣:爲提升通訊效率,不同機房的機器可選擇就近的zookeeper集羣.
node這種設計,是爲解決單機部署多實例而設計的,允許單機多node指定不同的端口


機器添加完成後,跳轉到機器列表頁面,獲取對應的機器序號nid


通過上面的操作,獲取到了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


表示node安裝成功。


到此otter安裝成功。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章