15

ここからインストール手順に従いましたが、 Inspect Role Assignmentsステージに到達すると、管理対象ホストが 1 つしか表示されません: localhost.localdomain.

その後他のホストを追加しようとしても、結果は同じです。

  • 各クラスタ ホストのインストールが成功する
  • ホストが管理対象として表示されない

私は何が欠けていますか?

更新:私は自分の質問に答えるのが好きではないので、ここに自分の答えを書いています。

解決策は非常に明白であるため、私はそれを認識できず、いくつかのチェックを行っているときに問題が発生するまで、かなり長い間問題を未解決のままにしました。

hostnameインストール時に提供された は IP に設定されて/etc/hostsおり127.0.0.1localhost.localdomain魔女は Cloudera の設定を誤解させ、基本的にすべてのホストが同じ IP とホスト名を持つようにしました。

でセットアップをやり直したhostname.domain.localところ、hostsファイルには特定の IP とホスト名を含む別の行があり、/etc/resolv.confファイルにはsearch domain.local.

この不快な経験の後でも、インストールのドキュメントにはこれらの小さな詳細が含まれるべきだと思いますが、それは明らかなことを述べているようなものです。

4

6 に答える 6

9

Cloudera(おそらく最近)がドキュメントにこれに関する宣伝文句を追加したようです。私はしばらくの間この問題を抱えていました、そして私にとっての鍵は正しい結果を与えるために次のコマンドを取得することでした:

$ host -v -t A `hostname`

私の解決策はローカルDNSサーバーのセットアップに関係していましたが、おそらくすべてのノードに同じ/ etc/hostsを設定するだけで十分でした。YMMV。

于 2012-03-01T20:57:09.230 に答える
8

よし、仮想マシンにクラスターを実装したので、私が行ったことをすべて共有したいと思いました。私のクラスターでは、1 つのマネージャー ノード (cloudera マネージャーのみ)、1 つのネームノード、2 つのデータノードを作成しました。これにより、クラスターへの新しいノードの追加が簡単になり、問題も発生しなくなりました。簡単な説明書も用意しました。少し夏っぽいかもしれませんが、問題なく動作しています。ほとんどのコードはさまざまなサイトから取得したものなので、理解できる限りシンプルに保つようにしました。私の実装にはクラスターへの新しいホストの追加も含まれているため、この回答をここに追加しました。

注:私はLinux環境に非常に慣れていません。最善を尽くしました。使用法や説明に関する私のコメントを修正できる人を期待しています。

================================================== ================================

これらの手順は、centOS 6.2 x64 (非ライブ デスクトップ バージョン) に実装されています。サーバー版を使用している場合、ネットワーク構成を自分で構成する必要がある場合があります。

できるだけすべてのマシンで同じバージョンを使用してください。マシンの IP 値が重要であると言う人もいますが、1 つのマシンが 192.168.12.13 を使用し、もう 1 つのマシンが 192.168.13.144 を使用するように、異なる IP 範囲で実装しました。問題を引き起こしているわけではありません。

また、Windows 7 Enterprise の仮想マシン環境には Oracle VirtualBox を使用しました。

提案 : 共通の cenTOS インストールを 1 つ作成する場合、間違った構成が発生した場合はクローンを作成する必要があります。常にバックアップ クローンを保持します。

最初にこれらのファイルを手動でダウンロードします。

cloudera manager (コミュニティ版をダウンロードできます) . これはマスター ノードに必要ですが、マスター ノードがクラスターの一部であるという意味ではありません。私

namenode またはジョブ トラッカーを持たず、mamanger アプリケーションだけのマシンでマネージャーを使用しました。

オラクルJDK . Oracle Web サイトから適切なものをダウンロードできます。そこにアクセスしてブラウザからダウンロードするか、リンクをコピーして wget を使用してダウンロードします。それはあなたの選択です。

「open jdk」を必ずアンインストールしてください。

yum remove java-1.6.0-openjdk

install "oracle jdk" manualy wget 行は変更できることに注意してください。ブラウザからファイルをダウンロードできます。

