問題タブ [cloudera]
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.
maven - MapReduce プロジェクトと Oozie ワークフローの依存関係の定義
私の会社では、Hadoop で MapReduce アプリケーションを開発しています。これらのプロジェクトの依存関係の管理について議論が行われています。ご意見をお聞かせください。
Cloudera の Hadoop ディストリビューション (CDH) を使用しています。
開発ワークフロー:
- MapReduce プロジェクトは SVN リポジトリでホストされています
- それらのそれぞれには、依存関係が定義されたPOMファイルがあります(およびその他のものも)
- また、これらの MapReduce プロジェクトを POM の依存関係として定義し、MapReduce プロジェクトの実行フローを定義する責任を負う Oozie ワークフロー プロジェクトも作成します。
- Oozie プロジェクトのビルド アーティファクトは、使用するすべての MapReduce jar とその依存関係を含む jar ファイルです (Maven のアセンブリ プラグインを使用して圧縮します)。これは後で HDFS にデプロイするアーティファクトです (解凍後)。
- Jenkinsが管理するMavenでプロジェクトを構築します
- 成功したビルドは Archiva サーバーにデプロイされます
- HDFS へのデプロイは Archiva からオンデマンドで行われ、Oozie プロジェクト ビルドのアーティファクトを取得し、それを抽出して HDFS に配置します。
- 一部の依存関係 (つまり、Oozie で使用されるもの、Hive、Sqoop、MySQL コネクタ、Jline、commons-... など) は、プロジェクトのビルドには必要ありませんが、プロジェクトが機能するためには必要でした。
まだ私と一緒に?
現在の議論は、MapReduce および Oozie プロジェクトのこれらの依存関係を定義することです。二つの立場があります。
これらの依存関係 (つまり、プロジェクトのビルドに不要なもの) を POM ファイルで定義する必要はなく、代わりに HDFS の共有ディレクトリに配置し、常にそこにあると想定する必要があると言う人もいます。
長所:
- 開発者はこれらを処理する必要はありません (ただし、開発者は他の処理を行います)
- ほとんどの場合、CDH ディストリビューションを更新するときは、プロジェクトごとに個別に更新するよりも、共有ディレクトリでこれらを更新する方が簡単です (これが必要かどうかはわかりませんが)。
短所:
- プロジェクトに対していくつかの依存関係が定義されていますが、いくつかは正しくないと想定されています
- 共有ディレクトリは未使用の JAR のシンクになる可能性があり、どれがまだ使用されていてどれが使用されていないか誰もわかりません
- これらの JAR が適切なバージョンの HDFS に常に存在すると想定されるため、コードの移植性が低下します。
それで、あなたたちはどう思いますか?
編集:書くのを忘れましたが、2番目のオプションはすべての依存関係を定義することであることは明らかです-たとえそれらがほとんどのプロジェクトで繰り返され、メンテナンスが必要な場合でも。
hadoop - ChainMapper と ChainReducer で使用できる他の代替方法は何ですか?
要件を達成するために一連の MapReduce ジョブを作成しようとしていますか? ChainMapper と ChainReducer がオプションの 1 つになると聞きました。
ただし、ChainMapper と ChainReducer に必要な代替メソッドを探しています。私にあなたの光を投げてください。
hadoop - Hadoop/Kerberos セットアップでユーザー/グループ権限を設定する方法は?
Kerberos を使用して Hadoop をセットアップしようとしています
CDH3 セキュリティ ガイドに従っています。
これまでのところうまくいきました (HFDS は正常に動作するなど) が、ジョブを送信しようとすると次のエラーが発生します。
HDFS サーバーをユーザー HDFS として実行し、Hadoop を mapred というユーザーとして実行します。mapred グループに属する bob というユーザーを使用してジョブを送信します。
以下は、私が taskcontroller.cfg に持っている値です
私が得ているエラーは
エラーは、常に taskcontroller.cfg の「mapreduce.tasktracker.group=mapred」に指定された値で発生します。
私はデバッグと調査を行ってきましたが、問題は、異なるユーザーとグループ間の権限を間違って設定したことだと思います。
どんな助けでも大歓迎です。
hadoop - Apache Hadoop サーバー 0.20.xx と相互運用可能な cdh3 クライアント?
hadoop-core-0.20.2-cdh3u1.jar
ベースのJavaクライアントがあります。Apache 分散 0.20.xx を実行しているサーバー (クラスター) に対して作業しても安全ですか? それとも、cloudera はいくつかの apache API を壊しましたか?
ありがとう
hadoop - pig 0.9.0 と cdh3u1 の相互運用性は?
Apache Hadoop サーバー 0.20.xx と相互運用可能な cdh3 クライアントのよりソフトなバージョン?
一連の pig スクリプトを実行する Java アプリがあります (いくつかの変数を挿入しますが、通常はそれらを実行するための単なるドライバー/クライアントです)。pig 0.9.0 のマクロ機能が必要ですが、cdh には pig 0.8.1 が付属しています。以下は良い考えですか?
私たちは以下を試してみます:
と
それ以外の
hadoop - Cloudera 管理 (UI) コンソールを使用して hadoop-metrics.properties を編集するにはどうすればよいですか?
Ganglia を使用して Hbase を監視しようとしています。cloudera 管理コンソールを使用して hadoop-metrics.properties の dfs.server プロパティを編集する方法を教えてください。
http://wiki.apache.org/hadoop/GangliaMetricsによると、 次のように変更する必要があります。
しかし、cloudera の管理コンソールで dfs.server の値を変更するオプションが表示されません。
どのように進めればよいですか?
java - Hadoop プラグイン Karmasphere - FILE のブロックリストが例外を変更しました
現在、mapreduce ジョブを実行するために karmasphere eclipse プラグインを使用し始めています。ドキュメントの指示に従いました。ホスト マシンでローカル開発、展開ジョブを実行できます。その後、Cloudera CDH3 をダウンロードし、VM として (VMWare を介して) 実行しました。マップ削減ジョブを VM (ゲスト マシン) でローカルに実行でき、VM で発生している mapreduce ジョブを Eclipse Hadoop の観点から監視できます(ホスト マシン) カルマスフィアのリモート展開を試すと、HDFS で使用可能なファイルしか表示されませんが、ファイルにアクセスできず、マップ削減プログラムを実行したり、Eclipse IDE から HDFS に新しいファイルを作成したりできません。次の例外が発生します。
誰でもこれを手伝ってもらえますか?私はカルマスフィアとHadoopを初めて使用します。
jdbc - HueHive-蜜蝋サーバーがMySQL用のJDBCドライバーを見つけることができません
Cloudera 3.7.5を使用しており、HueがHiveデータベースにアクセスできるようにBeeswaxサーバーを構成するのに苦労しています。MySQLをHiveのメタストアとして機能するようにセットアップするというClouderaのドキュメントのすべての指示に従いましたが、Hueサービスを再起動してBeeswaxサーバーのStdErrログを確認すると、依然として苦痛な「javax.jdo.JDOFatalInternalException:トランザクション接続ファクトリの作成エラー」が表示されます。 "これはによって引き起こされます
これは私にとって奇妙なことです。ログには、環境変数HIVE_HOMEが「/usr/lib/hive」と等しいことも示されているためです。確かに、「mysql-connector-java-5.1.15-bin.jar」をコピーしました。ドキュメントの指示に従って、/ usr / lib / hive/libディレクトリに移動します。
また、ブログ投稿http://hadoopchallenges.blogspot.com/2011/03/hue-120-upgrade-and-beeswax.htmlの手順を試しました。これには、mysql-connectorjarを「/usr/」にコピーすることが含まれていました。 share / hue / apps / beeswax / hive / lib/"。残念ながら、蜜蝋フォルダにhive / libサブディレクトリがなかったので、作成しようとしました。これも機能しませんでした。
MySQL JDBCライブラリを蜜蝋のクラスパスに取り込む方法についてアドバイスはありますか?