問題タブ [accumulo]
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 - OS X 10.7.4 に Accumulo と Hadoop をインストールして実行する方法
そのため、MapReduce の単語カウントの例を実行しようとしていますが、Hadoop を実行する必要があります。hereの指示に従ってみましたが、機能していないようです。問題は、環境変数が設定されていないことです。setenv HADOOP_HOME /opt/hadoop-0.20.2
行を追加しました/etc/launchd.conf
が、実行echo $HADOOP_HOME
してもパスが出力されません。
hadoop - accumulo init 実行時のエラー
Hadoop と Zookeeper を問題なく実行していますが、実行すると次のようになります$ACCUMULO_HOME/bin/accumulo init
。
役立つものを見つけることができません。
mongodb - バージョン管理もされている時系列/記録された計測器読み取りデータの NoSQL
マイデータ
これは主に、監視対象のアプライアンスごとに、監視対象の値ごとに Timestamp: Value の形式で渡される監視データです。多くのアプライアンスと多くの監視値で定期的に収集されます。
さらに、これらのデータ値の多くがソースで導出され、計算が時々変化するという風変わりな機能があります。これは、データが効果的にバージョン管理されていることを意味し、計算の最新バージョンからのデータのみを簡単に呼び出すことができる必要があります。 注:これは、古い値が上書きされるバージョン管理ではありません。タイムスタンプのカットオフがあり、それを超えるとデータの意味が変わります。
私の使い方
下流では、さまざまな未定義のデータ マイニング/機械学習でデータを使用する予定です。これらの用途が何であるかはまだ明確ではありませんが、ダウンストリーム コードのすべてを Python で作成することは明らかです。また、私たちは非常に小さなショップであるため、セットアップ、メンテナンス、およびダウンストリーム アプリケーションとのインターフェイスの非常に複雑な処理しかできません。それほど多くの人がいません。
選択肢
このデータを格納するために SQL RDBMS を使用することは許可されていないため、適切な NoSQL ソリューションを見つける必要があります。これまでに見つけたものは次のとおりです。
- カサンドラ
- 私にはまったく問題ないように見えますが、一部の主要なユーザーは移動したようです. それほど活気のあるエコシステムにならないのではないかと思います。この SE の投稿には、良いことが書かれているようです: Cassandra time series data
- アキュムロ
- 繰り返しますが、これは問題ないように思えますが、これがメジャーで積極的に開発されたプラットフォームではないことが懸念されます。これにより、ツールとドキュメントに少し飢えているようです。
- モンゴDB
- 私は Mongo の群集に対して、おそらく不合理で強烈な嫌悪感を抱いており、解決策としてこれを破棄する理由を探しています。このような静的で規則的な構造を持つものに対して、Mongo のデータ モデルはすべて間違っているように思えます。私のデータも順番に入ってきます(そして、順番にとどまる必要があります)。とはいえ、みんなとその母親はこのことを気に入っているようなので、私は本当にその適用性を評価しようとしています. これと他の多くの SE の投稿を参照してください: What NoSQL DB to use for sparse Time Series like data?
- HBase
- 現在傾いているところです。私の問題に対して完全に使用可能なアプローチを備えた Cassandra の後継のようです。とは言っても、これは大きな技術であり、私が選択した場合、サインアップしているものが何であるかを本当に知ることを心配しています.
- OpenTSDB
- これは基本的に、HBase の上に構築された時系列固有のデータベースです。完璧ですよね?知らない。私は、抽象化の別のレイヤーが私に何をもたらすかを理解しようとしています。
私の基準
- オープンソース
- Python でうまく動作する
- 少人数のチームに適しています
- 非常によく文書化されています
- 順序付けられた時系列データを利用するための特定の機能があります
- バージョン管理されたデータの問題のいくつかを解決するのに役立ちます
では、どの NoSQL データベースが実際に私のニーズに対応するのに役立つのでしょうか? それは私のリストからかどうかにかかわらず、何でもかまいません。私は、使用パターンだけでなく、非常に具体的でよく理解されたニーズをサポートするコードが実際にどのプラットフォームにあるかを理解しようとしています。どちらが優れているとか、どちらがかっこいいとかは問いません。この種のデータを最もネイティブに保存および操作できるテクノロジを理解しようとしています。
何かご意見は?
accumulo - accumulo の構成中の問題
私のシステムでは、Hadoop と Zookeeper が正常に動作しています。これで、Accumulo を構成しました。しかし、Accumulo を初期化するときに
累積初期化
次のエラーが表示されます。
誰でもこの問題を解決するのを手伝ってもらえますか... ??
maven - 誰でもこれについて私にアドバイスできますか? Maven を使用してコンパイルしようとしたところ、「Build Failure」メッセージとともにこのメッセージが表示されました
プロジェクト accumulo-core で目標 org.codehaus.mojo:exec-maven-plugin:1.2.1:exec (generate-core-thrift) を実行できませんでした: コマンドの実行に失敗しました。プログラム "C:\Documents and Settings\deepak\trunk\core\src\main\thrift\thrift.sh" (ディレクトリ "C:\Documents and Settings\deepak\trunk\core" 内) を実行できません: CreateProcess エラー = 193 、%1 は有効な Win32 アプリケーションではありません -> [ヘルプ 1]
pom.xml を含むディレクトリ トランクに移動し、次のコマンドを実行しました: mvn compile
http://maven.apache.org/plugins/でプラグインを見つけようとしましたが、何も見つかりませんでした。
誰が問題が何であるかを説明できますか? これらのオープンソースは非常に複雑です。
accumulo - accumuloのインスタンスを削除する方法は?
accumulo initを呼び出して、accumuloを初期化するときにインスタンスを作成しましたが、 そのインスタンスを削除し、新しいインスタンスを作成したいと思います。誰かがこれを行うのを助けることができますか?
hadoop - mapreduceに関しては、AccumuloタブレットはHDFSブロックにどのようにマッピングされますか
私の環境が次のように設定されている場合:
-64MBHDFSブロック
-5タブレットサーバー-
タブレットサーバーごとにサイズ1GBの10タブレット
以下のようなテーブルがある場合:
rowA | f1 | q1 | v1
rowA | f1 | q2 | v2
rowB | f1 | q1 | v3
rowC | f1 | q1 | v4
rowC | f2 | q1 | v5
rowC | f3 | q3 | v6
小さなドキュメントから、rowAに関するすべてのデータが1つのタブレットに送られ、他の行に関するデータが含まれる場合と含まれない場合があります。つまり、すべてまたはまったく含まれていません。だから私の質問は:
タブレットはどのようにDatanodeまたはHDFSブロックにマッピングされますか?明らかに、1つのタブレットは複数のHDFSブロック(この場合は8)に分割されているので、それらは同じまたは異なるデータノードに保存されますか、それとも重要ではありませんか?
上記の例では、RowC(またはAまたはB)に関するすべてのデータが同じHDFSブロックまたは異なるHDFSブロックに送られますか?
マップリデュースジョブを実行するとき、何人のマッパーを取得しますか?(hdfsブロックごとに1つ?またはタブレットごとに?またはサーバーごとに?)
ありとあらゆる提案を事前に感謝します。
regex - 正規表現を使用して Accumulo でスキャンをフィルタリングする方法
以前に Accumulo に保存されたデータに対してスキャンを使用し、結果セット全体を取得しました (Range
指定したものは何でも)。問題は、クライアントがそれらを受信する前に、Accumulo からサーバー側でそれらをフィルタリングしたいということです。誰かがこれがどのように行われるかの簡単なコード例を持っていることを願っています.
私の理解でFilter
は、この機能の一部 (すべて?) を提供していますが、これは API を使用して実際にどのように使用されていますか? ここの Accumulo ドキュメントから、シェル クライアントで Filter を使用する例を参照してください: http://accumulo.apache.org/user_manual_1.3-incubating/examples/filter.html
データの正規表現に基づいてスキャンをフィルタリングする簡単な方法のコード例をオンラインで見つけることができませんでしたが、これは比較的簡単に実行できるはずだと思います。
java - 外部AccumuloインスタンスとJavaを接続する
Accumuloを使用してVMに接続しようとしています。問題は、Javaに接続できないことです。ApacheがスローするWebページを見ることができますが、コードで動作させることができません。これは本当の問題というよりは知識不足の問題だと思いますが、ドキュメントが見つかりません。すべての例では、zooServer名としてlocalhostを使用していますが、これは明らかに私には機能しません。
だから、ここに私のコードがあります:
サーバーに接続できないため、残りは重要ではありません。
これも実際にはGroovyで書かれています。Javaの人たちのためにコードを変更しました。
編集:プログラムは私のコンピューターにあります。Accumulo、Hadoop、およびZookeeperはすべてVM上にあります。そのIPはそのIPであり、インスタンス名はその名前です。accumuloの構成では、「accumulo-02」はマスター、スレーブなどのドメインです。
log4j - WARN ロガーのアペンダーが見つかりませんでした (org.apache.accumulo.start.classloader.AccumuloClassLoader)
accumuloを起動するときに次の警告を取り除く方法を知っている人はいますか?
accumulo 1.4.0 hadoop 0.20.2 と Zookeeper 3.3.3 を実行しています。クラスが log4j.properties ファイルを見つけることができないためにこの警告が発生することを理解しています。私の log4j.properties ファイルには、accumulo 1.4.3 log4j ファイルからコピーされた次の行があります (システムを 1.4.3 にアップグレードするオプションがありません)。
このlog4jファイルをみんなに入れました。accumulo/bin フォルダー内、accumulo/conf フォルダー内、accumulo/lib フォルダー内にありますが、この警告を取り除くことはできません (accumulo クラス パスに移動する必要があることはわかっていますが、それがどこにあるかはわかりません)。accmulo 実行可能ファイルが事前にコンパイルされているため (実行するだけです)、log4j.configuration オプションを Java コンパイラに渡すこともできません。
助けてくれてありがとう。
編集:以下は、私のシステムで「accumulo classpath」コマンドを実行した結果です。