問題タブ [amazon-kinesis]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Kinesis: ワーカーをシャットダウンする最善/安全な方法は何ですか?
AWS Kinesis Client Libraryを使用しています。
デプロイメント中に Kinesis Worker スレッドをシャットダウンして、途中ではなくチェックポイントで停止する方法が必要ですprocessRecords()
。
シャットダウンブール値が存在するのを確認しましWorker.java
たが、非公開になっています。
私が必要とする理由は、チェックポイントとべき等性が私にとって重要であり、バッチの途中でプロセスを強制終了したくないからです。
[編集]
@CaptainMurphy のおかげで、ワーカーを安全にシャットダウンするメソッドWorker.java
と. それがしないのは、 で task を呼び出すことです。状態を気にせずに突然終了します。shutdown()
LeaseCoordinator
shutdown()
IRecordProcessor
IRecordProcessor
IRecordProcessor
チェックポイント間の冪等性は KCL によって保証されておらず、開発者は設計をフォールト トレラントにする必要があることは理解していますが、それとは関係なく停止する前に適切にシャットダウンする必要があると感じていLeaseCoordinator
ます。
amazon-kinesis - Amazon Kinesis ストリームの許可されたシャードの最大数をプログラムで取得する方法はありますか?
デフォルトでは、Kinesis ストリームは最大 10 個のシャードを持つことが許可されていますが、この制限を増やすことができます。プログラムでストリームの制限を取得することは可能ですか? 公式の AWS Java SDK でそれを行う方法を見つけることができませんでした。
rest - Jmeter の HTTP リクエストを使用してレコードを Amazon Kinesis に入れる
jmeter を使用して、Web サービス REST の HTTP 要求を作成します。今、PutRecords メソッドを使用してこのリクエストを Amazon キネシスに送信したいのですが、リクエストを作成する方法、特にキネシスでの署名と認証のためにヘッダー フィールドを設定する方法がわかりません。誰かが休息リクエストを使用しましたか? ありがとう
hadoop - AWS Hive + EMR 上の Kinesis = チェックポイントを理解する
AWS Kinesis ストリームがあり、それを指す Hive に外部テーブルを作成しました。次に、チェックポイント用の DynamoDB テーブルを作成し、Hive クエリで、ここで説明されているように次のプロパティを設定します。
次の質問があります。
- 常に
iteration.no
0 に設定して開始する必要がありますか? - これは常にスクリプトの先頭から開始されますか (削除されようとしている最も古い Kinesis レコード)?
- スクリプトの実行をスケジュールするために cron を設定したとします。「次の」反復番号を取得するにはどうすればよいでしょうか。
- 同じデータに対してスクリプトを再実行するには、同じ実行番号でクエリを再実行するだけで十分ですか?
select * from kinesis_ext_table limit 100
with を何度も実行するとiteration.no=0
、最初の Kinesis レコードが削除され始めると、異なる/奇妙な結果が得られますか?
DynamoDB チェックポイント エントリが与えられた場合:
closed
フィールドの意味は何ですか?- シーケンス番号はインクリメンタルで、開始と終了の間に関係がありますか (例: 終了 - 開始 = 読み取られたレコードの数)?
- endSeqNum しかない (startSeqNum がない) 場合があることに気付きました。これをどのように解釈すればよいですか?
多くの質問があることは知っていますが、ドキュメントでこれらの回答を見つけることができませんでした。
amazon-web-services - AWS Kinesis 書き込みスループットにはデータがありませんが、受信リクエストの合計にデータがあります
こんにちは、Kinesis を使用してデータ ストリーミングを処理しています。
Kinesis にデータを正常に送信し、Kinesis からデータを取得できます。すべて問題ありません。
ただし、Kinesis の「モニタリング」を確認すると、書き込みスループットのデータは表示されませんが、総受信リクエストのデータは表示されます (添付のスクリーンショットを参照)。Kinesis からデータを正常にプルできるので、ある程度の書き込みスループットがあるはずだと思いますが、モニタリングで書き込みスループットがないのはなぜですか?
それとも、「書き込みスループット」と「着信要求」という用語を誤解している可能性がありますか?
どうもありがとうございました。
python - Amazon Kinesis Python クライアントが動作していることを確認する方法
Python 用 KCL ライブラリ ( https://github.com/awslabs/amazon-kinesis-client-python )を使用して、Amazon Kinesis Python コンシューマーを構築しようとしています。サンプルコードを確認することから始めました。サンプル コードのプロデューサー スクリプトとコンシューマー スクリプトの両方の部分を実行できましたが、(1 つのシャードを含む) キネシス ストリームからのデータがサンプル Python コンシューマー スクリプトにプッシュされているかどうかを確認できませんsample_kclpy_app.py
。
を使用して、ファイルamazon_kclpy_helper.py
を介して Python スクリプトを呼び出す Java コマンドを生成しました。sample.properties
Java コマンドを実行したところ、ターミナル出力から、Kinesis ストリームからのデータが読み取られていることがわかります。print
Python コンシューマー スクリプトの関数にステートメントを追加してprocess_record
、データがプッシュされているかどうかを確認しました。しかし、端末出力には表示されません。
logging
また、ファイルへの書き込みだけでなく、STDOUT メッセージの生成にも使用してみました。また、Python コードに行を追加assert 0
して、スクリプトを強制的に失敗させ、ログ出力に例外が表示されることを確認しました。次に、意図的に Python コードに構文エラーを追加しました。しかし、これらのすべてが Java MultiLangDaemon によって検出されたわけではないようです。Java MultiLangDaemon は継続して INFO ログ メッセージを大量に生成していました。
何が問題なのですか?また、データが実際にprocess_record
Python コンシューマー スクリプトの関数に送信されているかどうかを確認するより良い方法はありますか?
java - Amazon Kinesis putRecord AmazonServiceException
私は amazon kines が初めてで、レコードを kinesis に入れるための Java アプリケーションを作成したいと思います。その後、.class を jmeter に入れて、このコードを beanshell サンプルで使用します。しかし、putRecord を呼び出すと、次の例外が発生します。
Javaコードは次のとおりです(現在、私はkinesis eに接続しようとしているだけで、単純なレコードを入れてから、jsonの配列を入れています):
java - Jmeter とグローバル Beanshell 変数
jmeterで異なるBeanShell Samplerで同じ変数を使用することは可能ですか? 私の目標は、Amazon Kinesis Java アプリケーション (変換済み) を Jmeter にインポートすることですが、このコードの一部は接続であり、jmeter アプリケーションの起動時にこれを一度設定したいと考えています。したがって、別の Beanshell で AmazonKinesisClient 変数を再利用する必要があります。出来ますか?ありがとう
PS: JSONObject にも同じ問題がありますが、そのような場合は jmeter 変数を使用しました (json を文字列として保存します)。
amazon-web-services - Kinesis で 2 つの異なるストリームからデータを取得していますか?
Kinesis Consumer Client を作成しようとしています。それに取り組むために、Kinesis の開発者ガイドと AWS ドキュメントhttp://docs.aws.amazon.com/kinesis/latest/dev/kinesis-record-processor-implementation-app-java.htmlを調べました。
2 つの異なるストリームからデータを取得し、それに応じて処理することは可能でしょうか。
2 つの異なる Streamsstream1
とがあるとしstream2
ます。
ストリームとプロセスの両方から個別にデータを取得することは可能ですか?