CDH Reduxのを構築するためのビッグデータプラットフォーム

数々の失敗の後、最終的にはCDHは、2台の普通のノートパソコンにインストールされ、障害の以下の主な理由があります。

  1. インストールプロセスに精通していない、公式のインストール方法は3通りの方法で与えられているので、良いことので、時にはマルチ必ずしも、多くの時間を無駄に、もう一度試してください。
  2. バート・機器の設置は、時としてが高いためのメモリとCPU使用率やクラッシュを取ります。
  3. ネットワーク環境をインストールすると、タイムアウト現象かもしれ送信失敗につながる、貧しい人々です。
  4. インストール時間は時間が生じ、長すぎると、あまりにも多くの間違ったを支払った後、再び開始します。

参考のために、以下の方法が最善の方法について話していないが、それは私たちの最後の手段です。

環境のセットアップ

  • 二台のラップトップAとB、それぞれ独自のメモリと12G 8G、インストールVMwareの12。

  • 仮想マシン上で、2 * CPUは、ブリッジモード、インストールCentOS6.5を使用して8Gのメモリカードは、ホストマスターとして動作します。

  • Bは、拡張スレーブ1、Slave2をとして機能し、2台の仮想マシン、1つの* CPU、ブリッジモードを使用して2Gメモリカード、インストールCentOS6.5をオープンしました。

  • ビルドにネットワーク環境内のネットワークを使用して、学校のネットワークにネットワークケーブルを介して接続された2台のコンピュータは、rootのパスワード3台の仮想マシンが一致している必要があります。

インストールの前に2.準備

インストールパッケージをダウンロードするには、まず

  • ClouderaのManagerのEL6-cm5.8.0_x86_64.tar.gz(ClouderaのManagerインストールパッケージ、EL6代表が代表を使用して5.8.0にCentOs6.x、ClouderaのManagerバージョンCM-5.8.0を使用)
  • CDH-5.8.0-1.cdh5.8.0.p0.42-el6.parcel(リソースキットオフラインCDH)
  • CDH-5.8.0-1.cdh5.8.0.p0.42-el6.parcel.sha1
  • manifest.jsonを
  • cm5.8.0-centos6.tar.gz(いくつかの必要な環境があります)
  • MySQLのコネクタ-のjava-5.1.6-bin.jarを(JDBC)

それぞれのダウンロードパス

http://archive.cloudera.com/cm5/cm/5/

http://archive.cloudera.com/cdh5/parcels/5.8.0/

http://archive.cloudera.com/cm5/repo-as-tarball/5.8.0/

注:どのような少し下、または何か以下のインストール、特にを容易にするために、予定していない、JDKの公式をインストールする必要があり、スパーク間違った後ろの準備につながるべきではない、この場所は、私たちは、重いの下のすべてのダウンを少なくとも5,6回必要があります失敗しましたコストが高くなります

3.前にインストール構成

まず、root権限を入力します。入力しsu、パスワードを入力してください

3.1。ホスト名の設定

各ノードは、の/ etc / sysconfic /ネットワークファイルを変更し、ホスト名のマスター、スレーブ1、Slave2を設定されています。

見つかりましたホスト名は、マスターノードと標準として節点の識別名を容易にするために改変することができます。

修正後に実行するservice network restartサービスを再起動します。

使用しhostnameた認証のために。

あなたが有効にならない場合は、仮想マシンを再起動します。

ファイアウォールオフ3.2ターン

コマンドを実行します。service iptables stop

その後、実行します。chkconfig iptables off

使用して、chkconfig --list|grep iptables完全に閉じているかどうかをチェックします

場合iptables 0:off  1:off 2:off  3:off  4:off 5:off  6:offには、完成オフを意味し、

3.3。バインディングのIPとホスト名

最初のチェックifconfig3台の仮想マシンのIP。

そして、変更するホストは、3台の仮想マシン上で開いていました

vi /etc/hosts

次のように入力して

192.168.30.21  Master
192.168.30.22  Slave1
192.168.30.23  Slave2

設定後、3つの仮想マシンの相互のping IPアドレスとホスト名は、コンフィギュレーションが成功したことを確認します。

3.4。(デフォルトはSSHをインストールされている)にssh-無料のログインパスワードの設定

マスターで使用されssh-keygen -t rsa、鍵を生成するためにすべての方法ラウンドを。

cd ~/.ssh検索id_rsa.pubに書き込み、authorized_keys

入力cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

入力しssh Masterたキーが初めて自由となっている場合は、パスワードを失うとはいを失うしたい場合があります参照してください。

