Gearpump 設定

マスターとワーカーの設定

マスターとワーカーデーモンはconf/gear.confからのみ設定を読み込むでしょう。

マスターはセクションマスターとgearpumpから設定を読みます:

master {
}
gearpump{
}

ワーカーはセクションワーカーとgearpumpから設定を読みます:

worker {
}
gearpump{
}

ユーザがサブミットしたアプリケーション ジョブのための設定

ユーザアプリケーションのジョブについては、クラスパスから設定ファイルgear.confapplication.conf を読むでしょうが、application.confが優先です。デフォルトのクラスパスは以下を含みます:

  1. conf/
  2. 現在の作業ディレクトリ。

例えば、作業ディレクトリにapplication.conf を置くことができ、そして、それは新しいジョブ アプリケーションをサブミットした時に有効になるでしょう。

ログ

ログのレベルを変更するには、gear.conflog4j.propertiesの両方を変更する必要があります。

マスターとワーカーデーモンのログレベルを変更するには

gear.conf内のlog4j.properties, gearpump-master.akka.loglevelgearpump-worker.akka.loglevel を変更してください。

アプリケーションジョブのログレベルを変更するには

log4j.properties内のlog4j.rootLevel、およびgear.confまたはapplication.confの中のakka.loglevelを変更してください。

Gearpump のデフォルトの設定

これはgear.confのデフォルトの設定です。

設定項目 デフォルト値 説明
gearpump.hostname “127.0.0.1” 現在のマシーンのホスト名ローカルモードを使っている場合は、これを 127.0.0.1に設定してください。クラスタモードを使っている場合は、必ず他のマシーンからアクセス可能なホスト名でなければなりません。
gearpump.cluster.masters [“127.0.0.1:3000”] クラスタのマスターノードを設定するための設定。リスト内に複数のマスターがある場合は、マスターノードはHAモードで動作します。例えば、3つのマスター、node1上: bin/master -ip node1 -port 3000, node2上: bin/master -ip node2 -port 3000, node3上: bin/master -ip node3 -port 3000を開始するかもしれません。そしてgearpump.cluster.masters = ["node1:3000","node2:3000","node3:3000"]を設定する必要があります。
gearpump.task-dispatcher “gearpump.shared-thread-pool-dispatcher” タスクアクターのためのデフォルトのディスパッチャー
gearpump.metrics.enabled true マトリックスシステムを有効にするためのフラグ
gearpump.metrics.sample-rate 1 gearpump.metrics.sample-rate データポイントごとに1つの標本を採るでしょう。UIポータル上の統計が正確ではないという影響があるかも知れないことに注意してください。UI内のマトリックスを正確にしたい場合は、1に変更してください。
gearpump.metrics.report-interval-ms 15000 15秒毎に一度、レポートするでしょう。
gearpump.metrics.reporter “akka” 利用可能な値: “graphite”, “akka”, “logfile” はマトリックスデータを異なる場所に書き込みます。
gearpump.retainHistoryData.hours 72 履歴データを保持する最大の時間。注意: 実装の制限(全ての履歴をメモリに格納します)のため、これをあまりに大きくしないでください。メモリを使い果たすかもしれません。
gearpump.retainHistoryData.intervalMs 3600000 履歴データの二つのデータポイントの間隔 (単位:ms)。coarse-grainデータのみを格納できるように、通常これは大きな値が設定されます。
gearpump.retainRecentData.seconds 300 最近のデータを維持するための最大の秒数。これはfine-grainデータのためのものです。
gearpump.retainRecentData.intervalMs 15000 最近のデータの二つのデータポイントの間隔 (単位:ms)。
gearpump.log.daemon.dir “logs” デーモンプロセスのためのログディレクトリ (現在の作業ディレクトリの相対)
gearpump.log.application.dir “logs” アプリケーションのためのログディレクトリ (現在の作業ディレクトリの相対)
gearpump.serializers a map ストリーミングアプリケーションのための独自のシリアライザ、例えば "scala.Array" = ""
gearpump.worker.slots 1000 各ワーカーがどれだけの数のスロットを含むか
gearpump.appmaster.vmargs “-server -Xss1M -XX:+HeapDumpOnOutOfMemoryError -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=80 -XX:+UseParNewGC -XX:NewRatio=3 -Djava.rmi.server.hostname=localhost” AppMasterのためのJVM引数
gearpump.appmaster.extraClasspath ”” AppMasterのためのJVMデフォルトクラス
gearpump.executor.vmargs “-server -Xss1M -XX:+HeapDumpOnOutOfMemoryError -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=80 -XX:+UseParNewGC -XX:NewRatio=3 -Djava.rmi.server.hostname=localhost” executorのためのJVM引数
gearpump.executor.extraClasspath ”” executorのためのJVMデフォルトクラス
gearpump.jarstore.rootpath “jarstore/” サブミットされたjarファイルがどこに格納されるかを定義このパスはhadoopパス スキーマの後に続きます。HDFSについては、hdfs://host:port/path/を使ってください; もしマスターノード上に格納したい場合は、ローカルディレクトリを使ってください。jarstore.rootpath = "jarstore/" はマスターが開始された場所からの相対ディレクトリを示すでしょう。jarstore.rootpath = "/jarstore/" はマスターサーバ上の絶対パスを示すでしょう。
gearpump.scheduling.scheduler-class “io.gearpump.cluster.scheduler.PriorityScheduler” アプリケーションをスケジュールするためのクラス。
gearpump.services.host “127.0.0.1” ダッシュボード UIのホストアドレス
gearpump.services.port 8090 ダッシュボード UI のホストポート
gearpump.netty.buffer-size 5242880 netty 接続バッファのサイズ
gearpump.netty.max-retries 30 netty クライアントがリモートホストに接続する最大試行回数
gearpump.netty.base-sleep-ms 100 netty クライアントが接続を試行する基本スリープ時間。実際のスリープ時間はこの値の倍数です。
gearpump.netty.max-sleep-ms 1000 nettyクライアントが接続を試行する最大スリープ時間
gearpump.netty.message-batch-size 262144 netty の最大バッチサイズ
gearpump.netty.flush-check-interval 10 netty層の最大フラッシュ間隔のミリ秒数
gearpump.netty.dispatcher “gearpump.shared-thread-pool-dispatcher” nettyクライアントとサーバのデフォルトのディスパッチャー
gearpump.shared-thread-pool-dispatcher "fork-join-executor"を使ったデフォルトのディスパッチャー デフォルトの共有スレッドプール ディスパッチャー
gearpump.single-thread-dispatcher PinnedDispatcher デフォルトの単一スレッドディスパッチャー
serialization-framework “io.gearpump.serializer.FastKryoSerializationFramework” GearpumpはKryoを使った組み込みのシリアライザ フレームワークを持ちます。ユーザはProtobufのような異なるシリアライズフレームワークを使うことができます。どうやって独自のシリアライズフレームワークを定義できるかについては、io.gearpump.serializer.FastKryoSerializationFramework を見てください。
TOP
inserted by FC2 system