wget http://download.oracle.com/otn-pub/java/jdk/6u27-b07/jdk-6u27-linux-x64-rpm.bin

chmod u+x jdk-6u27-linux-x64-rpm.bin

./jdk-6u27-linux-x64-rpm.bin

システムとブラウザで新しい Java を使用するようにする

/usr/sbin/alternatives --install /usr/bin/java java /usr/java/default/bin/java 20000 
/usr/sbin/alternatives --install /usr/lib/mozilla/plugins/libjavaplugin.so libjavaplugin.so /usr/java/default/jre/lib/i386/libnpjp2.so 20000

ユーザーをsudoersとして追加

nano /etc/sudoers

「root ALL=(ALL) ALL」という行を見つけて、この行を下に追加します

username  ALL=(ALL)   ALL

//この行は、ユーザー root がすべてのターミナルから実行でき、//すべての (任意の) ユーザーとして機能し、すべての (任意の) コマンドを実行できることを意味します。

「sshサーバー」をインストール

sudo yum install openssh-server

sshサーバーのステータスをチェックして、実行中であることを確認してください

/sbin/service sshd status

sshd サービスが開始されていない場合は開始します

/sbin/service sshd start

または、単にsshをテストできます

ssh localhost

テストが成功したら、終了できます

exit

これらの手順は、cloudera Web サイトでも定義されています。/var/log/cloudera-scm-agent/cloudera-scm-agent-log または .out ファイルを確認して、永続化または休止状態に関する問題があることを確認できる場合

問題がpostgresqlデータベースに関するものであることを意味する例外/エラー。おそらくデータベースがまだ設定されていません。あとは設定するだけです。

注: postgresql はマネージャー (マスター) ノードにのみ必要です。奴隷はいらない。

サービスのステータスを確認して、postgresql インスタンスがインストールされていることを確認します

/etc/init.d/postgresql status

ではありません:以下の手順にはレポ設定が必要です!!! 方法がわからない場合は、スクリプト ファイルの使用にスキップしてください。

組み込みの PostgreSQL データベース パッケージを Cloudera Manager Server ホストにインストールします。

sudo yum install cloudera-manager-server-db

このコマンドを実行して、組み込みの PostgreSQL データベースを Cloudera Manager Server で使用できるように準備します。

sudo /sbin/service  cloudera-scm-server-db initdb

次のコマンドを実行して、組み込みの PostgreSQL データベースを起動します。

sudo /sbin/service cloudera-scm-server-db start

スクリプトファイルの使い方: 以下はスクリプトファイルを使ったpostgresqlの手動設定です

/usr/share/cmf/schema/scm_prepare_database.sh database-type [options] database-name username password

必須パラメータと説明

database-type MySQL データベースに接続するには、データベース タイプとして mysql を指定するか、postgresql を指定して外部 PostgreSQL データベースに接続します。

database-name 作成する Cloudera Manager Server データベースの名前。

username 作成する Cloudera Manager Server データベースのユーザー名。

password 作成する Cloudera Manager Server データベースのパスワード。コマンド ラインでパスワードを指定しない場合、スクリプトはパスワードの入力を求めます。

詳細については、このページを確認してください: https://ccp.cloudera.com/display/ENT/Installation+Path+B+-+Installation+Using+Your+Own+Method#InstallationPathB-InstallationUsingYourOwnMethod-Step5%3A

開始されていない場合はpostgresqlを開始します(ステータスを確認して、必ず再起動してください)

/etc/init.d/postgresql start

Linux にルート化/ファイアウォールの制限がある場合、エージェントのハートビートがマスター ノード (マネージャー) に到達しないため、セキュリティを排除する必要があります。

懸念。この場合、問題を引き起こす可能性のある Selinux と iptables があります。Clouderaはiptablesを完全に無効にすると言いますが、経験がある場合

iptables の設定については、次のようなルールを追加できます。

iptables を開き、7180 のポート アクセスのルールを設定します。

nano /etc/sysconfig/iptables

この行を追加:

-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 7180 -j ACCEPT

または単に (cloudera の方法で) iptables を完全に無効にします。すべてのノードで同じであることを確認してください

