問題タブ [apache-zookeeper]
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.
apache-zookeeper - レプリケートモードでzookeeperを設定できません
3台のサーバーを備えたレプリケートされたノードにzookeeperをセットアップしようとしています。
私の設定ファイルはこんな感じです
次の例外が発生します
すべてのポートが開いており、ssh、telnetも機能しています。
ありがとう
java - Zookeeperを使用してユーザー権限を保存することは理にかなっていますか
リストの一部でない限り、ユーザーへのアクションを拒否する必要がある複数のフロントエンドノードを含む分散アプリケーションを作成しています。
現在、これらのノードは4つ以上ありますが、DB2を実行しているデータベースサーバーは1つだけであり、メンテナンスのためにダウンしていることがよくあります。
現在、データベースをポーリングしてメモリ内のリストを更新しているため、ユーザーがリストから削除された場合、変更は4つのノードすべてに反映されます。ただし、データベースがダウンしているときにノードの1つを再起動すると、リストが空になり、不要なすべてのユーザー要求が拒否されます。データベースがダウンしている場合でも、メッセージキューにバッファリングするため、ユーザーからのリクエストを受け入れることができますが、拒否する必要がある場合は、すぐに拒否したいと考えています。
4つのノードのそれぞれでZookeeperインスタンスを実行し、ユーザー権限をZookeeperに保存することは理にかなっていますか。したがって、読み取りは高速で、データは高可用性で一貫している必要があります。もうポーリングを行う必要はなく、データベースを再起動しても、ノードはzookeeperから構成を取得できます。
hadoop - 奇妙なDNSサーバーが原因でHadoopとHBaseが誤動作する
私は、HadoopまたはHBaseが誤動作する原因となる奇妙な(私が理解しているように)DNSサーバーを備えたネットワークを持っています。
それは私のホスト名を私のマシンが知らないアドレスに解決します(つまり、そのようなインターフェースはありません)。
/ etc / hostsに次のエントリがある場合、Hadoopは機能します。
エントリ「127.0.1.1myhostname」が存在しない場合、HDFSへのファイルのアップロードは失敗し、ファイルを1ではなく0のデータノードにしか複製できないと文句を言います。
ただし、この場合、HBaseは機能しません。HBaseシェルからテーブルを作成すると、NotAllMetaRegionsOnlineExceptionが発生します(実際には、HMasterがmyhostnameのDNSサーバーから返された間違ったアドレスにバインドしようとしたことが原因です)。
他のネットワークでは、次の/ etc/hostsを使用しています。
そして、HadoopとHBaseの両方が機能します。問題は、2番目のネットワークではアドレスが動的であり、奇妙なDNSによって返される結果を上書きするために/ etc/hostsにリストできないことです。
Hadoopは疑似分散モードで実行されます。HBaseも単一ノードで実行されます。
DNSサーバーの動作を変更することはできません。hbase / conf/regionserversで「localhost」を127.0.0.1に変更しても何も変更されません。
誰かがインターネット接続を維持しながらその動作をオーバーライドする方法を提案できますか(私は実際にはTeamviewerを介してクライアントのマシンで作業します)。または、バインドするアドレスを決定するためにホスト名を使用しないようにHBase(またはそれが管理しているZookeeper)を構成する方法はありますか?
neo4j - neo4j1.4 ha「グラフデータベースが割り当てられておらず、シャットダウンの原因もありません。まだ開始されていないか、マスター/スレーブスワップの途中ですか?」
solaris10x64のzookeeper3.3.2
- solaris 10 x64構成で:
zookeeper 3.3.2 install /export/zookeeper-3.3.2 3 zookeeper dir
startup.sh
zookeeper1 zoo.cfg
zookeeper2 zoo.cfg
zookeeper3 zoo.cfg
neo4j1.4インストールwindows7neo4jコード
conf / neo4j.cfg
起動neo4jha例外メッセージ:
2011-11-02 12:46:44,316-INFO [main:ZooKeeper@373]-クライアント接続を開始しています。connectString= zoohost:2181、zoohost:2182、zoohost:2183 sessionTimeout = 5000 watcher=org.neo4j.kernel.ha。 zookeeper.ZooClient@16fa474 2011-11-02 12:46:44,674-情報[main-SendThread():ClientCnxn $ SendThread@1041]-ソケット接続を開いていますenter code here
サーバー/zoohost:2183へjava.lang.RuntimeException:グラフデータベースが割り当てられておらず、シャットダウンの原因がありません。まだ開始されていないか、マスター/スレーブスワップの途中ですか?at org.neo4j.kernel.HighlyAvailableGraphDatabase.localGraph(HighlyAvailableGraphDatabase.java:282)at org.neo4j.kernel.HighlyAvailableGraphDatabase.startUp(HighlyAvailableGraphDatabase.java:240)at org.neo4j.kernel.HighlyAvailableGraphDatabase。(HighlyAvailableGraphDatabase。 org.neo4j.kernel.HighlyAvailableGraphDatabase。(HighlyAvailableGraphDatabase.java:111)で
virtual-machine - HbaseのZookeeperエラーを修正する方法
メインOSはWindows764ビットです。VMプレーヤーを使用して2つのvmCentOS5.6システムを作成します。ネット接続はブリッジです。私は両方のCentOSシステムにHbaseをインストールしました。一方はマスターで、もう一方はスレーブです。シェルに入って、ステータス'details'を実行すると。
マスターからのエラーは
zookeeper.ZKConfig:zoo.cfgに有効なクォーラムサーバーが見つかりませんエラー:org.apache.hadoop.hbase.ZooKeeperConnectionException:エラーが原因でHBaseがZooKeeperに接続できません
そしてスレーブからのエラーは
エラー:org.apache.hadoop.hbase.ZooKeeperConnectionException:HBaseはZooKeeperに接続できますが、接続はすぐに閉じます。これは、サーバーの接続数が多すぎることを示している可能性があります(デフォルトは30)。ZKサーバーのログでそのエラーを調べてから、HBaseConfigurationをできるだけ頻繁に再利用していることを確認してください。詳細については、HTableのjavadocを参照してください。
提案をお願いします。どうもありがとう
hbase - Zookeeper Znode
一連のHbaseノードの調整にzookeeperを使用する場合、zookeeperはHbaseノードと同じノードに格納できますか、それとも別のクラスターに格納する必要がありますか?また、私が明確に理解できないことの1つは、Zookeeper znodeがいつ作成されるのか、そしてzookeeper znodeの目的は何ですか?Zookeeperの公式サイトによると、これらはzookeeperファイルシステムの一部であるため、zookeeper znodeは正確に何を保存するために使用されますか?それは構成プロパティ、アプリケーションデータ、または正確にどのコンテンツですか?
python - Mac OS X 10.7Lionで32ビットモードでzookeeper/zkpythonをビルドする方法は?
32ビットモードで32ビットPythonを使用する必要があります(Mac OS Xでは64ビットでセグフォールトしますが32ビットで動作するoracleinstantclient-10.2.0.4のため)。私が動物園の飼育係を得るまで、これまでのところすべてが順調でした。実際、ZooKeeper Pythonバインディング(zkpython)。
クライアント自体をデフォルトのまま64ビットのままにして、zkpythonを32ビットにしようとしました。しかし、この場合、インポート時にエラーが発生します。
Python 2.7についても同じです(ここでは2.6と2.7の両方が32ビットであり、sys.maxint == 2147483647です)。そして、ここでは32ビットのzookeeperクライアントが必要だと思います。これは、zkpythonをコンパイルするときに、意味のある警告が1つだけ表示されるためです。
ld:警告:ファイル../../..//src/c/.libs//libzookeeper_mt.dylibを無視します。ファイルは、リンクされているアーキテクチャではないサポートされていないファイル形式用にビルドされました(i386)
そこで、zookeeperクライアント自体を32ビットにしようとしました。しかし、何を試しても、32ビットモードでビルドすることはできません。libzookeeper_mt.2.dylibは常に64ビットです(ARCH_FLAGS = "-arch i386"、configure --build = i386 --host = i386、arch-i386… 、など— .dylibは常に64ビットです)。
そして、ここでの最悪のポイントは、i386アーチが組み込まれていないことです。そのため、このi386バージョンを「lipo」で抽出することはできません。
したがって、主な質問は、ZooKeeperのPythonバインディングを64ビットのMac OS X Lion(10.7)で32ビットのPythonで動作させる方法ですか?
2番目の質問は次のとおりです。64ビットMacOSX Lion 10.7で32ビットモードでZooKeeperを構築するにはどうすればよいですか?
architecture - Zookeeperはこのシナリオに適していますか?
これが私の要件です。
クラスター内に多数のマシンがあります(たとえば、約4-A、B、C、D)。
Aの仕事は、更新についてデータベースをポーリングすることです(したがって、Aは注文テーブルで新しい注文を探している可能性があります)。
Aが更新を受信すると、B、C、Dのどちらが比較的自由であるかを確認します(負荷分散は私が推測する正しい言葉です)。次に、B、C、Dのいずれかを注文して、注文の処理を開始します。B / C/Dで処理されている注文を追跡します。
B、C、Dはスレーブのようなものです。注文処理が完了すると、Aから更新を受け取り、Aに通知するだけです。Aがダウンした場合(ネットワークの問題などにより)、B、C、Dのいずれかがマスターになり、Aの役割を果たします。実行中のジョブに関するAのメタデータも、バックアップノードEに定期的にバックアップされます。 B / C / Dが新しいマスターになり、Eからメタデータを読み取ります。
少しハドゥープのように聞こえますが、注文処理はマップリデュースモデルに適合しないため、A、B、C、D間の調整に役立つZooKeeperなどの他のフレームワークを活用する方法を探しています。
ZooKeeperはここに適していますか?
hadoop - テスト環境で Hadoop と Zookeeper を使用して Apache Accumulo エラーのヘルプをリクエストする
apache accumulo ver 1.4.0、hadoop ver 0.20.2、zookeeper ver 3.3.3でテスト環境を構築しています。問題については、以下を参照してください。
Hadoop と Zookeeper は連携してうまく機能しますが、Apache インキュベーターで手順を使用して accumulo を開始すると、次の Zookeeper ストリームの情報と警告が表示されます。
accumulo シェルを起動すると、次のエラーが表示されます。
concurrency - ZooKeeper で Chubby スタイルのロック シーケンサーを実装する方法は?
Google の Chubby 分散ロック マネージャーには、ZooKeeper を使用してエミュレートしたい「シーケンサー」と呼ばれる機能があります。そうするための既知の良い方法はありますか?
シーケンサーは次のように機能します。
- クライアントがリソースのロックを取得する
- クライアントはロックのシーケンサーを要求します。これは、いくつかのメタデータを含む文字列です。
- クライアントはサービスを呼び出し、シーケンサーをパラメーターとして渡します
- サービスはシーケンサを使用して、リクエストを処理する前にクライアントがまだロックを保持していることを確認します
目標は、ロックで保護する必要があるリモート サービスを呼び出した後にクライアントが停止する状況を防ぐことです。
Chubby に関する主な論文は、http://research.google.com/archive/chubby.htmlで入手できます。シーケンサーについては、セクション 2.4 で説明します。
ありがとう!