成功した二つの他のマシン上で同じように入った後にssh-keygen -t rsa生成された鍵。

生成された秘密鍵を直接マスターのグラフィカルインタフェースに接続されている場合authorized_keys、マスターした後、SCP他の二つのホストによって配布します。

それがグラフィックでない場合は、パテを使用し、xshellなどのログ仮想マシンペースト、およびでない場合は、scpコマンドのパスを使用します。

SCPの使用authorized_keysパススレーブ1とスレーブ2を入力scp ~/.ssh/authorized_keys root@slave1:~/.ssh渡すスレーブ1スレーブ2を2。

別の使用ssh hostname無料のキーかどうかを確認するために、他の側のログを、チェックはauthorized_keys正しくありません。

3.5。閉じるSELINUX

setenforce 0 #临时生效
修改/etc/selinux/config 文件的 SELINUX=disabled #重启生效

3.6インストールのMySQL(マスターノード)

最初に使用するrpm -qa|grep -i mysqlがある場合は、インストールMysqlのかどうかをチェックします

使用rpm -e 包名削除MySQLのパッケージを。

次に、MySQLのパッケージをダウンロード

http://dev.mysql.com/downloads/mysql/#downloads

それを取得解凍し、私は、MySQLの-5.5.49-1.linux2.6.x86_64.rpm-bundle.tarこのファイルを使用しています

MySQL-client-5.5.49-1.linux2.6.x86_64.rpm
MySQL-devel-5.5.49-1.linux2.6.x86_64.rpm
MySQL-embedded-5.5.49-1.linux2.6.x86_64.rpm
MySQL-server-5.5.49-1.linux2.6.x86_64.rpm
MySQL-shared-5.5.49-1.linux2.6.x86_64.rpm
MySQL-shared-compat-5.5.49-1.linux2.6.x86_64.rpm
MySQL-test-5.5.49-1.linux2.6.x86_64.rpm

使用rpm -ivh MySQL*完全にインストールされ、1つ少ないが、エラーの後ろになってはなりません!

そして、/usr/bin/mysql_secure_installationMySQLのパスワードを変更します。

入力mysql -u root -pのmysqlに。

まず、ユーザーを作成します

CREATE USER 'hive'@'%' IDENTIFIED BY 'hive';
CREATE USER 'hue'@'%' IDENTIFIED BY 'hue';
CREATE USER 'oozie'@'%' IDENTIFIED BY 'oozie';

データベースを作成します。

CREATE DATABASE hive;
CREATE DATABASE hue;
CREATE DATABASE oozie;

最後に、個々のユーザー権限を与えられました

GRANT ALL ON hive.* TO 'hive'@'%' 
GRANT ALL ON hue.* TO 'hue'@'%' 
GRANT ALL ON oozie.* TO 'oozie'@'%' 

3.7。JDKのインストール

解凍cm5.8.0-centos6.tar.gzインサイドオープンrpm持つべきフォルダ、JDK 1.6および Oracle JDK インストールする2。次に入力してjava -version表示されるはずです

java version "1.6.0_31"
Java(TM) SE Runtime Environment (build 1.6.0_31-b04)
Java HotSpot(TM) 64-Bit Server VM (build 20.6-b01, mixed mode)

3.8の設定NTPサービス(すべてのノード)

NTPサービスのインストール、使用しyum install ntpてインストールを

構成を変更し、NTPvi /etc/ntp.conf

マスターセットserver 210.72.145.44     #这是中国国家授时中心的IP

スレーブ1〜2を提供しますserver master

自動的にブートタイムサービスを実行するように設定すると、
chkconfig ntpd on
開始または停止時間のサービスに

service ntpd start
service ntpd stop
service ntpd restart

ビューNTPサービスのステータスwatch ntpq -p

インストールとClouderaのManagerサーバエージェント4

4.1。Clouderaのマネージャフォルダを作成する(1-7のステップは3つのノードで行われるべきです)

mkdir /opt/cloudera-manager

4.2。は/ opt / Clouderaのマネージャーのデフォルトのディレクトリ内のマスターノードにインストールパッケージを抽出

tar -zxvf cloudera-manager-el6-cm5.8.0x8664.tar.gz -C /opt/cloudera-manager

4.3。ユーザーの作成

useradd --system --home=/opt/cloudera-manager/cm-5.8.0/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm

4.4。ログフォルダを作成します。

mkdir /var/log/cloudera-scm-server
chown cloudera-scm:cloudera-scm /var/log/cloudera-scm-server

4.5。変性剤は、サーバのアドレスを指摘しました

