問題タブ [distributed-cache]
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.
caching - Hadoopマップリデュースジョブで大きなファイルを効率的にキャッシュする方法は?
私の仕事の流れは以下の通りです。
膨大な量のデータを処理しています。MapFile
キャッシュする必要がある があります。このファイルのサイズは現在 1 GB ですが、最終的には大きくなると思います。
MapFile の内容は次のようになります。
- では、
map-phase
にある入力ファイルから各レコードを処理しますTextInputFormat
。行を解析 (トークンごとに分割) し、最初の 2 つのトークン (token1 と token2) を取得します。
(token1,token2) のペアがキャッシュされたファイルにない場合は、API 呼び出しを実行して情報を取得し、(可能であれば) キャッシュに保存して処理を続行します。
ここで私が見ている主な問題は
すべてのノードでキャッシュ内の大きなファイルを取得する方法。DistributedCache は、ファイルをローカル ノードにコピーすることで機能します。しかし、このファイルはサイズが大きいため、ここにネットワーク トラフィックが関係しており、私の日常業務では、ファイルを配布し続けたくありません。
MapFile(キャッシュ)を効率的に検索する方法、mapFile全体がメモリ内にありません。
私のキャッシュであるこのMapFileに書き込む方法。
ありがとう
hadoop - Google File System における Hadoop Distribution File system の Distributed cache と同様の機能は何ですか?
Google Compute Engineに6 ノードのHadoop クラスターをデプロイしました。
Hadoop ファイル配布システム(HFS)ではなく、 Google ファイル システム(GFS)を使用しています。
. そこで、 HDFS の分散キャッシュ方式と同じ方法で、GFSのファイルにアクセスしたいと考えています。
この方法でファイルにアクセスする方法を教えてください。
hazelcast - Hazelcast 分散マップ
アプリケーションには Hazelcast 分散キャッシュがあります。キャッシュは負荷が低い場合は適切に機能しますが、負荷が高くなり、ネットワークの待ち時間が長くなると、キャッシュはノード間で同期しなくなります。以前にこの動作を観察した人はいますか? ローカル マシンで 2 つのノードを使用しました。
hadoop - FileNotFoundException ですが、ファイルは存在します
分散キャッシュに追加されたファイルを読み取ろうとしているときに、Hadoop でこの例外が発生しました。奇妙なことに、ファイルは指定された場所に存在します。
を使用して仕事を始める前にファイルを追加しています
そして、マッパーの setup メソッドからファイルから読み取ろうとしています
前述のとおり、ファイルがローカル システム上にあることは確認できますが、例外がスローされます。
1台のコンピューターで、疑似分散モードでジョブを実行しています。
何か案は?
ありがとう
distributed-caching - Dache の SlidingExpiration Timespan とは何ですか?
SlidingExpiration
Dache の AddOrUpdate メソッドの Timespan とは正確には何ですか? または
を使用する方が良いですか、
違いは何ですか?SlidingExpiration
AbsoluteExpiration
caching - Hadoop パーティショナーで分散キャッシュからオブジェクトを取得することは可能ですか?
Hadoop の分散キャッシュを使用すると、開発者は小さなファイルを MR コンテキストに追加できます。これを使用して、Map または Reduce フェーズで追加情報を取得できます。ただし、このキャッシュにアクセスする方法は見つかりませんでしたPartitioner
。Partitioner
キーがレデューサーに送信される方法を決定するために、カスタムで小さなファイル (以前の MR ジョブの出力) の内容が必要です。
残念ながら、これに関する有用なドキュメントは見つかりません。現在、私の唯一のアイデアは、ファイルの内容を Base64 文字列にシリアル化し、Configuration
. Configuration
s を実装させることで、パーティショナーで使用できますConfigurable
。ファイルはこのアプローチには十分小さい (約 50KB) ですが、分散キャッシュの方が適していると思います。
編集:
私は少し良いと思う別のアプローチを見つけました。パーティショナーでアクセスする必要があるファイルは HDFS にあるため、その完全修飾URI
をConfiguration
. 私Partitioner
のsetConf
方法では、パスを介して再作成new Path(new URI(conf.get("some.file.key")))
し、の助けを借りてそれを読み取ることができますConfiguration
。それでもハックですが...
hazelcast - Hazelcast-OperationTimeoutException
Hazelcast バージョン 3.3.1 を使用しています。
c3.2xlarge サーバーを使用して aws で実行されている 9 ノードのクラスターがあります。
分散エグゼキュータ サービスと分散マップを使用しています。
分散エグゼキュータ サービスは単一のスレッドを使用します。分散マップは、レプリケーションもニア キャッシュもなしで構成され、Kryo シリアライザーを使用してサイズ 1 ~ 2kb の約 100 万個のオブジェクトを格納します。
私のユースケースは次のようになります。
- 9 つのノードすべてが、分散エグゼキュータ サービスで常に同期リモート操作を実行し、毎秒約 20,000 ヒット (ノードあたり約 2,000) を生成します。
- 呼び出しは、Hazelcast API: com.hazelcast.core.IExecutorService#executeOnKeyOwner を使用して実行されます。
- 各操作は、パーティションを所有するノード上の分散マップにアクセスし、格納されたオブジェクトを使用して計算を行い、オブジェクトをマップに格納します。(そのために、IMap オブジェクトの get および set API を使用します)。
時々、Hazelcast は次のようなタイムアウト例外に遭遇します:
com.hazelcast.core.OperationTimeoutException: No response for 120000 ms. 呼び出しを中止します! BasicInvocationFuture{invocation=BasicInvocation{ serviceName='hz:impl:mapService'、op=GetOperation{}、partitionId=212、replicaIndex=0、tryCount=250、tryPauseMillis=500、invokeCount=1、callTimeout=60000、target=Address[ 172.31.44.2]:5701, backupsExpected=0, backupsCompleted=0}, response=null, done=false} 応答がありません! バックアップが期待されます:0 バックアップが完了しました: 0
場合によっては、マップ パーティションが移行し始め、さらに悪いことに、ノードが頻繁にクラスターから離れて再参加することがわかります。この問題を解決するには、クラスター全体を再起動するしかありません。
Hazelcast がマップ取得操作を 120 秒間ブロックする原因は何ですか?
同じサーバー上の他のサービスは問題なく動作するため、ネットワーク関連ではないと確信しています。また、サーバーはほとんどアイドル状態 (~70%) であることにも注意してください。
私の使用例に関するフィードバックは、非常に高く評価されます。
mapreduce - map -reduce で複数のファイルを分散キャッシュに読み込む
現在、分散キャッシュに 2 つのファイルを追加しようとしています。しかし、それを読み取ろうとすると、2 つのファイルがまったく異なるデータを保持しているにもかかわらず、2 番目のファイルは最初のファイルと同じデータを読み取っています。なぜこれが起こっているのですか?
apache-pig - Pig 分散キャッシュ
getShipFiles
と授業getCacheFiles
中はどう違いますか?EvalFunc
このメソッドで指定された任意のファイルがexec
、分散キャッシュからメソッドで利用できると仮定します