SuSE上運行MyCat(一):安裝

SuSE上運行MyCat(一):安裝

目標

按照本文,將在2臺服務器上安裝Java 8、MyCat 1.6和ZooKeeper 3.4,與第三臺MySQL服務器構成一個簡易的MyCat環境。

在這套環境中,實際只有2種角色:MyCat節點和MySQL數據節點。本文只講解MyCat節點上的安裝過程,省略MySQL數據節點的安裝配置。

角色 IP 部署內容
MyCat節點 192.168.35.121 Java 8、MyCat、ZooKeeper
MyCat節點 192.168.35.123 Java 8、MyCat、ZooKeeper
MySQL數據節點 192.168.35.125 MySQL 5.7

上傳安裝介質

將以下安裝文件上傳MyCat節點的/data目錄中。

  • jre-8u131-linux-x64.tar.gz
  • zookeeper-3.4.10.tar.gz
  • Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz
  • Mycat-web-1.0-SNAPSHOT-20170102153329-linux.tar.gz(CatEyE,后續介紹)

java 8(jre)

安裝

以操作系統root用戶執行以下命令:


#創建Java的統一存放文件夾/usr/local/java
mkdir -p /usr/local/java

#解壓安裝文件
tar -xzf /data/jre-8u131-linux-x64.tar.gz -C /usr/local/java

#鏈接/usr/local/Java/Java_recent到我們安裝的Java上
cd /usr/local/java
ln -s jre1.8.0_131 java_recent
cd -

#調整Java統一文件夾的所有者
chown -R mysql:mysql /usr/local/java

驗證

sudo -u mysql /usr/local/java/java_recent/bin/java -Xmx1m -version

顯示如下內容則java 8安裝正常:


Java version "1.8.0_131"
Java(tm) se runtime environment (build 1.8.0_131-b11)
Java hotspot(tm) 64-bit server vm (build 25.131-b11, mixed mode)


ZooKeeper

安裝

以操作系統root用戶執行以下命令:


#創建ZooKeeper的統一存放文件夾/usr/local/ZooKeeper
mkdir -p /usr/local/zookeeper

#解壓安裝文件
tar -xzf /data/zookeeper-3.4.10.tar.gz -C /usr/local/zookeeper

#鏈接/usr/local/ZooKeeper/zk_recent到我們安裝的ZooKeeper上
cd /usr/local/zookeeper
ln -s zookeeper-3.4.10 zk_recent
cd -

#調整ZooKeeper統一文件夾的所有者
chown -R mysql:mysql /usr/local/zookeeper

配置

以操作系統root用戶,執行下面命令框的內容,完成修改任務。

  1. 創建ZooKeeper的自身運行日志目錄、數據目錄和數據日志目錄

  2. 創建ZooKeeper服務器配置文件(zoo.cfg),并調整以下內容

  • 調整dataDir為/usr/local/zookeeper/data
  • 追加datalogdir為/usr/local/zookeeper/log
  • 追加ZooKeeper集群的服務器列表,共有服務器192.168.35.121和192.168.35.123,使用2281端口進行集群leader通信,2381端口進行選主通信
  1. 創建ZooKeeper的java配置文件(java.env),并調整jvm內存用量為10m~50m

  2. 創建ZooKeeper的環境配置腳本(zookeeper-env.sh),并調整ZooKeeper的運行日志存放目錄為$ZOOKEEPER_PREFIX/log

#切換成mysql:mysql用戶
su - mysql

#創建ZooKeeper的自身運行日志目錄
mkdir /usr/local/zookeeper/zk_recent/log

#創建ZooKeeper的數據目錄和數據日志目錄
mkdir /usr/local/zookeeper/{data,log}

#創建并調整ZooKeeper服務器配置文件(zoo.cfg)
cp /usr/local/zookeeper/zk_recent/conf/zoo_sample.cfg \
   /usr/local/zookeeper/zk_recent/conf/zoo.cfg
sed -i -r \
-e "s#^(dataDir=).*#\1/usr/local/zookeeper/data#" \
-e "/^dataDir/ a \dataLogDir=/usr/local/zookeeper/log" \
-e "$ a \server.1=192.168.35.121:2281:2381" \
-e "$ a \server.2=192.168.35.123:2281:2381" \
/usr/local/zookeeper/zk_recent/conf/zoo.cfg

#創建并調整ZooKeeper的java配置文件(java.env)
cat <<eof > /usr/local/zookeeper/zk_recent/conf/java.env
JAVA_HOME=/usr/local/java/java_recent
SERVER_JVMFLAGS="-Xmx50m -Xms10m"
eof