cd /opt/cloudera-manager/cm-5.8.0/etc/cloudera-scm-agent

使用vim config.ini

ウィルserver_host=localhost変更しますserver_host=master

4.6。店の小包にフォルダを作成します。

mkdir -p /opt/cloudera/parcel-repo
chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo
mkdir -p /opt/cloudera/parcels
chown cloudera-scm:cloudera-scm /opt/cloudera/parcels

4.7。実行/ Clouderaの-SCM-エージェントのフォルダを作成します

mkdir /opt/cloudera-manager/cm-5.8.0/run/cloudera-scm-agent

そこに作成されていない場合。

以下は、マスターのスタートです!

ClouderaのManagerのデータベースの4.8。設立5 

/opt/cm-5.8.0/share/cmf/lib/へのmysql-コネクタのjava-5.1.6-bin.jarをファイル。

cp mysql-connector-java-5.1.6-bin.jar /opt/cloudera-manager/cm-5.8.0/share/cmf/lib/

4.9。CM5のマスターノードデータベースの初期化で

/opt/cloudera-manager/cm-5.8.0/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -uroot -proot --scm-host localhost scm scm scm

4.10 CDH5をインストールするには、小包を準備 

パーセルCHD5(手動で作成パーセル-レポ)関連プライマリノードの/ opt / Clouderaの/小包、レポ/ディレクトリにパッケージ。

関連文書次のように:

  • CDH-5.8.0-1.cdh5.8.0.p0.42-el6.parcel
  • CDH-5.8.0-1.cdh5.8.0.p0.42-el6.parcel.sha1
  • manifest.jsonを

最後に、CDH-5.8.0-1.cdh5.8.0.p0.42-el6.parcel.sha1は、CDH-5.8.0-1.cdh5.8.0.p0.42-el6.parcel.shaを、名前を変更しましたポイントは、それ以外の場合は、システムが再ダウンロードCDH-5.3.8-1.cdh5.3.8.p0.5-el6.parcel.shaファイルでしょう、ということに留意しなければなりません。

4.11は、起動スクリプトを実行します 

マスターノードでサーバーを起動します。

/opt/cloudera-manager/cm-5.8.0/etc/init.d/cloudera-scm-server start

エージェントは、すべてのノードを起動します。

/opt/cloudera-manager/cm-5.8.0/etc/init.d/cloudera-scm-agent start

使用して、それぞれ、5分待って

/opt/cloudera-manager/cm-5.8.0/etc/init.d/cloudera-scm-server status

/opt/cloudera-manager/cm-5.8.0/etc/init.d/cloudera-scm-agent status

サーバーとエージェントのステータスを確認してください。エラーはには、そのような死んだなどとして、発生した場合

/opt/cloudera-manager/cm-5.8.0/logインサイド・ビュー・ログ、エラーを確認します

エージェントの誤差は少ないそうであるならば

Traceback (most recent call last):
  File "/opt/cloudera-manager/cm-5.8.0/lib64/cmf/agent/build/env/lib/python2.6/site-packages/cmf-5.8.0-py2.6.egg/cmf/agent.py", line 2163, in connect_to_new_supervisor
    self.get_supervisor_process_info()
  File "/opt/cloudera-manager/cm-5.8.0/lib64/cmf/agent/build/env/lib/python2.6/site-packages/cmf-5.8.0-py2.6.egg/cmf/agent.py", line 2185, in get_supervisor_process_info
    self.identifier = self.supervisor_client.supervisor.getIdentification()
  File "/usr/lib64/python2.6/xmlrpclib.py", line 1199, in __call__
    return self.__send(self.__name, args)
  File "/usr/lib64/python2.6/xmlrpclib.py", line 1489, in __request
    verbose=self.__verbose
  File "/opt/cloudera-manager/cm-5.8.0/lib64/cmf/agent/build/env/lib/python2.6/site-packages/supervisor-3.0-py2.6.egg/supervisor/xmlrpc.py", line 470, in request
    '' )
ProtocolError: <ProtocolError for 127.0.0.1/RPC2: 401 Unauthorized>

何がポートを占有しているため、仮想マシンは、解決することができる再起動します。

5.設定CDHクラスタ

PS:私は、ホスト名をインストールし、いくつかの理由から、マスターは気にしない、yao5と呼ばれています

検証が正常に動作している後、それがブラウザで開きます。http://マスター:7180は、 CM Serverがアクセスするために(私はほとんど20分を待っています)しばらく待つ必要があり、ここでいくつかの時間を費やす必要が開始する予定CDH管理インターフェイスを入力しますデフォルトのユーザー名とパスワードは両方ともadminです。

