問題タブ [distributed-filesystem]
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.
hadoop - CoreOS & HDFS - Linux Containers/Docker での分散ファイル システムの実行
CoreOS クラスター上で動作する何らかの分散ファイル システムが必要です。
そのため、CoreOS ノードで HDFS を実行したいと考えています。これは可能ですか?
2 つのオプションが表示されます。
- CoreOS を拡張する - HDFS を CoreOS に直接インストールする - CoreOS のコンテナ化の概念全体を壊し、多くの追加コンポーネントをインストールすることを意味するため、理想的ではありません
- CoreOS 上の Docker コンテナで HDFS を実行し、アフィニティを設定する
オプション 2 が最善のアプローチのように思えますが、いくつかの潜在的な阻害要因があります。
- HDFS を実行している Docker コンテナーに物理ディスクを確実に公開するにはどうすればよいですか?
- コンテナのアフィニティをどのようにスケーリングしますか?
- これは Name ノードなどでどのように機能しますか?
乾杯。
java - Hadoop マッパー クラスが見つかりません
Apache Hadoop 1.2.1 を使用して map-reduce プログラムを開発しました。Eclipse IDE を使用して最初の開発を行い、すべての入力ファイルと出力ファイルをローカル ファイル システムから取得する Hadoop 分散コンピューティング環境をシミュレートしました。このプログラムは Eclipse で問題なく実行されます。次に、Eclipse を使用して JAR ファイルを作成し、これを 1 つのクラスターの Hadoop マシンで実行しようとすると、エラーが発生します。
Hadoop ジョブをセットアップして実行するコードは次のとおりです。
次に、[ファイル] -> [エクスポート] -> [実行可能な JAR ファイル] を使用して Eclipse を使用して jar を作成し、クラスターで実行する JAR ファイルを作成します。
ジョブを実行するために使用するコマンドは次のとおりです (KLSH.jar は JAR ファイルの名前、/hadoopInstruction は args[0] 入力パラメーター、imageFeature.Main/ はメイン クラスの場所を指定します)。
これにより、次の出力が生成されます。
マッパークラスが見つからないため、エラーになります。「No job jar file set」という警告が出ますが、コードの最初のブロックで job.setJarByClass を指定したような気がするので、なぜこのエラーがスローされるのかわかりません...
次のコマンドを実行すると、KLSHMapper クラスが JAR にあることもわかります。
かなり多くの出力が得られますが、出力の一部を次に示します。
明らかに KLSHMapper クラスがそこにあります... Hadoop クラスパスを変更して KLSH.jar パスを含めようとしました。KLSH.jar を DFS にコピーして、上のパスの代わりにそのパスを使用しようとしました。また、-libjars 指定子を使用してジョブを実行しようとしました。何を試しても、hadoop は Mapper クラスを見つけることができないようです。誰かが私が間違っていることを教えてくれますか? Eclipse で動作するコードから、実際の Hadoop クラスターで動作するようにジャンプすることはできないようです。ありがとう!
c++ - std::ifstream は mac osx のネットワーク ファイルにアクセスします
OSX でネットワーク共有ファイルを開くにはどうすればよいですか? 「cifs:」の有無にかかわらず試してみました。「192.168.xxx.xxx」も試しましたが、機能しませんでした。ありがとう。
java - HDFS からプロパティ ファイルを読み取る
次のような HDFS にある Java プロパティ ファイルを読み取ろうとしています。
しかし、うまくいかないようで、「プロパティ ファイルが見つかりません」というメッセージが表示されます。例外。ローカル ファイルへのパスを置き換えると、正常に動作し、ファイルを読み取ることができます。
FileInputStream を使用して HDFS ファイルを読み取ることは可能ですか?
ありがとう!
apache-spark - spark と elasticsearch-hadoop を使用して、さまざまな ElasticSearch クラスターから読み書きするにはどうすればよいですか?
元のタイトル: HDFS 以外に、Spark がサポートしている (推奨されている) DFS は何ですか?
いくつかの巨大なクラスターで、spark と elasticsearch (elasticsearch-hadoop ドライバーを使用) を喜んで使用しています。
時々、データのクラスター全体を取り出し、各ドキュメントを処理し、それらすべてを別の Elasticsearch (ES) クラスターに入れたいと思います (そう、データ移行も)。
現在、クラスターから RDD に ES データを読み取り、RDD からのスワッピングを伴うため、spark + elasticsearch-hadoop を使用して RDD を別のSparkContext
RDD に書き込む方法はありません。SparkContext
そのため、RDD をオブジェクト ファイルに書き込み、後でそれらを異なるs のRDD に読み戻したいと考えています。
ただし、ここで問題が発生します。spark クラスター全体で大きなファイルを共有するには、DFS (分散ファイル システム) が必要です。最も一般的なソリューションは HDFS ですが、スタックに Hadoop を導入することは避けたいと思っています。Spark がサポートする他の推奨 DFS はありますか?
以下を更新
以下の @Daniel Darabos の回答のおかげで、次の Scala コードを使用して、さまざまな ElasticSearch クラスターとの間でデータを読み書きできるようになりました。
java - hadoop DistributedFileSystem はスレッドセーフですか?
スクレイピングしたデータの書き込みに Hadoop を使用しています。
HDFS にコンテンツを書き込むために複数のスレッドから呼び出されるスプリング サービスがあります。
FileSystem オブジェクトが WriteService のメンバーになることができるかどうかはわかりません。また、それがスレッド セーフかどうかもわかりません。DistributedFileSystem オブジェクトを使用しています。
それがスレッドセーフであり、サービスのメンバーとして使用できるかどうか知っていますか?
ありがとうございました