sudo /etc/init.d/iptables stop

status パラメータで iptables のステータスを確認する

/etc/init.d/iptables status

注: マシンが再起動するたびに iptables が再びアクティブになるため、自動的に停止する方法が必要になる場合があります。iptables と selinuxun が原因で問題が発生すると、ログ ファイル "cloudera-scm-agent.log" に記録されます。「非推奨」の警告が表示される場合があります

フィトンコード、無視してください。エラー/例外は通常、「ホストへのルートがありません」またはそのようなものです。

selinux を無効にします。ただし、上記の多くの操作の前にこれを行う必要がある場合があります。特に、cloudera manager をインストールしようとすると。linux は、selinux に関する警告を表示します。

sudo nano /etc/selinux/config
    (selinux=disabled)

マシンごとに一意のホスト名を設定します。したがって、各マシンでこのファイルを編集し、そのマシンに名前を付けます。この名前を hosts ファイルで使用します。

sudo nano /etc/sysconfig/network

ノードのすべての IP 値とホスト名を使用して、ホスト ファイルを再変更します。これをすべてのノードで行います。他のノードにも簡単にコピーできます。すべてのホスト ファイルは同じになります

sudo nano /etc/hosts

例: 127.0.0.1 localhost 192.168.1.2 masternode 192.168.1.3 namenode 192.168.1.4 datanode1 192.168.1.5 datanode2

Cloudera Manager のステータスを確認し、必要に応じて再起動できます

sudo /sbin/service cloudera-scm-server start

インターネット接続がすべてのノードに対して十分であることを確認してください。マネージャーがそれらを接続し、それぞれで一連のダウンロード操作を開始するためです。マネージャーが問題に遭遇した場合、すべてをロールバックするため、すべてを再起動する必要があります。この部分は時間がかかりすぎていると信じてください!

仮想マシンをノードとして使用している場合(私はそうです)、ブリッジネットワークモードを選択できます。そのため、すべてのノードにインターネット接続を提供できますが、これには 1 つの欠点があります。物理マシンを再起動すると、IP 値が失われ、新しい値が自動的に取得される場合があります。これにより、各ノードのホスト ファイルを再変更する必要が生じる可能性があります。ただし、NAT や内部ネットワークのようなものを使用する場合は、ノードに静的 IP 値を与えることができるため、再構成の必要はありません。ただし、すべてのマシンにインターネット アクセス ゲートウェイの IP を提供する必要があります。マネージャーだけでなく、エージェントもファイルをダウンロードするためにインターネットにアクセスする必要があるためです。もちろん、クラスターのセットアップが完了したら、エージェント (スレーブ) ノードのインターネット アクセスの必要性をなくすことができます。

仮想マシンを起動するときに ifconfig を試して、ネットワークから IP 値を取得しているかどうかを確認する必要があります。そうでない場合は、VM アプリケーションの仮想マシン構成を変更する必要があります。ケーブルおよびワイヤレス接続を備えた物理マシンで作業している場合は、複数のイーサネット アダプターを選択できます。必ず正しいものを選択してください。間違ったものはあなたにIPアドレスを与えません。

必ず oracle JDK を使用してください。

Cloudera scm のステータスを時々確認してください。

sudo /sbin/service cloudera-scm-server status

7180 を確認し、他の Cloudera Manager の割り当てられたポートがリッスンされていることを確認します。「nmap」または「netstat --listen」を使用できます

Cloudera Manager をマスター ノードにインストールできない場合 (おそらく selinux、postgresql、またはダウンロードの問題です。ちなみに、ダウンロードが切断できないことを確認してください)、クリーンアップと再起動が必要になる場合があります。

この行により、cloudera の関連ファイルが削除され、再起動できるようになります。

sudo rm -Rf /usr/share/{cmf,hue} /var/lib/cloudera* /var/cache/yum/cloudera*

何かを変更した場合は、スレーブ ノードで cloudera-scm-agent を再起動して、プロセスが正しく機能していることを確認できます。ログ ファイルは、何がうまくいかないかを確認するために重要です。

