Cassandraファイル・システム(CFS)について - 廃止予定
多くの場合、分析ジョブには分散ファイル・システムが必要です。DataStax Enterpriseでは、Cassandraファイル・システム(CFS)と呼ばれるHadoop分散ファイル・システム(HDFS)を用意しています。
分析ジョブには分散ファイル・システムが必要です。DataStax Enterpriseでは、Cassandraファイル・システム(CFS)と呼ばれるHadoop分散ファイル・システム(HDFS)を用意しています。DataStax Enterpriseファイル・システム(DSEFS)も参照してください。DSEFSは、DSE Analyticsノードのデフォルトの分散ファイル・システムです。
CFSを有効にしてAnalyticsノードが起動すると、DataStax Enterpriseによってルートcfs:/にCFSが作成され、ルートcfs-archive:/にcfs-archiveという名前のアーカイブ・ファイル・システムが作成されます。CFSは、Analyticsノードでのみ使用できます。DataStax Enterpriseでは、cfs-archive
ファイル・システムとその他すべてのCFSファイル・システムに対してキースペースを作成します。キースペース名はファイル・システム名と似ていますが、名前の中のハイフンはアンダースコアに置き換えられます。たとえば、cfs-archiveファイル・システムのキースペースはcfs_archiveになります。
CFSの場所を指定するには、cfs:/プレフィックスとAnalyticsノードのホスト名を使用する必要があります。たとえば、cfs://node2/tmpのようになります。
デフォルトのCFSキースペースのレプリケーション係数を大きくする
デフォルトのCFSキースペースのレプリケーション係数を大きくして、分析ジョブを実行する際に問題が発生しないようにする必要があります。
CFSキースペース・データの暗号化
Sparkは、構成されている認証を使用して、Hadoopファイル・システム(HDFS)の一部としてCassandraファイル・システム(CFS)にアクセスします。CFSキースペースのsblocksテーブルとinodeテーブルを暗号化すると、すべてのCFSデータが暗号化されます。
CFSスーパーユーザーの構成
CFSスーパーユーザーは、DataStax Enterpriseを起動するユーザーである、DataStax Enterpriseデーモン・ユーザーです。CQLのCREATE ROLEコマンドを使用して設定するcassandraスーパーユーザーも、CFSスーパーユーザーです。
CFSスーパーユーザーは、一切の制約を受けずにCFS内のファイルを変更できます。スーパーユーザーがCFSに追加するファイルはパスワードで保護されます。
CFSからのファイルの削除
dse hadoop fs -rm file
コマンドを使用した場合、DSEではディスクから即座に削除済みデータを除去しません。その代わりに、削除済みのデータは、データベースから削除されたデータと同じように処理されます。トゥームストーンが書き込まれ、新しいデータ・ステータスが示されます。トゥームストーンでマークされたデータは、構成されている期間(テーブルに設定されているgc_grace_seconds値で定義)存続します。猶予期間が過ぎると、コンパクション・プロセスによってデータが恒久的に削除されます。期限切れのデータを手動で削除する必要はありません。
CFSによるチェックポイント
DataStax Enterpriseは、CFSによるチェックポイントをサポートしていません。
CFSの整合性レベルの管理
CFSのデフォルトの読み取りと書き込みの整合性レベルは、キースペースのレプリケーション・ストラテジがSimpleStrategy
またはNetworkTopologyStrategy
のどちらであるかによって、それぞれLOCAL_QUORUMまたはQUORUMになります。整合性レベルを変更するには、core-site.xmlファイルのdse.consistencylevel.read
プロパティとdse.consistencylevel.write
プロパティの値を指定します。
DataStax EnterpriseでCFSをデフォルトの分散ファイル・システムに設定する
DSEFSがデフォルトの分散ファイル・システムです。
CFSをデフォルトのファイル・システムに設定するには、core-site.xmlHadoop構成ファイルに以下のプロパティを追加します。
<configuration> ... <property> <name>fs.default.name</name> <value>cfs://127.0.0.1/</value> </property> <property> <name>fs.defaultFS</name> <value>cfs://127.0.0.1/</value> </property> </configuration>
127.0.0.1を、cassandra.yamlに設定されているbroadcast_rpc_address
の値に置き換えます。
パッケージ・インストールInstaller-Servicesインストール |
/etc/dse/hadoop2-client/core-site.xml |
tarボール・インストールInstaller-No Servicesインストール |
installation_location/resources/hadoop2-client/conf/core-site.xml |
パッケージ・インストールInstaller-Servicesインストール |
/etc/dse/cassandra/cassandra.yaml |
tarボール・インストールInstaller-No Servicesインストール |
installation_location/resources/cassandra/conf/cassandra.yaml |
複数のCassandraファイル・システムの使用
- 分析ジョブを分離するため
- キースペースのレプリケーションをジョブごとに構成するため
- 異なる物理データ・センター内のファイル・システムを分離するため
- 分析データをその他の方法で分離するため
手順
- core-site.xmlファイルを編集するために開きます。
-
以下の形式を使用して、1つ以上のプロパティ要素をcore-site.xmlに追加します。
<property> <name>fs.cfs-file_system_name.impl</name> <value>com.datastax.bdp.hadoop.cfs.CassandraFileSystem</value> </property>
複数のCFSを使用する場合は、他のデータ・センターにある既存のCFSとの競合を避けるために、新しく作成したCFSのデフォルトのファイル・システム名をオーバーライドする必要があります。各データ・センターには一意のデフォルトのファイル・システムが必要です。たとえば、デフォルト値cfs://127.0.0.1/
の代わりに、新しいCFSの一意のファイル・システム名(cfs-myfs://127.0.0.1/
など)を指定します。<property> <name>fs.cfs-myfs.impl</name> <value>com.datastax.bdp.hadoop.cfs.CassandraFileSystem</value> </property> <property> <name>fs.default.name</name> <value>cfs-myfs://127.0.0.1/</value> </property>
-
ファイルを保存してDSEを再起動します。
DataStax Enterpriseによって新しいCFSが作成されます。
-
新しいCFSにアクセスするには、以下の形式を使用してURLを作成します。
cfs-file_system_name:path
たとえば、新しいファイル・システム名が=NewCassandraFS
の場合は、dseコマンドを使用してデータを新しいCFSに配置します。dse hadoop fs -put /tmp/giant_log.gz cfs-NewCassandraFS://hostname/tmp & dse hadoop fs distcp hdfs:/// cfs-NewCassandraFS://hostname/