cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <wikidi...@apache.org>
Subject [Cassandra Wiki] Update of "GettingStarted_JP" by ono_matope
Date Wed, 23 Oct 2013 01:56:37 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Cassandra Wiki" for change notification.

The "GettingStarted_JP" page has been changed by ono_matope:
https://wiki.apache.org/cassandra/GettingStarted_JP?action=diff&rev1=49&rev2=50

Comment:
Updated to follow GettingStarted #93

+ == DataStaxによるCassandraドキュメンテーション ==
+ !DataStaxの最新の[[http://www.datastax.com/docs/1.2/index|Cassandra ドキュメント]]
はインストールからトラブルシューティング、[[http://www.datastax.com/docs/quick_start/quickstart|クイックスタートガイド]]までをカバーしています。古いリリースのドキュメントも入手可能です。
- ## page was copied from GettingStarted
- ## page was renamed from GettingStarted2
- == はじめに ==
- Cassandraは高度な内容を含んでいます。簡単に物事を進めることができるよう作業を続けていますが、初めて環境構築をして実行するまで何度もくじけそうになるでしょう。このドキュメントはCassandraのインストールからクラスタの構築・運用までのいくつかの簡単なステップを初心者向けに提供することを目的としています。
  
- == ステップ0: コミュニティとのつながり ==
+ == イントロダクション ==
+ このドキュメントは、インストールからシングルノードでCassandraを実行するまでのいくつかの簡単な手順と、マルチノードクラスターを構築するための概要を初心者向けに提供することを目的としています。Cassandraはノードのクラスター上での動作を意図されていますが、単一マシン上でも同じように動作します。これは、巨大なシステムの複雑さを避けながらこのソフトウェアについて知識を深めるための便利な方法です。
+ 
+ == Step 0: 前提条件とコミュニティとの繋がり ==
+ Cassandraは、あなたがデプロイできるJava 1.6の最も安定した、できればOracle/Sun
JVMのバージョンを要求します。CassandraはIBM JVMでも動作しますし、jrockit上でも動作するはずです。
+ 
+  . OS X ユーザーへの注意:
+  OS Xを使用しているユーザーから、Java 6を実行するのに苦労したとの報告があります。Appleからのアップデートを常時適用している場合は、Java
6がすでにインストールされているはずです(Mac OS X 10.5 Update 1でインストールされます)。
しかしデフォルトで使用するようには設定されていないため、`JAVA_HOME`環境変数を`/System/Library/Frameworks/JavaVM.framework/Versions/1.6/Home`と設定し、`PATH`環境変数の最初に`/System/Library/Frameworks/JavaVM.framework/Versions/1.6/Home/bin`を追加する必要があります。
+ 
  プロジェクトの最新の情報、リリース、安定性、バグ、そして新機能を常にキャッチアップする一番の方法は、ユーザーメーリングリスト([[mailto:user-subscribe@cassandra.apache.org|登録はこちら]])へ登録し、[[http://webchat.freenode.net/?channels=#cassandra|IRC]]上の#cassandraチャンネルへ参加することです。
  
- <<Anchor(picking_a_version)>>
+ <<Anchor(picking_a_version)>> <<Anchor(download_a_kit)>>
  
- == ステップ1: バージョンを選ぶ ==
- Cassandraは常時複数のバージョンが提供されています。
+ == Step 1: Cassandraダウンロード ==
+  * 最新の安定版へのダウンロードリンクはいつでも[[http://cassandra.apache.org/download|ウェブサイト]]から見つけることができます。
+  * DebianやDebianベースのディストリビューションを使用しているユーザーは最新の安定版をパッケージ形式でインストールできます。詳しくはDebianPackagingを参照してください。
+  * RPMベースのディストリビューションのユーザーは[[http://www.datastax.com/documentation/cassandra/1.2/webhelp/index.html#cassandra/install/installRHEL_t.html|Datastax]]からパッケージを入手することができます
+  * もしCassandraをソースからビルドすることに興味があるなら、[[HowToBuild_JP|How
to Build]]ページを参照してください。
  
+  その他のビルドに関する詳しい情報は、[[VersionsAndBuilds|Cassandra versions
and builds]]ページを参照してください。
- === 安定版 ===
- Cassandraの安定版は十分テストされており、深刻な問題がない(もしくは問題があってもきちんとドキュメント化されている)バージョンです。本番環境の構築には安定版を使うのが良いでしょう。
- 
- 最新の安定版へのダウンロードリンクは[[http://cassandra.apache.org/download|ウェブサイト]]上に有ります。
- 
- === ベータ版とリリース候補版 ===
- ベータ版はユーザーテストを開始できると考えられる最初のリリースです。リリース候補版は次の安定版のリリース候補となります。これらのリリースは機能的に最新のものなので、Cassandraを始めるには最適なバージョンです。APIやディスク上のストレージフォーマットがメジャーバージョン間で変わることがあるため、このリリースを使用することでアップグレード時の手間を減らすことも可能です。テストとフィードバックをお願いします。
- 
- === ナイトリービルド版 ===
- ナイトリービルド版はビルド時点における現在の開発状況を表します。前日に追加された新しい機能や修正を含んでいますが、新たなバグも含んでいます。単にビルドが成功してユニットテストをパスたことだけを保証します。ナイトリービルド版は直近で追加された変更を試すには手軽な方法です。また、ベータ版やリリース候補版にはない最新の機能や修正が含まれています。しかしいくつかのバグが含まれているリスクが有ります。
- 
- 直近のナイトリービルド版は[[http://hudson.zones.apache.org/hudson/job/Cassandra/lastSuccessfulBuild/artifact/cassandra/build/|ここ]]からダウンロードできます。
- 
- === Subversion ===
- CassandraはSubversionレポジトリ上で活発に開発が行われています。プロジェクトへの貢献を考えている開発者はTrunkをチェックアウトしてください。Subversionの更新はこまめに行ない、[[mailto:dev-subscribe@cassandra.apache.org?subject=subscribe|開発者メーリングリスト]]に登録して、最新の開発状況をチェックしてください。
- 
- ソースコードのチェックアウト方法は[[http://cassandra.apache.org/download|ウェブサイト]]上に有ります。
  
  <<Anchor(running_a_single_node)>>
+ == Step 2: 基本設定 ==
+ Cassandra設定ファイルはバイナリまたはソースソースディストリビューションの`conf`ディレクトリにあります。debまたはrpmパッケージからインストールした場合、設定ファイルは`/etc/cassandra`に配置されているはずです。
  
- == ステップ2: 単独のノードで実行する ==
- Cassandraはクラスタ化されたノードで実行されるよう設計されていますが、1台のマシンでも同じように実行することができます。したがって、より大きなシステムで実行した場合に発生する複雑性を考えることなく、ソフトウェアに親しむことができます。
  
- Cassandraには特に決まったインストール方法はありません。一番簡単な方法はアーカイブから解凍したり、SVNからチェックアウトした([[#picking_a_version|バージョンを選ぶ]]を参照)Cassandraを単に実行することです<<FootNote(DebianやDebianベースのディストリビューションを使用しているユーザーは最新の安定版をパッケージ形式でインストールできます。詳しくはDebianPackagingを参照してください。)>>。バイナリ版をダウンロードしていない場合は、一番上のディレクトリ内で`ant`を実行してコンパイルする必要があります。
+ === Step 2.1: Cassandraが使うディレクトリ ===
+ debまたはrpmパッケージでインストールした場合、Cassandraが使うはずのディレクトリはすでに作られ、適切なパーミッションが付与されているはずです。そうでなければ、`conf/cassandra.yaml`から以下のコンフィグ設定を確認してください:
`data_file_directories` (`/var/lib/cassandra/data`), `commitlog_directory` (`/var/lib/cassandra/commitlog`),
`saved_caches_directory` (`/var/lib/cassandra/saved_caches`)。 これらのディレクトリが存在し、書き込み可能なことを確認してください。
  
+ デフォルトでは、Cassandraは`/var/log/cassandra/`の中にログを書き込みます。このディレクトリが存在して書き込み可能であることを確かめるか、`conf/log4j-server.properties`ファイル内のこの行を変更してください:
- 配布物に含まれるサンプルの設定ファイル`conf/cassandra.yaml`には、単一ノードで実行するために十分なデフォルト値がすでに設定されています。ただし`commitlog_directory`と`data_file_directories`、`saved_caches_directory`へのパスが存在することを確認してください。また、`conf/log4j.properties`にあるログの設定を確認し、ログファイルが格納されるディレクトリが存在することを確認してください。
- 
- OS Xを使用しているユーザーから、Java 6を実行するのに苦労したとの報告があります。Appleからのアップデートを常時適用している場合は、Java
6がすでにインストールされているはずです(Mac OS X 10.5 Update 1でインストールされます)。
しかしデフォルトで使用するようには設定されていないため、`JAVA_HOME`環境変数を`/System/Library/Frameworks/JavaVM.framework/Versions/1.6/Home`と設定し、`PATH`環境変数の最初に`/System/Library/Frameworks/JavaVM.framework/Versions/1.6/Home/bin`を追加する必要があります。
- 
- さあ、コマンドラインから`bin/cassandra -f`を実行してCassandraを起動してみましょう<<FootNote(起動スクリプトの制御の詳細については、[[RunningCassandra_JP|RunningCassandra_JP]]を参照してください。)>>。サービスがフォアグラウンドで起動し、標準出力にログが出力されはじめます。"error"や"fatal"といった恐ろしい単語やJavaのスタックトレースが出力に現れていないなら、起動成功です。起動したことを確認するため、次のステップに進む前にCassandraCliやThriftInterfaceを試してみてください。もし何か問題が発生した場合でも、落ち着いて、[[#if_something_goes_wrong|もしうまくいかなかった場合]]を参照してください。
- 
- == Step 3: クラスタ環境を構築する ==
- Cassandraクラスタの構築は、クラスタ内の個々のノードに関しては[[#running_a_single_node|ステップ2]]と''ほぼ''同じくらいシンプルです。ただし少しだけ違いが有ります。
- 
- Cassandraのノードはゴシップと呼ばれる方法を用いてお互いの情報を交換します。しかし情報交換がうまく回り始めるに、新しく開始されたノードは最低1つは別のノードの事をあらかじめ知っておく必要があります。そのノードのことをシード(`Seed`)と呼びます。
- 
- シードの他にゴシップとThriftの接続を受け付けるためのIPインターフェースを設定する必要があります(それぞれ設定ファイル内の`ListenAddress`と`ThriftAddress`)。ほかのノードからはListenAddressに、クライアントからはThriftAddressに対してアクセスが行われます。それぞれ他のノードやクライアントからアクセスが可能なように設定してください。
- 
- すべてのノードを設定して起動すると、`bin/nodetool`ユーティリティを用いてクラスタの接続性を検証できます。例えば:
  
  {{{
+ log4j.appender.R.File=/var/log/cassandra/system.log
- eevans@achilles:~$ bin/nodetool -host 98.139.220.175 ring
- Address       Status     Load          Range                                      Ring
-                                        169048975998562660269742699624378098572
- 98.139.220.175  Up         0.02 GB     14183696824377310051808173385764689249     |<--|
- 98.139.169.152  Up         0.4 GB      28356863910078205288614550619314017621     |   ^
- 98.139.220.176  Up         0.13 GB     42530828068625072228863933889289238187     |-->|
  }}}
- より高度なクラスタ管理方法は[[Operations_JP]]で解説しています。
+ ヒープサイズのようなJVMレベルの設定値は`conf/cassandra-env.sh`で設定します.
  
- Cassandraクラスタを構成するのに十分なハードウェアを準備出来ない場合でも、[[Cassandra
EC2]]を参考にEC2上に構築することもできます。
+ == Step 3: Cassandraを起動 ==
+ さあ、コマンドラインから`bin/cassandra -f`を実行してCassandraを起動してみましょう<<FootNote(起動スクリプトの制御の詳細については、
[[RunningCassandra_JP]] を参照してください。)>>。サービスがフォアグラウンドで起動し、標準出力にログが出力されはじめます。"error"や"fatal"といった恐ろしい単語やJavaのスタックトレースが出力に現れていないなら、起動成功です。
  
+ "Control-C"を押してCassandraを停止しましょう。
- == Step 4: アプリケーションを作成する ==
- Cassandraは[[http://incubator.apache.org/thrift/|Thrift]]をクライアントAPIとして使用します。CassandraのAPI/RPC/Thriftポートは9160です。Thriftは[[http://svn.apache.org/viewvc/incubator/thrift/trunk/lib/|様々なプログラミング言語]]をサポートします。直接Thriftを使ってコーディングしたり、[[http://wiki.apache.org/cassandra/ClientOptions|より高度な機能をもったクライアント]]を利用することもできます。取り掛かる前に[[http://wiki.apache.org/thrift|Thriftのwiki]]にあるドキュメントやThriftExamplesにある例に一通り目を通す事をおすすめします。
  
- CassandraのAPI/RPC/Thriftポートは9160です。APIクライアントが誤ってJMXのポートに接続しようとすることがよくあるので注意してください。
+ "-f"オプションなしでCassandraを起動した場合、バックグラウンド実行になります。たとえば'`pkill
-f CassandraDaemon`'を用いてkillすることでプロセスを停止できます。
  
- [[http://github.com/ericflo/twissandra|Twissandra]](Python + Django)のようなデモアプリケーションを確認してみるのも有効です。
+  . 最近のLinuxディストリビューションとMac OS X Snow Leopardユーザーは単純にuntarしてroot権限で`bin/cassandra
-f`するだけでCassandraを起動できるはずです。Java 1.6.0同梱のSnow Leopardは`JAVA_HOME`環境変数の変更や`PATH`へのディレクトリの追加を必要としません。Linuxでは、Ubuntu
Lucid Lynx上では`openjdk-6-jdk`であるようなインストールされたJava JDKパッケージがあることを単に確認してください。
+ 
+ == Step 4: cqlshを使う ==
+ `bin/cqlsh`はCassandraのインタラクティブなコマンドラインインターフェイスです。これを使ってスキーマを定義し、データを操作することができます。次のコマンドを実行してローカルのCassandraインスタインスに接続してください。
+ 
+ {{{
+ $ bin/cqlsh
+ }}}
+ 成功すれば、次のようなプロンプトを目にするでしょう:
+ 
+ {{{
+ Connected to Test Cluster at localhost:9160.
+ [cqlsh 2.3.0 | Cassandra 1.2.2 | CQL spec 3.0.0 | Thrift protocol 19.35.0]
+ Use HELP for help.
+ }}}
+ 
+ 断っておきますが、以降の例ではcqlshプロンプトを省略します。
+ 
+ 'help;'コマンドでオンラインヘルプにアクセス可能です。cqlshではコマンドはセミコロン(';')で終端となります。
+ 
+ まずは、キースペース -- テーブルの名前空間 を作りましょう。
+ 
+ {{{
+ CREATE KEYSPACE mykeyspace
+ WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 1 };
+ }}}
+ 次に、新しいキースペースに認証しましょう。
+ 
+ {{{
+ USE mykeyspace;
+ }}}
+ 次に、`users`テーブルを作成します:
+ 
+ {{{
+ CREATE TABLE users (
+   user_id int PRIMARY KEY,
+   fname text,
+   lname text
+ );
+ }}}
+ これで`users`にデータをストアすることができます:
+ 
+ {{{
+ INSERT INTO users (user_id,  fname, lname)
+   VALUES (1745, 'john', 'smith');
+ INSERT INTO users (user_id,  fname, lname)
+   VALUES (1744, 'john', 'doe');
+ INSERT INTO users (user_id,  fname, lname)
+   VALUES (1746, 'john', 'smith');
+ }}}
+ さて、挿入したデータを取得しましょう:
+ 
+ {{{
+ SELECT * FROM users;
+ }}}
+ あなたの新しい行を反映した出力を目にするはずです:
+ 
+ {{{
+  user_id | fname | lname
+ ---------+-------+-------
+     1745 |  john | smith
+     1744 |  john |   doe
+     1746 |  john | smith
+ }}}
+ インデックスを作成してからテーブルを次のように問い合わせることで、ラストネームがsmithであるユーザーについてのデータを取得できます:
+ 
+ {{{
+ CREATE INDEX ON users (lname);
+ 
+ SELECT * FROM users WHERE lname = 'smith';
+ 
+  user_id | fname | lname
+ ---------+-------+-------
+     1745 |  john | smith
+     1746 |  john | smith
+ }}}
+ 
+ == 複数ノードのクラスターを構築する ==
+ ここまでで、単一で動作するCassandraノードを手に入れました。これはたったひとつのノードを持つCassandraクラスターです。ノードを追加することで、これをマルチノードクラスターにすることができます。
+ 
+ Cassandraクラスタの構築は、上記の手順をクラスタ内の個々のノードについて繰り返すのと''ほぼ''同じくらい単純です。ただし少しだけ違いがあります。
+ 
+ Cassandraのノードはゴシップと呼ばれる方法を用いてお互いの情報を交換します。しかし情報交換がうまく回り始めるに、新しく開始されたノードは最低1つは別のノードの事をあらかじめ知っておく必要があります。そのノードのことをシード(`Seed`)と呼びます。比較的小数の安定したノードをseedとするのが慣例ですが、厳密なルールはありません。各シードは少なくともひとつ以上のシードと知り合っていている事を確認して、その目的は鶏と卵のシナリオを避け、クラスターの全てのノードがお互いを発見するための手段を提供することであると覚えておいてください。
+ 
+ シードに加えて、ゴシップとCQLのために(それぞれ'''listen_address'''
と '''rpc_address''')リッスンするIPインターフェイスを設定する必要があります。他の全ノードの`listen_address`から到達可能な`listen_address`とクライアントに利用しやすい
`rpc_address`を使用してください。
+ 
+ シードの他にゴシップとCQLの接続を受け付けるためのIPインターフェースを設定する必要があります(それぞれ'''listen_address'''と'''rpc_address''')。ほかのノードからはlisten_addressに、クライアントからはrpc_addressに対してアクセスが行われます。それぞれ他のノードやクライアントからアクセスが可能なように設定してください。
+ 
+ すべてのノードを設定して起動すると、`bin/nodetool status`ユーティリティを用いてクラスタの接続性を検証できます。例えば:
+ 
+ {{{
+ eevans@achilles:‾$ bin/nodetool -host 192.168.0.10 -p 7199 status
+ Datacenter: datacenter1
+ =======================
+ Status=Up/Down
+ |/ State=Normal/Leaving/Joining/Moving
+ --  Address    Load       Tokens  Owns   Host ID                               Rack
+ UN  127.0.0.3  30.99 KB   256     32.4%  92b20e08-9ddd-4f55-9173-8516e74d27f5  rack1
+ UN  127.0.0.2  31 KB      256     31.5%  b9616658-c744-48fb-b64f-83f96b007d93  rack1
+ UN  127.0.0.1  30.96 KB   256     36.1%  f7a08973-85bd-460f-8176-d6f9df8c23f4  rack1
+ }}}
+ 高度なクラスタ管理は[[Operations]]に記載されています。
+ 
+ もしまだあなたが本物のCassandraクラスターのためのハードウェアを持っていなければ、
+ [[https://github.com/pcmanus/ccm|ccm]] (Cassandra Cluster Manager)で簡単にローカルクラスターを管理できます。
+ 
+ マルチノードクラスタの設定については、MultinodeCluster を参照してください。
+ 
+ == アプリケーションを書く ==
+ DataModeling 上のリソースをレビューしてください。完全なCQLドキュメントは[[http://www.datastax.com/documentation/cql/3.0/webhelp/index.html|こちら]]です。
+ 
+ DataStaxは、https://github.com/datastax にてCQLドライバーの開発を援助しています。CQLドライバーの完全なリストは
ClientOptions ページにあります。
  
  <<Anchor(if_something_goes_wrong)>>
  
@@ -85, +172 @@

  
  最後に、問題の詳細をメーリングリスト([[mailto:user-subscribe@cassandra.apache.org|登録が必要]])に投稿するか、[[http://webchat.freenode.net/?channels=#cassandra|IRC]](ネットワーク:
irc.freenode.net、チャンネル: #cassandra)で知らせてください。
  
+ 
  <<BR>> <<BR>>
- 
+  
  ----
  '''脚注:'''
  

Mime
View raw message