LoginSignup
8
4

More than 5 years have passed since last update.

全部入りHortonworksのビッグデータ処理基盤を構築してみる

Last updated at Posted at 2017-09-18

Hortonworksが提供しているチュートリアルを行うために、「Hortonworks Data Platform (HDP)」と「Hortonworks DataFlow (HDF)」が入ったビッグデータ分析基盤テスト用の環境を構築します。一つのインスタンスに全てのサービスをインストールしますので、パフォーマンステストには向きませんが、インストールから試したいという方は参考にしてください。
Azureや、Docker, VMwware, Virutal Boxでは、Sandboxというあらかじめ全て設定済みの環境がありますが、今回は素の仮想インスタンス上に一から構築してみます。
今回は、IBMとHortonworksとの提携も発表されたことなので、Bluemix Infrastructure上に作成してみたいと思います。ただし、どのクラウド、オンプレミスサーバー、仮想マシン上でも同様に構築できると思います。

IBMとHortonworksとの提携

日本語化されているチュートリアル

Bluemix でインスタンスのオーダー

Bluemix Infrastructure ポータルから、下記のスペックを選択し、一番下にある[Add to Order]をクリック

  • Data Center: TOK02
  • Flavor: Memory 4 X 2.0 GHz Cores x 32GB x 100GB (SAN)
  • OS: CentOS 7.x Minimal Install (64 bit)

FQDNの登録(Local PCで作業)

今回は、毎回、IPアドレスを入力するのが面倒なので、Local PCに登録しました。

sudo sh -c "echo '<作成されたインスタンスのIPアドレス> <FQDN>' >> /private/etc/hosts"
(例: 161.111.11.11)
(例: hdp1.handson.jp)

Ambari Serverのインストール

  • Terminal / SSH Clientから、作成されたインスタンスにSSH接続 (例: ssh root@161.111.11.11)
[root@hdp1 ~]# passwd
Changing password for user root.
New password: <new password>
Retype new password: <new password>
passwd: all authentication tokens updated successfully.
[root@hdp1 ~]# setenforce 0
[root@hdp1 ~]# wget -nv http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.5.2.0/ambari.repo -O /etc/yum.repos.d/ambari.repo
[root@hdp1 ~]# yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel
[root@hdp1 ~]# yum -y install ambari-server
[root@hdp1 ~]# ambari-server setup -s --java-home=/usr/lib/jvm/jre/
[root@hdp1 ~]# ambari-server start

Ambari Agentのインストール

[root@hdp1 ~]# yum -y install ambari-agent
[root@hdp1 ~]# cat /etc/ambari-agent/conf/ambari-agent.ini |sed 's/localhost/hdp1.handson.jp/g' > /etc/ambari-agent/conf/ambari-agent.ini.new 
(hdp<参加者番号> 例: hdp1, hdp2, hdp3..)

[root@hdp1 ~]# mv -f /etc/ambari-agent/conf/ambari-agent.ini.new /etc/ambari-agent/conf/ambari-agent.ini
[root@hdp1 ~]# ambari-agent start
[root@hdp1 ~]# ln -s /usr/bin/jps /usr/lib/jvm/jre//bin/jps
[root@hdp1 ~]# ln -s /usr/bin/jar /usr/lib/jvm/jre/bin/jar
[root@hdp1 ~]# yum -y install ntp
[root@hdp1 ~]# systemctl enable ntpd
[root@hdp1 ~]# service ntpd start

HDF Management Pack のインストール

[root@hdp1 ~]# ambari-server stop
[root@hdp1 ~]# wget http://public-repo-1.hortonworks.com/HDF/centos7/3.x/updates/3.0.0.0/tars/hdf_ambari_mp/hdf-ambari-mpack-3.0.0.0-453.tar.gz
[root@hdp1 ~]# mv hdf-ambari-mpack-3.0.0.0-453.tar.gz /tmp
[root@hdp1 ~]# cd /tmp
[root@hdp1 ~]# ambari-server install-mpack --mpack=/tmp/hdf-ambari-mpack-3.0.0.0-453.tar.gz --verbose
[root@hdp1 ~]# ambari-server start
[root@hdp1 ~]# 

