SHIMODA Piro Hiroshi
null+****@clear*****
Wed Sep 24 02:18:59 JST 2014
SHIMODA "Piro" Hiroshi 2014-09-24 02:18:59 +0900 (Wed, 24 Sep 2014) New Revision: e64cd600364db100e260e442828227c3ff125772 https://github.com/droonga/droonga.org/commit/e64cd600364db100e260e442828227c3ff125772 Message: Update translation Modified files: _po/ja/tutorial/1.0.6/dump-restore/index.po ja/tutorial/1.0.6/dump-restore/index.md tutorial/1.0.6/dump-restore/index.md Modified: _po/ja/tutorial/1.0.6/dump-restore/index.po (+149 -174) =================================================================== --- _po/ja/tutorial/1.0.6/dump-restore/index.po 2014-09-24 01:56:16 +0900 (2884613) +++ _po/ja/tutorial/1.0.6/dump-restore/index.po 2014-09-24 02:18:59 +0900 (a0ba7ee) @@ -35,42 +35,16 @@ msgstr "## 前提条件" msgid "" "* You must have an existing [Droonga][] cluster with some data.\n" -" Please complete the [\"getting started\" tutorial](../groonga/) before this.\n" -"* Your `catalog.json` must have the dataset `Default`.\n" -" Otherwise, you must change the name of the dataset, like:" +" Please complete the [\"getting started\" tutorial](../groonga/) before this." msgstr "" -"* 何らかのデータが格納されている状態の[Droonga][]クラスタがあること。\n" -" このチュートリアルを始める前に、[「使ってみる」のチュートリアル](../groonga/)を完了している事が望ましいです\n" -"* `catalog.json`に`Default`データセットがあること。\n" -" 別の名前でデータセットを作成していた場合は、名前を変更しておいて下さい:" msgid "" -" \"datasets\": {\n" -" - \"Starbucks\": {\n" -" + \"Default\": {" -msgstr "" - -msgid "" -"* Your `catalog.json` must have `dump` and `system` plugins in the list of plu" -"gins.\n" -" Otherwise, you must add them to the list of `plugins`, like:" -msgstr "" -"* `catalog.json`に`dump`プラグインと`system`プラグインが登録済みであること。\n" -" 未登録の場合は、以下のようにして`plugins`の一覧に`dump`と`system`を追加しておいて下さい:" - -msgid "" -" - \"plugins\": [\"groonga\", \"crud\", \"search\"],\n" -" + \"plugins\": [\"groonga\", \"crud\", \"search\", \"dump\", \"system\"]," -msgstr "" - -msgid "" -"* Your `catalog.json` must not have any information in its `schema` section.\n" -" Otherwise, you must make the `schema` section empty, like:" -msgstr "" -"* `catalog.json`の`schema`セクションが情報を含んでいないこと・\n" -" スキーマを定義していた場合は、以下のようにして`schema`セクションを空にしておいて下さい:" - -msgid " \"schema\": {}," +"This tutorial assumes that there are two existing Droonga nodes prepared by th" +"e [previous tutorial](../groonga/): `node0` (`192.168.100.50`) and `node1` (`1" +"92.168.100.51`), and there is another computer `node2` (`192.168.100.52`) as a" +" working environment.\n" +"If you have Droonga nodes with other names, read `node0`, `node1` and `node2` " +"in following descriptions as yours." msgstr "" msgid "## Backup data in a Droonga cluster" @@ -82,8 +56,11 @@ msgstr "### `drndump` のインストール" msgid "First, install a command line tool named `drndump` via rubygems:" msgstr "最初に、Rubygems経由で `drndump` と名付けられたコマンドラインツールをインストールします:" -msgid " # gem install drndump" -msgstr "" +msgid "" +"~~~\n" +"# gem install drndump\n" +"~~~" +msgstr "### `drndump` のインストール" msgid "" "After that, establish that the `drndump` command has been installed successful" @@ -91,8 +68,10 @@ msgid "" msgstr "その後、`drndump` コマンドが正しくインストールできたかどうかを確認します:" msgid "" -" # drndump --version\n" -" drndump 1.0.0" +"~~~\n" +"$ drndump --version\n" +"drndump 1.0.0\n" +"~~~" msgstr "" msgid "### Dump all data in a Droonga cluster" @@ -106,17 +85,15 @@ msgstr "" "う。" msgid "" -"For example, if your cluster is constructed from two nodes `192.168.100.50` an" -"d `192.168.100.51`, and now you are logged in to the host `192.168.100.52` the" -"n the command line is:" +"For example, if your cluster is constructed from two nodes `node0` (`192.168.1" +"00.50`) and `node1` (`192.168.100.51`), and now you are logged in to new anoth" +"er computer `node2` (`192.168.100.52`). then the command line is:" msgstr "" -"例えば、クラスタが `192.168.100.50` と `192.168.100.51` の2つのノードから構成されていて、別のホスト `192.168." -"100.52` にログインしている場合、コマンドラインは以下の要領です。" msgid "" "~~~\n" -"# drndump --host=192.168.100.50 \\\n" -" --receiver-host=192.168.100.52\n" +"# drndump --host=node0 \\\n" +" --receiver-host=node2\n" "{\n" " \"type\": \"table_create\",\n" " \"dataset\": \"Default\",\n" @@ -168,11 +145,11 @@ msgid "Note to these things:" msgstr "以下の点に注意して下さい:" msgid "" -" * You must specify valid host name or IP address of one of nodes in the clust" -"er, via the option `--host`.\n" +" * You must specify valid host name of one of nodes in the cluster, via the op" +"tion `--host`.\n" " * You must specify valid host name or IP address of the computer you are logg" "ed in, via the option `--receiver-host`.\n" -" It is used by the Droonga cluster, to send messages.\n" +" It is used by the Droonga cluster, to send response messages.\n" " * The result includes complete commands to construct a dataset, same to the s" "ource." msgstr "" @@ -189,9 +166,11 @@ msgstr "" "結果をJSONs形式のファイルに保存する場合は、リダイレクトを使って以下のようにして下さい:" msgid "" -" # drndump --host=192.168.100.50 \\\n" -" --receiver-host=192.168.100.52 \\\n" -" > dump.jsons" +"~~~\n" +"$ drndump --host=node0 \\\n" +" --receiver-host=node2 \\\n" +" > dump.jsons\n" +"~~~" msgstr "" msgid "## Restore data to a Droonga cluster" @@ -210,8 +189,11 @@ msgstr "" "Droongaクラスタにそれらのメッセージを送信するには、`droonga-send` コマンドを使います。\n" "このコマンドを含んでいるGemパッケージ `droonga-client` をインストールして下さい:" -msgid " # gem install droonga-client" -msgstr "" +msgid "" +"~~~\n" +"# gem install droonga-client\n" +"~~~" +msgstr "### `droonga-client`のインストール" msgid "" "After that, establish that the `droonga-send` command has been installed succe" @@ -219,20 +201,20 @@ msgid "" msgstr "`droonga-send` コマンドが正しくインストールされた事を確認しましょう:" msgid "" -" # droonga-send --version\n" -" droonga-send 0.1.9" +"~~~\n" +"$ droonga-send --version\n" +"droonga-send 0.1.9\n" +"~~~" msgstr "" msgid "### Prepare an empty Droonga cluster" msgstr "### 空のDroongaクラスタを用意する" msgid "" -"Assume that there is an empty Droonga cluster constructed from two nodes `192." -"168.100.50` and `192.168.100.51`, now you are logged in to the host `192.168.1" -"00.52`, and there is a dump file `dump.jsons`." +"Assume that there is an empty Droonga cluster constructed from two nodes `node" +"0` (`192.168.100.50`) and `node1` (`192.168.100.51`), now you are logged in to" +" the host `node2` (`192.168.100.52`), and there is a dump file `dump.jsons`." msgstr "" -"2つのノード `192.168.100.50` と `192.168.100.51` からなる空のクラスタがあり、今 `192.168.100.52` にロ" -"グインして操作を行っていて、ダンプファイルが `dump.jsons` という名前で手元にあると仮定します。" msgid "" "If you are reading this tutorial sequentially, you'll have an existing cluster" @@ -242,8 +224,8 @@ msgstr "もし順番にこのチュートリアルを読み進めているので msgid "" "~~~\n" -"# endpoint=\"http://192.168.100.50:10041\"\n" -"# curl \"$endpoint/d/table_remove?name=Location\" | jq \".\"\n" +"$ endpoint=\"http://node0:10041\"\n" +"$ curl \"$endpoint/d/table_remove?name=Location\" | jq \".\"\n" "[\n" " [\n" " 0,\n" @@ -252,7 +234,7 @@ msgid "" " ],\n" " true\n" "]\n" -"# curl \"$endpoint/d/table_remove?name=Store\" | jq \".\"\n" +"$ curl \"$endpoint/d/table_remove?name=Store\" | jq \".\"\n" "[\n" " [\n" " 0,\n" @@ -261,7 +243,7 @@ msgid "" " ],\n" " true\n" "]\n" -"# curl \"$endpoint/d/table_remove?name=Term\" | jq \".\"\n" +"$ curl \"$endpoint/d/table_remove?name=Term\" | jq \".\"\n" "[\n" " [\n" " 0,\n" @@ -273,13 +255,26 @@ msgid "" "~~~" msgstr "" +msgid "" +"And, restart the `droonga-http-server` service on each node to refresh respons" +"e caches:" +msgstr "" + +msgid "" +"~~~\n" +"(on node0, node1)\n" +"# service droonga-http-server restart\n" +" * Restarting droonga-http-server [ OK ]\n" +"~~~" +msgstr "" + msgid "After that the cluster becomes empty. Confirm it:" msgstr "これでクラスタは空になりました。確かめてみましょう:" msgid "" "~~~\n" -"# endpoint=\"http://192.168.100.50:10041\"\n" -"# curl \"$endpoint/d/table_list\" | jq \".\"\n" +"$ endpoint=\"http://node0:10041\"\n" +"$ curl \"$endpoint/d/table_list\" | jq \".\"\n" "[\n" " [\n" " 0,\n" @@ -323,7 +318,7 @@ msgid "" " ]\n" " ]\n" "]\n" -"# curl \"$endpoint/d/select?table=Store&output_columns=name&limit=10\" | jq \".\"\n" +"$ curl \"$endpoint/d/select?table=Store&output_columns=name&limit=10\" | jq \".\"\n" "[\n" " [\n" " 0,\n" @@ -356,12 +351,17 @@ msgstr "" "ァイルからクラスタを再構築する事ができます。\n" "やり方は単純で、単にダンプファイルを `droonga-send` コマンドを使ってからのクラスタに流し込むだけです。" +msgid "" +"Before restoration, restart the `droonga-http-server` service on each node to " +"refresh response caches:" +msgstr "" + msgid "To restore the cluster from the dump file, run a command line like:" msgstr "ダンプファイルからクラスタの内容を復元するには、以下のようなコマンドを実行します:" msgid "" "~~~\n" -"# droonga-send --server=192.168.100.50 \\\n" +"$ droonga-send --server=node0 \\\n" " dump.jsons\n" "~~~" msgstr "" @@ -382,7 +382,7 @@ msgstr "これで、データが完全に復元されました。確かめてみ msgid "" "~~~\n" -"# curl \"$endpoint/d/select?table=Store&output_columns=name&limit=10\" | jq \".\"\n" +"$ curl \"$endpoint/d/select?table=Store&output_columns=name&limit=10\" | jq \".\"\n" "[\n" " [\n" " 0,\n" @@ -454,11 +454,9 @@ msgid "### Prepare multiple Droonga clusters" msgstr "### 複数のDroongaクラスタを用意する" msgid "" -"Assume that there are two clusters: the source has a node `192.168.100.50`, an" -"d the destination has a node `192.168.100.51`." +"Assume that there are two clusters: the source has a node `node0` (`192.168.10" +"0.50`), and the destination has a node `node1' (`192.168.100.51`)." msgstr "" -"ノード `192.168.100.50` を含む複製元クラスタと、ノード `192.168.100.51` を含む複製先クラスタの2つのクラスタがあると仮定" -"します。" msgid "" "If you are reading this tutorial sequentially, you'll have an existing cluster" @@ -470,42 +468,53 @@ msgstr "" "dify` を使って2つのクラスタを作り、1つを空にしましょう。手順は以下の通りです:" msgid "" -" (on 192.168.100.50)\n" -" # droonga-engine-catalog-modify --source=~/droonga/catalog.json \\\n" -" --update \\\n" -" --replica-hosts=192.168.100.50" +"~~~\n" +"(on node0)\n" +"# service droonga-http-server restart\n" +" * Restarting droonga-http-server [ OK ]\n" +"# droonga-engine-catalog-modify --source=~/droonga/catalog.json \\\n" +" --update \\\n" +" --replica-hosts=node0\n" +"~~~" msgstr "" msgid "" -" (on 192.168.100.51)\n" -" # droonga-engine-catalog-modify --source=~/droonga/catalog.json \\\n" -" --update \\\n" -" --replica-hosts=192.168.100.51\n" -" # endpoint=\"http://192.168.100.51:10041\"\n" -" # curl \"$endpoint/d/table_remove?name=Location\"\n" -" # curl \"$endpoint/d/table_remove?name=Store\"\n" -" # curl \"$endpoint/d/table_remove?name=Term\"" +"~~~\n" +"(on node1)\n" +"# service droonga-http-server restart\n" +" * Restarting droonga-http-server [ OK ]\n" +"# droonga-engine-catalog-modify --source=~/droonga/catalog.json \\\n" +" --update \\\n" +" --replica-hosts=node1\n" +"$ endpoint=\"http://node1:10041\"\n" +"$ curl \"$endpoint/d/table_remove?name=Location\"\n" +"$ curl \"$endpoint/d/table_remove?name=Store\"\n" +"$ curl \"$endpoint/d/table_remove?name=Term\"\n" +"~~~" msgstr "" msgid "" -"After that there are two clusters: one contains `192.168.100.50` with data, an" -"other contains `192.168.100.51` with no data. Confirm it:" +"Note, don't forget to restart the `droonga-http-server` service on each node t" +"o refresh response caches, before separation." +msgstr "" + +msgid "" +"After that there are two clusters: one contains `node0` with data, another con" +"tains `node1` with no data. Confirm it:" msgstr "" -"これで、ノード `192.168.100.50` を含む複製元クラスタと、ノード `192.168.100.51` を含む複製先の空のクラスタの、2つのクラ" -"スタができました。確かめてみましょう:" msgid "" "~~~\n" -"# curl \"http://192.168.100.50:10041/droonga/system/status\" | jq \".\"\n" +"$ curl \"http://node0:10041/droonga/system/status\" | jq \".\"\n" "{\n" " \"nodes\": {\n" -" \"192.168.100.50:10031/droonga\": {\n" +" \"node0:10031/droonga\": {\n" " \"live\": true\n" " }\n" " }\n" "}\n" -"# curl \"http://192.168.100.50:10041/d/select?table=Store&output_columns=name&l" -"imit=10\" | jq \".\"\n" +"$ curl \"http://node0:10041/d/select?table=Store&output_columns=name&limit=10\" " +"| jq \".\"\n" "[\n" " [\n" " 0,\n" @@ -556,16 +565,16 @@ msgid "" " ]\n" " ]\n" "]\n" -"# curl \"http://192.168.100.51:10041/droonga/system/status\" | jq \".\"\n" +"$ curl \"http://node1:10041/droonga/system/status\" | jq \".\"\n" "{\n" " \"nodes\": {\n" -" \"192.168.100.51:10031/droonga\": {\n" +" \"node1:10031/droonga\": {\n" " \"live\": true\n" " }\n" " }\n" "}\n" -"# curl \"http://192.168.100.51:10041/d/select?table=Store&output_columns=name&l" -"imit=10\" | jq \".\"\n" +"$ curl \"http://node1:10041/d/select?table=Store&output_columns=name&limit=10\" " +"| jq \".\"\n" "[\n" " [\n" " 0,\n" @@ -584,14 +593,6 @@ msgid "" "~~~" msgstr "" -msgid "" -"Note: `/droonga/system/status` may not return the result like above. It can ca" -"che the result of old status. We have to update these codes to confirm cluster" -" changes." -msgstr "" -"注意:`/droonga/system/status` が上記の通りの結果を返さないことがあるので、クラスタ構成の変更を確認する方法については要検証・要更新" -"。" - msgid "### Duplicate data between two Droonga clusters" msgstr "### 2つのDroongaクラスタの間でデータを複製する" @@ -604,11 +605,11 @@ msgstr "" msgid "" "~~~\n" -"(on 192.168.100.50 or 192.168.100.51)\n" -"# droonga-engine-absorb-data --source-host=192.168.100.50 \\\n" -" --destination-host=192.168.100.51\n" -"Start to absorb data from 192.168.100.50\n" -" to 192.168.100.51\n" +"(on node0 or node1)\n" +"$ droonga-engine-absorb-data --source-host=node0 \\\n" +" --destination-host=node1\n" +"Start to absorb data from node0\n" +" to node1\n" " dataset = Default\n" " port = 10031\n" " tag = droonga" @@ -622,66 +623,27 @@ msgid "" msgstr "" msgid "" +"To refresh response cacnes, restart the `droonga-http-server` on the destinati" +"on node:" +msgstr "" + +msgid "" +"~~~\n" +"(on node1)\n" +"# service droonga-http-server restart\n" +" * Restarting droonga-http-server [ OK ]\n" +"~~~" +msgstr "" + +msgid "" "After that contents of these two clusters are completely synchronized. Confirm" " it:" msgstr "以上の操作で、2つのクラスタの内容が完全に同期されました。確かめてみましょう:" msgid "" "~~~\n" -"# curl \"http://192.168.100.50:10041/d/select?table=Store&output_columns=name&l" -"imit=10\" | jq \".\"\n" -"[\n" -" [\n" -" 0,\n" -" 1401363556.0294158,\n" -" 7.62939453125e-05\n" -" ],\n" -" [\n" -" [\n" -" [\n" -" 40\n" -" ],\n" -" [\n" -" [\n" -" \"name\",\n" -" \"ShortText\"\n" -" ]\n" -" ],\n" -" [\n" -" \"1st Avenue & 75th St. - New York NY (W)\"\n" -" ],\n" -" [\n" -" \"76th & Second - New York NY (W)\"\n" -" ],\n" -" [\n" -" \"Herald Square- Macy's - New York NY\"\n" -" ],\n" -" [\n" -" \"Macy's 5th Floor - Herald Square - New York NY (W)\"\n" -" ],\n" -" [\n" -" \"80th & York - New York NY (W)\"\n" -" ],\n" -" [\n" -" \"Columbus @ 67th - New York NY (W)\"\n" -" ],\n" -" [\n" -" \"45th & Broadway - New York NY (W)\"\n" -" ],\n" -" [\n" -" \"Marriott Marquis - Lobby - New York NY\"\n" -" ],\n" -" [\n" -" \"Second @ 81st - New York NY (W)\"\n" -" ],\n" -" [\n" -" \"52nd & Seventh - New York NY (W)\"\n" -" ]\n" -" ]\n" -" ]\n" -"]\n" -"# curl \"http://192.168.100.51:10041/d/select?table=Store&output_columns=name&l" -"imit=10\" | jq \".\"\n" +"$ curl \"http://node1:10041/d/select?table=Store&output_columns=name&limit=10\" " +"| jq \".\"\n" "[\n" " [\n" " 0,\n" @@ -742,17 +704,30 @@ msgid "Run following command lines to unite these two clusters:" msgstr "これらの2つのクラスタを結合するために、以下のコマンド列を実行しましょう:" msgid "" -" (on 192.168.100.50)\n" -" # droonga-engine-catalog-modify --source=~/droonga/catalog.json \\\n" -" --update \\\n" -" --add-replica-hosts=192.168.100.51" +"~~~\n" +"(on node0)\n" +"# droonga-engine-catalog-modify --source=~/droonga/catalog.json \\\n" +" --update \\\n" +" --add-replica-hosts=node1\n" +"# service droonga-http-server restart\n" +" * Restarting droonga-http-server [ OK ]\n" +"~~~" +msgstr "" + +msgid "" +"~~~\n" +"(on node1)\n" +"# droonga-engine-catalog-modify --source=~/droonga/catalog.json \\\n" +" --update \\\n" +" --add-replica-hosts=node0\n" +"# service droonga-http-server restart\n" +" * Restarting droonga-http-server [ OK ]\n" +"~~~" msgstr "" msgid "" -" (on 192.168.100.51)\n" -" # droonga-engine-catalog-modify --source=~/droonga/catalog.json \\\n" -" --update \\\n" -" --add-replica-hosts=192.168.100.50" +"Note that you always have to restart the `droonga-http-server` service on node" +"s to refresh response caches." msgstr "" msgid "After that there is just one cluster - yes, it's the initial state." @@ -760,13 +735,13 @@ msgstr "これで、1つだけクラスタがある状態になりました。 msgid "" "~~~\n" -"# curl \"http://192.168.100.50:10041/droonga/system/status\" | jq \".\"\n" +"$ curl \"http://node0:10041/droonga/system/status\" | jq \".\"\n" "{\n" " \"nodes\": {\n" -" \"192.168.100.50:10031/droonga\": {\n" +" \"node0:10031/droonga\": {\n" " \"live\": true\n" " },\n" -" \"192.168.100.51:10031/droonga\": {\n" +" \"node1:10031/droonga\": {\n" " \"live\": true\n" " }\n" " }\n" Modified: ja/tutorial/1.0.6/dump-restore/index.md (+114 -132) =================================================================== --- ja/tutorial/1.0.6/dump-restore/index.md 2014-09-24 01:56:16 +0900 (8472547) +++ ja/tutorial/1.0.6/dump-restore/index.md 2014-09-24 02:18:59 +0900 (6670fd8) @@ -21,26 +21,11 @@ layout: ja ## 前提条件 -* 何らかのデータが格納されている状態の[Droonga][]クラスタがあること。 - このチュートリアルを始める前に、[「使ってみる」のチュートリアル](../groonga/)を完了している事が望ましいです -* `catalog.json`に`Default`データセットがあること。 - 別の名前でデータセットを作成していた場合は、名前を変更しておいて下さい: - - "datasets": { - - "Starbucks": { - + "Default": { - -* `catalog.json`に`dump`プラグインと`system`プラグインが登録済みであること。 - 未登録の場合は、以下のようにして`plugins`の一覧に`dump`と`system`を追加しておいて下さい: - - - "plugins": ["groonga", "crud", "search"], - + "plugins": ["groonga", "crud", "search", "dump", "system"], - -* `catalog.json`の`schema`セクションが情報を含んでいないこと・ - スキーマを定義していた場合は、以下のようにして`schema`セクションを空にしておいて下さい: - - "schema": {}, - +* You must have an existing [Droonga][] cluster with some data. + Please complete the ["getting started" tutorial](../groonga/) before this. + +This tutorial assumes that there are two existing Droonga nodes prepared by the [previous tutorial](../groonga/): `node0` (`192.168.100.50`) and `node1` (`192.168.100.51`), and there is another computer `node2` (`192.168.100.52`) as a working environment. +If you have Droonga nodes with other names, read `node0`, `node1` and `node2` in following descriptions as yours. ## Droongaクラスタのデータをバックアップする @@ -48,22 +33,24 @@ layout: ja 最初に、Rubygems経由で `drndump` と名付けられたコマンドラインツールをインストールします: - # gem install drndump +### `drndump` のインストール その後、`drndump` コマンドが正しくインストールできたかどうかを確認します: - # drndump --version - drndump 1.0.0 +~~~ +$ drndump --version +drndump 1.0.0 +~~~ ### Droongaクラスタ内のデータをダンプする `drndump` コマンドはすべてのスキ−マ定義とデータをJSONs形式で取り出します。既存のDroongaクラスタのすべての内容をダンプ出力してみましょう。 -例えば、クラスタが `192.168.100.50` と `192.168.100.51` の2つのノードから構成されていて、別のホスト `192.168.100.52` にログインしている場合、コマンドラインは以下の要領です。 +For example, if your cluster is constructed from two nodes `node0` (`192.168.100.50`) and `node1` (`192.168.100.51`), and now you are logged in to new another computer `node2` (`192.168.100.52`). then the command line is: ~~~ -# drndump --host=192.168.100.50 \ - --receiver-host=192.168.100.52 +# drndump --host=node0 \ + --receiver-host=node2 { "type": "table_create", "dataset": "Default", @@ -120,9 +107,11 @@ layout: ja 実行結果は標準出力に出力されます。 結果をJSONs形式のファイルに保存する場合は、リダイレクトを使って以下のようにして下さい: - # drndump --host=192.168.100.50 \ - --receiver-host=192.168.100.52 \ - > dump.jsons +~~~ +$ drndump --host=node0 \ + --receiver-host=node2 \ + > dump.jsons +~~~ ## Droongaクラスタのデータを復元する @@ -134,22 +123,24 @@ layout: ja Droongaクラスタにそれらのメッセージを送信するには、`droonga-send` コマンドを使います。 このコマンドを含んでいるGemパッケージ `droonga-client` をインストールして下さい: - # gem install droonga-client +### `droonga-client`のインストール `droonga-send` コマンドが正しくインストールされた事を確認しましょう: - # droonga-send --version - droonga-send 0.1.9 +~~~ +$ droonga-send --version +droonga-send 0.1.9 +~~~ ### 空のDroongaクラスタを用意する -2つのノード `192.168.100.50` と `192.168.100.51` からなる空のクラスタがあり、今 `192.168.100.52` にログインして操作を行っていて、ダンプファイルが `dump.jsons` という名前で手元にあると仮定します。 +Assume that there is an empty Droonga cluster constructed from two nodes `node0` (`192.168.100.50`) and `node1` (`192.168.100.51`), now you are logged in to the host `node2` (`192.168.100.52`), and there is a dump file `dump.jsons`. もし順番にこのチュートリアルを読み進めているのであれば、クラスタとダンプファイルが既に手元にあるはずです。以下の操作でクラスタを空にしましょう: ~~~ -# endpoint="http://192.168.100.50:10041" -# curl "$endpoint/d/table_remove?name=Location" | jq "." +$ endpoint="http://node0:10041" +$ curl "$endpoint/d/table_remove?name=Location" | jq "." [ [ 0, @@ -158,7 +149,7 @@ Droongaクラスタにそれらのメッセージを送信するには、`droong ], true ] -# curl "$endpoint/d/table_remove?name=Store" | jq "." +$ curl "$endpoint/d/table_remove?name=Store" | jq "." [ [ 0, @@ -167,7 +158,7 @@ Droongaクラスタにそれらのメッセージを送信するには、`droong ], true ] -# curl "$endpoint/d/table_remove?name=Term" | jq "." +$ curl "$endpoint/d/table_remove?name=Term" | jq "." [ [ 0, @@ -178,11 +169,19 @@ Droongaクラスタにそれらのメッセージを送信するには、`droong ] ~~~ +And, restart the `droonga-http-server` service on each node to refresh response caches: + +~~~ +(on node0, node1) +# service droonga-http-server restart + * Restarting droonga-http-server [ OK ] +~~~ + これでクラスタは空になりました。確かめてみましょう: ~~~ -# endpoint="http://192.168.100.50:10041" -# curl "$endpoint/d/table_list" | jq "." +$ endpoint="http://node0:10041" +$ curl "$endpoint/d/table_list" | jq "." [ [ 0, @@ -226,7 +225,7 @@ Droongaクラスタにそれらのメッセージを送信するには、`droong ] ] ] -# curl "$endpoint/d/select?table=Store&output_columns=name&limit=10" | jq "." +$ curl "$endpoint/d/select?table=Store&output_columns=name&limit=10" | jq "." [ [ 0, @@ -249,10 +248,18 @@ Droongaクラスタにそれらのメッセージを送信するには、`droong `drndump` の実行結果はダンプ出力元と同じ内容のデータセットを作るために必要な情報をすべて含んでいます。そのため、クラスタが壊れた場合でも、ダンプファイルからクラスタを再構築する事ができます。 やり方は単純で、単にダンプファイルを `droonga-send` コマンドを使ってからのクラスタに流し込むだけです。 +Before restoration, restart the `droonga-http-server` service on each node to refresh response caches: + +~~~ +(on node0, node1) +# service droonga-http-server restart + * Restarting droonga-http-server [ OK ] +~~~ + ダンプファイルからクラスタの内容を復元するには、以下のようなコマンドを実行します: ~~~ -# droonga-send --server=192.168.100.50 \ +$ droonga-send --server=node0 \ dump.jsons ~~~ @@ -265,7 +272,7 @@ Droongaクラスタにそれらのメッセージを送信するには、`droong これで、データが完全に復元されました。確かめてみましょう: ~~~ -# curl "$endpoint/d/select?table=Store&output_columns=name&limit=10" | jq "." +$ curl "$endpoint/d/select?table=Store&output_columns=name&limit=10" | jq "." [ [ 0, @@ -325,37 +332,47 @@ Droongaクラスタにそれらのメッセージを送信するには、`droong ### 複数のDroongaクラスタを用意する -ノード `192.168.100.50` を含む複製元クラスタと、ノード `192.168.100.51` を含む複製先クラスタの2つのクラスタがあると仮定します。 +Assume that there are two clusters: the source has a node `node0` (`192.168.100.50`), and the destination has a node `node1' (`192.168.100.51`). もし順番にこのチュートリアルを読み進めているのであれば、2つのノードを含むクラスタが手元にあるはずです。`droonga-engine-catalog-modify` を使って2つのクラスタを作り、1つを空にしましょう。手順は以下の通りです: - (on 192.168.100.50) - # droonga-engine-catalog-modify --source=~/droonga/catalog.json \ - --update \ - --replica-hosts=192.168.100.50 +~~~ +(on node0) +# service droonga-http-server restart + * Restarting droonga-http-server [ OK ] +# droonga-engine-catalog-modify --source=~/droonga/catalog.json \ + --update \ + --replica-hosts=node0 +~~~ - (on 192.168.100.51) - # droonga-engine-catalog-modify --source=~/droonga/catalog.json \ - --update \ - --replica-hosts=192.168.100.51 - # endpoint="http://192.168.100.51:10041" - # curl "$endpoint/d/table_remove?name=Location" - # curl "$endpoint/d/table_remove?name=Store" - # curl "$endpoint/d/table_remove?name=Term" +~~~ +(on node1) +# service droonga-http-server restart + * Restarting droonga-http-server [ OK ] +# droonga-engine-catalog-modify --source=~/droonga/catalog.json \ + --update \ + --replica-hosts=node1 +$ endpoint="http://node1:10041" +$ curl "$endpoint/d/table_remove?name=Location" +$ curl "$endpoint/d/table_remove?name=Store" +$ curl "$endpoint/d/table_remove?name=Term" +~~~ -これで、ノード `192.168.100.50` を含む複製元クラスタと、ノード `192.168.100.51` を含む複製先の空のクラスタの、2つのクラスタができました。確かめてみましょう: +Note, don't forget to restart the `droonga-http-server` service on each node to refresh response caches, before separation. + +After that there are two clusters: one contains `node0` with data, another contains `node1` with no data. Confirm it: ~~~ -# curl "http://192.168.100.50:10041/droonga/system/status" | jq "." +$ curl "http://node0:10041/droonga/system/status" | jq "." { "nodes": { - "192.168.100.50:10031/droonga": { + "node0:10031/droonga": { "live": true } } } -# curl "http://192.168.100.50:10041/d/select?table=Store&output_columns=name&limit=10" | jq "." +$ curl "http://node0:10041/d/select?table=Store&output_columns=name&limit=10" | jq "." [ [ 0, @@ -406,15 +423,15 @@ Droongaクラスタにそれらのメッセージを送信するには、`droong ] ] ] -# curl "http://192.168.100.51:10041/droonga/system/status" | jq "." +$ curl "http://node1:10041/droonga/system/status" | jq "." { "nodes": { - "192.168.100.51:10031/droonga": { + "node1:10031/droonga": { "live": true } } } -# curl "http://192.168.100.51:10041/d/select?table=Store&output_columns=name&limit=10" | jq "." +$ curl "http://node1:10041/d/select?table=Store&output_columns=name&limit=10" | jq "." [ [ 0, @@ -432,19 +449,17 @@ Droongaクラスタにそれらのメッセージを送信するには、`droong ] ~~~ -注意:`/droonga/system/status` が上記の通りの結果を返さないことがあるので、クラスタ構成の変更を確認する方法については要検証・要更新。 - ### 2つのDroongaクラスタの間でデータを複製する 2つのクラスタの間でデータをコピーするには、いずれかのノード上で以下のように `droonga-engine-absorb-data` コマンドを実行します: ~~~ -(on 192.168.100.50 or 192.168.100.51) -# droonga-engine-absorb-data --source-host=192.168.100.50 \ - --destination-host=192.168.100.51 -Start to absorb data from 192.168.100.50 - to 192.168.100.51 +(on node0 or node1) +$ droonga-engine-absorb-data --source-host=node0 \ + --destination-host=node1 +Start to absorb data from node0 + to node1 dataset = Default port = 10031 tag = droonga @@ -454,61 +469,18 @@ Absorbing... Done. ~~~ +To refresh response cacnes, restart the `droonga-http-server` on the destination node: + +~~~ +(on node1) +# service droonga-http-server restart + * Restarting droonga-http-server [ OK ] +~~~ + 以上の操作で、2つのクラスタの内容が完全に同期されました。確かめてみましょう: ~~~ -# curl "http://192.168.100.50:10041/d/select?table=Store&output_columns=name&limit=10" | jq "." -[ - [ - 0, - 1401363556.0294158, - 7.62939453125e-05 - ], - [ - [ - [ - 40 - ], - [ - [ - "name", - "ShortText" - ] - ], - [ - "1st Avenue & 75th St. - New York NY (W)" - ], - [ - "76th & Second - New York NY (W)" - ], - [ - "Herald Square- Macy's - New York NY" - ], - [ - "Macy's 5th Floor - Herald Square - New York NY (W)" - ], - [ - "80th & York - New York NY (W)" - ], - [ - "Columbus @ 67th - New York NY (W)" - ], - [ - "45th & Broadway - New York NY (W)" - ], - [ - "Marriott Marquis - Lobby - New York NY" - ], - [ - "Second @ 81st - New York NY (W)" - ], - [ - "52nd & Seventh - New York NY (W)" - ] - ] - ] -] -# curl "http://192.168.100.51:10041/d/select?table=Store&output_columns=name&limit=10" | jq "." +$ curl "http://node1:10041/d/select?table=Store&output_columns=name&limit=10" | jq "." [ [ 0, @@ -565,26 +537,36 @@ Done. これらの2つのクラスタを結合するために、以下のコマンド列を実行しましょう: - (on 192.168.100.50) - # droonga-engine-catalog-modify --source=~/droonga/catalog.json \ - --update \ - --add-replica-hosts=192.168.100.51 +~~~ +(on node0) +# droonga-engine-catalog-modify --source=~/droonga/catalog.json \ + --update \ + --add-replica-hosts=node1 +# service droonga-http-server restart + * Restarting droonga-http-server [ OK ] +~~~ + +~~~ +(on node1) +# droonga-engine-catalog-modify --source=~/droonga/catalog.json \ + --update \ + --add-replica-hosts=node0 +# service droonga-http-server restart + * Restarting droonga-http-server [ OK ] +~~~ - (on 192.168.100.51) - # droonga-engine-catalog-modify --source=~/droonga/catalog.json \ - --update \ - --add-replica-hosts=192.168.100.50 +Note that you always have to restart the `droonga-http-server` service on nodes to refresh response caches. これで、1つだけクラスタがある状態になりました。最初の状態に戻ったという事になります。 ~~~ -# curl "http://192.168.100.50:10041/droonga/system/status" | jq "." +$ curl "http://node0:10041/droonga/system/status" | jq "." { "nodes": { - "192.168.100.50:10031/droonga": { + "node0:10031/droonga": { "live": true }, - "192.168.100.51:10031/droonga": { + "node1:10031/droonga": { "live": true } } Modified: tutorial/1.0.6/dump-restore/index.md (+1 -1) Mode: 100644 -> 100755 =================================================================== --- tutorial/1.0.6/dump-restore/index.md 2014-09-24 01:56:16 +0900 (fda40e2) +++ tutorial/1.0.6/dump-restore/index.md 2014-09-24 02:18:59 +0900 (cc62a05) @@ -357,7 +357,7 @@ $ curl "$endpoint/d/table_remove?name=Store" $ curl "$endpoint/d/table_remove?name=Term" ~~~ -Note, don't forget to restart the "droonga-http-server" service on each node to refresh response caches, before separation. +Note, don't forget to restart the `droonga-http-server` service on each node to refresh response caches, before separation. After that there are two clusters: one contains `node0` with data, another contains `node1` with no data. Confirm it: -------------- next part -------------- HTML����������������������������... Download