数々の失敗の後、最終的にはCDHは、2台の普通のノートパソコンにインストールされ、障害の以下の主な理由があります。
- インストールプロセスに精通していない、公式のインストール方法は3通りの方法で与えられているので、良いことので、時にはマルチ必ずしも、多くの時間を無駄に、もう一度試してください。
- バート・機器の設置は、時としてが高いためのメモリとCPU使用率やクラッシュを取ります。
- ネットワーク環境をインストールすると、タイムアウト現象かもしれ送信失敗につながる、貧しい人々です。
- インストール時間は時間が生じ、長すぎると、あまりにも多くの間違ったを支払った後、再び開始します。
参考のために、以下の方法が最善の方法について話していないが、それは私たちの最後の手段です。
環境のセットアップ
二台のラップトップ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とホスト名
最初のチェックifconfig
3台の仮想マシンの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_installation
MySQLのパスワードを変更します。
入力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アドレスの出口を削除し、いくつかの理由が考えられ
- ない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の名前を変更
cloudera
、parcel-repo
そしてparcels
パーミッションの設定の3つのフォルダが設定されていません。
図のように、インストールの完了後。
5.3。ホストの正しさを確認してください
図と同じがある場合、それはより近く離れて成功からのステップを示し、そのような一貫性のないJavaのバージョンなど、他のエラーが、ご自身の安全を考えるならばJDKではなく、この場所は例外なく、インストールに失敗したスパークの後ろにつながります、ここで我々は少なくとも5回をリロードするので、唯一の公式は、JDKを与えなければならないことがわかります。
改変方法与えられた入力
echo 10 > /proc/sys/vm/swappiness
echo never > /sys/kernel/mm/transparent_hugepage/defrag
あなたは何の問題を再起動しないようにしたい場合は、それらの他の文書は、上記の変更に応じました。
修改完后点击重新运行,得到以下样子
是不是看起来很舒服。
5.4.选择在集群上安装的服务
我们选择安装含Spark的内核
5.5.自定义角色分配
注意将DataNode选成所有主机,还有下面的Zookeeper选成所有主机,其他默认就可以了。
5.6.数据库设置
之前已经配置过数据库,直接像上面那样填即可,可能会在Hue测试连接的时候失败,那就是你没有安装完MySQL包里share,最好全部安装,防止报各种奇怪的错。
5.7.所需目录结构
默认即可,不用改动什么。
5.8.等待初始化和启动服务
这个地方初始化可能会出各种问题
1.Spark报错,一般都是JDK未使用官方版本。
2.Hive,Hbase,Hue等报错,类似于下图
解决办法也就是将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。
如上图出现报错,浏览器打开另一个标签页,进入http://master:7180,点击oozie组件,搜索oozie_upload_sharelib_cmd_timeout parameter 和 change it to something bigger 然后将270改为600即可解决。
最后安装成功
6.调试CDH集群
安装完成后会因为电脑过卡,内存过小,硬盘空间不够等等问题导致会有很多运行状态不佳的主机
经过将内存阈值,分配空间阈值,报警阈值调小后即可解决,最后等待一会便可以达到全绿,满足强迫症的你。
输入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
,运行结果如下
END