Amabari UIでの設定 (HDP)

  • http://hdp1.handson.jp:8080 にアクセス (インスタンスのFQDN名) user/passwd: admin/admin
  • Lanunch Install Wizard
    2017-09-18-10.11.08.jpg

  • Cluster名の決定
     2017-09-18 14.49.51.jpg

  • HDP2.6を選択
    2017-09-18-10.24.48.jpg

  • ホスト名を入力し、Manual Registrationを選択
    2017-09-18-10.25.19.jpg

  • 必要なサービスを選択

チュートリアル 選択するサービス
HDP系チュートリアル HDFS, YARN + MapReduce, Tez, Hive, Pig, ZooKeeper, Ambari Metrics, SmartSence, Spark2, Zeppelin Notebook, Slider
HDF系チュートリアル HDFS, YARN + MapReduce, ZooKeeper, Ambari Metrics, SmartSence, NiFi, Storm, Kafka, Spark2, Zeppelin Notebook
  • (Spark2を選択した場合)Spark2 Thrift, Livy, Clientをチェック
    2017-09-18-10.58.21.jpg

  • 問題のある所を確認、修正
    2017-09-18-10.59.36.jpg

  • 設定項目のレビュー後、Deploy
     2017-09-18 15.02.42.jpg

  • インストールが完了すれば、Next
     2017-09-18 15.02.55.jpg

NiFiのプロセスは正常に起動しているが、Webに接続できない場合の対処

NICが2枚ささっていて、NiFiのプロセスが内部IPアドレスを参照してしまっている場合があります。この場合、明示的に、nifi.web.http.host で外部IPアドレスを指定し、NiFiのサービスをAmbariから再起動。

[root@hdp1 ~]# netstat -antu | grep LISTEN
tcp6       0      0 :::9995                 :::*                    LISTEN     
tcp6       0      0 127.0.0.1:9995          :::*                    LISTEN 

 2017-09-19 9.05.43.jpg

Tezの設定をチューニング

AmbariダッシュボードからTez、Configにて、tez.session.am.dag.submit.timeout.secs を600から60に変更

 Storm UIを追加

Stormを利用する場合は、Storm UIを追加しておきましょう。

  • Manage Ambariをクリック
     2017-09-18 23.56.38.jpg

  • Viewsをクリックし、Storm_Monitoringを選択
     2017-09-18 23.56.46.jpg

  • 必要項目を設定し、Save
     2017-09-18 23.57.22.jpg

  • 追加されたViewをクリック
     2017-09-18 23.57.29.jpg

  • StormのUIを確認できる
     2017-09-18 23.57.39.jpg

adminで、HDFS上に、ディレクトリ、ファイルを作成するようにする

Hadoop Tutorial – Getting Started with HDP で、データをアップロードする箇所があるので、adminで作業するために設定しておきましょう。

[root@hdp1 ~]# sudo su - hdfs
Last login: Sun Sep 17 21:20:14 CDT 2017
[hdfs@hdp1 ~]$ hdfs dfs -mkdir /user/admin
[hdfs@hdp1 ~]$ hdfs dfs -chown admin:hadoop /user/admin

それでは、Hortonworks チュートリアルの旅にでましょう。


補足情報

再起動時の対応

再起動後、ambari-agentが起動されていることを確認し、サービス一覧のActionからStart Allをクリックすると、サービスが起動されます。
ss 2017-09-20 8.35.15.png

SecondaryNameNodeの起動ができない場合

再起動したときに、下記のようなログが出力され、SeondayNameNodeの起動に失敗することがあります。一つの理由として、Ambari Agentが正常に起動してない可能性があります。ambari-agent restart 後、ambari-server restartで試してみてください。

FATAL namenode.SecondaryNameNode (SecondaryNameNode.java:main(683)) - Failed to start secondary namenode
java.net.BindException: Port in use: hdp.handson.jp:50090

サービスの自動起動の設定

インスタンスを再起動したあとに、サービスを自動起動するように設定しておくと便利でしょう。
 2017-09-19 10.53.44.jpg

SAM, Schema Registry, Druid, Supersetのインストール、設定

SAM, Schema Registry, Druid, Superset は、databaseの作成を行う必要があります。時間のあるときにここにも記載するつもりですが、それまで必要な場合は、Installing HDF Services on an Existing HDP Clusterを参照ください。

IBM Data Science Experience を使った分析

時間のあるときにも試してみたいと思います。

8
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
4