5.1は、ホストクラスタのインストールを指定するにはCDH

ホストにCDHクラスタの設定として、このステップ(||| ==スクリーンショットを忘れて)、指示することができるようにするため、現在の経営のホストが 3機、すなわちマスター、スレーブ1、Slave2をを見ることができます。それを正しくインストールするための手順、もし検索しない、あなた怠惰な説明は、直接コピーすることもcm-5.8.0、起動時に生成されますので、別のホストにこのフォルダSSID、このマシンはユニークなので、検索が間違って行くことができるとき。

5.2。クラスタのインストール

次はクラスタのインストール、このステップはクリック使用Parcel(建议)あなたが表示されない場合、ローカルパッケージは、ローカル設定のための説明のみを選択することができます見ることができるように、すべてのWebアドレスの出口を削除し、いくつかの理由が考えられ

  1. ないCDH-5.8.0-1.cdh5.8.0.p0.42-el6.parcel.sha1、CDH-5.8.0-1.cdh5.8.0.p0.42-el6.parcel.shaの名前を変更
  2. clouderaparcel-repoそしてparcelsパーミッションの設定の3つのフォルダが設定されていません。

スクリーンショット -  7_1.png

図のように、インストールの完了後。

5.3。ホストの正しさを確認してください

スクリーンショット -  8_1.png

図と同じがある場合、それはより近く離れて成功からのステップを示し、そのような一貫性のないJavaのバージョンなど、他のエラーが、ご自身の安全を考えるならばJDKではなく、この場所は例外なく、インストールに失敗したスパークの後ろにつながります、ここで我々は少なくとも5回をリロードするので、唯一の公式は、JDKを与えなければならないことがわかります。

改変方法与えられた入力

echo 10 > /proc/sys/vm/swappiness

echo never > /sys/kernel/mm/transparent_hugepage/defrag

あなたは何の問題を再起動しないようにしたい場合は、それらの他の文書は、上記の変更に応じました。

修改完后点击重新运行,得到以下样子

スクリーンショット-9.png

是不是看起来很舒服。

5.4.选择在集群上安装的服务

スクリーンショット-10.png

我们选择安装含Spark的内核

5.5.自定义角色分配

スクリーンショット-11.png

注意将DataNode选成所有主机,还有下面的Zookeeper选成所有主机,其他默认就可以了。

5.6.数据库设置

スクリーンショット-12.png

之前已经配置过数据库,直接像上面那样填即可,可能会在Hue测试连接的时候失败,那就是你没有安装完MySQL包里share,最好全部安装,防止报各种奇怪的错。

5.7.所需目录结构

スクリーンショット-13.png

默认即可,不用改动什么。

5.8.等待初始化和启动服务

这个地方初始化可能会出各种问题

1.Spark报错,一般都是JDK未使用官方版本。

2.Hive,Hbase,Hue等报错,类似于下图

スクリーンショット-14.png

解决办法也就是将mysql-connector-java-5.1.6-bin.jar拷贝到hive存放jar文件的目录重试即可。

cp mysql-connector-java-5.1.6-bin.jar /opt/cloudera/parcels/CDH-5.8.0-1.cdh5.8.0.p0.42/lib/hive/lib/

3.Oozie报错,显示timeout,这里是因为网络环境太差,传输很慢,所以要把超时时间设置久一点,我们将超时时间调到了300s。

スクリーンショット-20.png

如上图出现报错,浏览器打开另一个标签页,进入http://master:7180,点击oozie组件,搜索oozie_upload_sharelib_cmd_timeout parameter 和 change it to something bigger 然后将270改为600即可解决。

最后安装成功

Screenshot.png

6.调试CDH集群

安装完成后会因为电脑过卡,内存过小,硬盘空间不够等等问题导致会有很多运行状态不佳的主机

スクリーンショット-2.png

cdh_11

スクリーンショット -  1_1.png

经过将内存阈值,分配空间阈值,报警阈值调小后即可解决,最后等待一会便可以达到全绿,满足强迫症的你。

スクリーンショット -  2_1.png

输入http://master:8888 可以进入Hue中,使用Hive,Pig和Oozie

色合い

在终端输入spark-shell可以进入Spark-shell.

我们可以使用hdfs hadoop jar \/opt/cloudera/parcels/CDH/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar \pi 10 100来测试mapreduce,运行结果如下

スクリーンショット-6.png

END

おすすめ

転載: www.cnblogs.com/harrylyx/p/12236232.html