2017年5月28日日曜日

CentOS 7系でSheeodogを動かす - インストール・設定編

Sheepdogをインストールする場合、ソースコードをダウンロードしてコンパイルする(それからrpmを作成するなど)の手順が必要になってきます。
Sheepdogではクラスタ管理にcorosync / zookeeperが選択できるが、今後はzookeeperを使ってスケールするような風潮が見られるため(管理上限の制限などもふくめて)、zookeeperを使ってインストールする方が望ましいです。
しかし、標準的なインストールだとcorosyncのみをサポートしていること、またzookeeperを一緒にインストールしようとするとかなり面倒くさい。
そこで、簡単に試そうとするならば、私が作成したel7用のrpmがダウンロード可能なので、使うことをお勧めします。
※これからの手順はこのblogからリンクされているパッケージインストールを元に説明します。

インストール

1.必要なパッケージをダウンロードする。
 一箇所にまとめて保存してください。md5sumを確認することをお忘れなく。

2. 全てのパッケージをインストールする。
 sheepfsを使いたい場合はsheepfsパッケージもインストールしてください。
 ※環境によってはfuse関連のパッケージのインストールが必要かもしれません。
  またzookeepkerがすでに入っている環境の場合は競合するかもしれません。

インストールは以上です。rpmインストールができると非常に簡単ですネ。

設定


大きく分けて、zookeeperの設定とsheepdogの設定があります。

zookeeperの設定

zookeeperの設定は2箇所あります。

1. /etc/zookeeper/zoo.cfg の設定
クラスタを組むサーバの設定をします。既存のzoo.cfgに追加します。書式は次の通りです。 ※後ろのポート番号の説明は省略します。
server.<サーバid>=<サーバIP address>:2888:3888
これをクラスタ分を登録します。
server.1=172.17.29.4:2888:3888
server.2=172.17.29.5:2888:3888
server.3=172.17.29.6:2888:3888

2. /var/lib/zookeeper/data/myid の設定
myidは自サーバの番号を記述します。例えば、zoo.cfgのserver.3(172.17.29.6)のサーバであれば3です。参加するクラスタ全サーバでmyidファイルを作成します。
3

Sheepdogの設定

sheepdogの設定はファイルの修正が1箇所とファイルを1つ作成します。

1. /usr/lib/systemd/system/sheepdog.service の修正
デフォルトだと環境ファイルが読み込まれないので、読み込ませるための修正を行います。
修正前:
EnvironmentFile=-/etc/sysconfig/sheepdog

修正後:
EnvironmentFile=/etc/sysconfig/sheepdog

2. /etc/sysconfig/sheepdogファイルの作成
環境変数を設定します。デフォルトではcorosyncを使うように設定されているので、zookeeperへの変更と、クラスタの登録を行います。
SHEEP_OPTS="/storage/sheepdog/ -c zookeeper:172.17.29.4:2181,172.17.29.5:2181,172.17.29.6:2181"

以上でsheepdogの設定は終了です。

0 件のコメント :

コメントを投稿