cd /var/log/cloudera-scm-agent
sudo rm *   

次のステップは、includera manager の Web インターフェイスからホストを追加することです。

マネージャー マシンでは、「localhost:7180」を使用して mamanger gui に接続しました。ホストの部分では、クラスターに新しいホストを追加します。ノードの名前をテストボックスに追加し、「ホストの検索」ボタンを押すだけです。覚えていれば、ホストの名前は /etc/hosts ファイルで既に定義されています。したがって、テキストボックスで ip またはホスト名のいずれかを使用できます。それらが正しく設定されていれば、mamanger は適切なものを見つけて上記のリストにリストします。それらがまだ管理されていない場合 (まだ何もインストールされていないことを意味します)、「現在管理されている」列には「いいえ」と表示されます。それ以外の場合は、「はい」と表示されます。

その後、引き続き選択したホストに cloudera エージェントと hadoop ファイルをインストールできます。ただし、既にそれらをインストールしている場合 (管理されている場合)、それらにサービスを追加することができます。「サービス」ページに移動して、プロセスを続行してください。ホストを正しくセットアップし、それらが管理されていることを確認できれば、サービスの追加は非常に簡単で、問題はありません (少なくとも私にとっては)。

私の答えについてコメントを送ってください。ちょっと長いです。不必要かもしれません。しかし、私はすべての詳細を追加しようとしました.

于 2012-04-04T08:31:29.020 に答える
1

私も同様の問題を抱えていました。Cloudera Manager はすべてのコンポーネントをインストールできましたが、ホストが管理対象ホスト リストに表示されませんでした。

私の場合、ip/dns 名の構成は問題ありませんでした。ルックアップを正常に行うことができました。後で、Cloudera がノードを管理するために多数のポートを必要とすることに気付きました。また、さまざまな Hadoop サービス用に追加のポートが必要になります。問題がこれによるものかどうかを確認するために、ファイアウォールを一時的に無効にすることができます。それが問題の場合は、Cloudera のドキュメントでポートのリストを参照してください。現在、 https ://ccp.cloudera.com/display/ENT4DOC/Configuring+Ports+for+Cloudera+Manager にあります。

于 2012-07-24T22:53:01.350 に答える
0

このエラーを解決するために、次の 3 つのことを行いました。

1) vim /etc/cloudera-scm-agent/config.ini 元々は

# Hostname of Cloudera SCM Server
   server_host=localhost

ホスト名を次のように変更:

server_host=manager

また、「manager」が /etc/hosts ファイルに追加されていることを確認してください

2) /usr/local/java/jdk1.7xxx ディレクトリに Java をインストール ~/.bash_profile に以下を含む

export JAVA_HOME=/usr/local/java/jdk1.7xxx

ソフト リンクもこの目的に使用できます。

export PATH=$PATH:$JAVA_HOME:bin

Cloudera はおそらく Java パスを「/usr/java」とします。そこで、/usr ディレクトリにシンボリック リンクを作成しました。

3) それでも機能しない場合は、次を使用して MySQL コネクタをインストールしました。

yum install mysql-connector-java

サーバーを再起動し、エージェントを再起動します。それは私のために働いた。

于 2015-06-20T03:26:30.027 に答える
-1

/etc/hostname ファイルを確認できます。ホスト名の後に fqdn が続く必要があります。HOSTNAME=hostname.fqdn 次に、次のコマンドも実行できます: hostname more /etc/hostname(``not '')

于 2017-01-12T06:41:33.467 に答える
-1

すべての提案を逆さまに試しても、新しいホストをクラスターに追加できない場合は、

これを試してください:

  1. Cloudera Manager エージェントおよび管理対象ソフトウェアのアンインストールからのCloudera Manager および管理対象ソフトウェアのアンインストールガイドに従って、アンインストールの全手順を実行します。
  2. 新しいホストを再起動します。

理由:

Cloudera-manage エージェントは Python で記述されているためです。以前にインストールに失敗した場合、一部のゾンビ プロセスが新しいホストに残りますが、これを実現するのは困難です。

于 2016-05-29T23:36:41.747 に答える