#創建并調整ZooKeeper的環境配置腳本(zookeeper-env.sh)
cat <<eof > /usr/local/zookeeper/zk_recent/conf/zookeeper-env.sh
ZOO_LOG_DIR=\$ZOOKEEPER_PREFIX/log
eof

#返回root用戶
exit

接下來創建ZooKeeper的標識文件(myid),并按所在機器來設置標識。由于我們在zoo.cfg中已經指定了192.168.35.121是server.1,192.168.35.123是server.2,所以在這里,我們的操作如下:

#在192.168.35.121執行
sudo -u mysql touch /usr/local/zookeeper/data/myid
echo 1 > /usr/local/zookeeper/data/myid
#在192.168.35.123執行
sudo -u mysql touch /usr/local/zookeeper/data/myid
echo 2 > /usr/local/zookeeper/data/myid

驗證

以操作系統mysql用戶執行以下命令:

sudo -u mysql /usr/local/zookeeper/zk_recent/bin/zkServer.sh print-cmd

顯示如下內容則ZooKeeper安裝正常:


ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper/zk_recent/bin/../conf/zoo.cfg
"java" -Dzookeeper.log.dir="." -Dzookeeper.root.logger="INFO,CONSOLE" -cp "/usr/local/zookeeper/zk_recent/bin/../build/classes:/usr/local/zookeeper/zk_recent/bin/../build/lib/*.jar:/usr/local/zookeeper/zk_recent/bin/../lib/slf4j-log4j12-1.6.1.jar:/usr/local/zookeeper/zk_recent/bin/../lib/slf4j-api-1.6.1.jar:/usr/local/zookeeper/zk_recent/bin/../lib/netty-3.10.5.Final.jar:/usr/local/zookeeper/zk_recent/bin/../lib/log4j-1.2.16.jar:/usr/local/zookeeper/zk_recent/bin/../lib/jline-0.9.94.jar:/usr/local/zookeeper/zk_recent/bin/../zookeeper-3.4.10.jar:/usr/local/zookeeper/zk_recent/bin/../src/java/lib/*.jar:/usr/local/zookeeper/zk_recent/bin/../conf:"  -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.local.only=false org.apache.zookeeper.server.quorum.QuorumPeerMain "/usr/local/zookeeper/zk_recent/bin/../conf/zoo.cfg" > "./zookeeper.out" 2>&1 < /dev/null

MyCat

安裝(含CatEye)

以操作系統root用戶執行以下命令:


#解壓安裝文件
cd /data
tar -xzf Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz \
  -C /usr/local
tar -xzf Mycat-web-1.0-SNAPSHOT-20170102153329-linux.tar.gz \
  -C /usr/local
cd -

#調整mycat目錄的所有者
chown -R mysql:mysql /usr/local/mycat /usr/local/mycat-web

#調整目錄的權限
find /usr/local/mycat -type d -exec chmod 755 '{}' \;
find /usr/local/mycat-web -type d -exec chmod 755 '{}' \;

配置

以操作系統mysql用戶執行以下命令:

  1. 將MyCat調用的Java路徑指向剛才安裝的Java 1.8

  2. 調整內存占用,從原來的1G~4G(-Xmx4g -Xms1g)調整為500m~1G(-Xmx1g -Xms500m)


sed -i -r \
-e "s#^(wrapper.java.command=).*#\1/usr/local/java/java_recent/bin/java#" \
-e "s#^(wrapper.java.additional.10=).*#\1-Xmx1g#" \
-e "s#^(wrapper.java.additional.11=).*#\1-Xms500m#" \
/usr/local/mycat/conf/wrapper.conf

驗證

sudo -u mysql /usr/local/mycat/bin/mycat status

顯示如下內容則MyCat安裝正常:

mycat-server is not running.

安裝結果

完成以上步驟后,我們會得到以下目錄樹,并且Java、MyCat(含CatEye)和ZooKeeper的所有權都在操作系統mysql:mysql下。

 /usr/local
 |-java
 | |-jre1.8.0_131
 | `-java_recent
 |-zookeeper
 | |-zk_recent
 | +-zookeeper-3.4.10
 |-mycat
 | |-bin
 | |-catlet
 | |-conf
 | |-lib
 | |-logs
 | +-version.txt
 +-mycat-web
   |-mycat-web
   |-lib
   |-etc
   |-start.jar
   |-start.sh
   +-readme.txt
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,030評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,310評論 3 415
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,951評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,796評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,566評論 6 407
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,055評論 1 322
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,142評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,303評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,799評論 1 333
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,683評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,899評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,409評論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,135評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,520評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,757評論 1 282
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,528評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,844評論 2 372

推薦閱讀更多精彩內容