ゼロからはじめるHortonworks（sandboxセットアップ～HDFSにデータロード）

HortonWorksってデータ分析の何かだよね？

ぐらいの認識だった私が、Hortonworksに触れてみました。

# この記事の内容を三行で

* Hortonworksのsandboxは、**様々なデータ分析が楽しめる**
* Microsoft Azureを使えば、ボタンぽちぽちで**すぐ使える**
* **チュートリアルが充実**（・・・しすぎてどれを始めればいいか迷った）

# はじめるまえに

Hortonworksって何かのサービスの名前？
それとも会社の名前？

Hortonworks
http://jp.hortonworks.com/

なるほど

* Hortonworksは会社名
* Hortonworksのwは小文字
* 企業の持っているデータをいい感じに活用する何かを提供している

いい感じに活用する何かは試せるのかな？

と「製品」を見ると
sandboxを使ったチュートリアルというものがあったので、
ここからはじめてみました。

# Azureでsandboxのデプロイ

Azureでsandbox環境を作ってみることにしてみます。

デプロイ方法については、以下の記事を参考に作成しました。

Hadoop、Sparkを、Azure上のHortonworks Data Platformで試してみよう
http://qiita.com/kkitase/items/1d2e4662c2e8c9b0fd59


テンプレートからデプロイするときの説明文を読んでみると


>Sandbox comes with over fifty hands-on tutorials that will guide you through the Hadoop, Spark, Storm, HBase, Kafka, Hive, Ambari and YARN; tutorials built on the experience gained from training thousands of people in our Hortonworks University Training classes.
>If you are new to Hadoop, HDP and the Sandbox we suggest sequence of tutorials to get started:

sandbox環境は、たくさんのチュートリアルが楽しめるのですね！

`http://<Azureで割り振られたパブリックIPアドレス>:8080/`

にアクセスすると、Ambariという管理ポータルにアクセスできました。

初期ユーザIDとパスワードの
maria_dev / maria_dev
を入力することで、ログインできます。

<img width="924" alt="snip_20161207192003.png" src="https://qiita-image-store.s3.amazonaws.com/0/60109/0124874a-de5a-e0cb-60f9-b7f53534c23d.png">



# セットアップを進めてみる

sandboxのセットアップを進めていきます。
http://jp.hortonworks.com/hadoop-tutorial/learning-the-ropes-of-the-hortonworks-sandbox/


## 2.1 SETUP AMBARI ADMIN PASSWORD MANUALLY 

AmbariのAdminパスワードの再設定と再起動を行います。

```
$ sudo ambari-admin-password-reset
Please set the password for admin:
Please retype the password for admin:

The admin password has been set.
Restarting ambari-server to make the password change effective...

Using python  /usr/bin/python2
Restarting ambari-server
Using python  /usr/bin/python2
Stopping ambari-server
Ambari Server stopped
Using python  /usr/bin/python2
Starting ambari-server
Ambari Server running with administrator privileges.
Organizing resource files at /var/lib/ambari-server/resources...
Server PID at: /var/run/ambari-server/ambari-server.pid
Server out at: /var/log/ambari-server/ambari-server.out
Server log at: /var/log/ambari-server/ambari-server.log
Waiting for server start....................
Ambari Server 'start' completed successfully.
```

```
$ sudo ambari-agent restart
Restarting ambari-agent
Verifying Python version compatibility...
Using python  /usr/bin/python2
Found ambari-agent PID: 3262
Stopping ambari-agent
Removing PID file at /var/run/ambari-agent/ambari-agent.pid
ambari-agent successfully stopped
Verifying Python version compatibility...
Using python  /usr/bin/python2
Checking for previously running Ambari Agent...
Starting ambari-agent
Verifying ambari-agent process status...
Ambari Agent successfully started
Agent PID at: /var/run/ambari-agent/ambari-agent.pid
Agent out at: /var/log/ambari-agent/ambari-agent.out
Agent log at: /var/log/ambari-agent/ambari-agent.log
```

では、Ambariにもう一度サインインしてみます。
admin / 設定したパスワード

adminで入ることができ、
上メニューのAdminという項目を使えるようになりました。

<img width="926" alt="snip_20161207194810.png" src="https://qiita-image-store.s3.amazonaws.com/0/60109/f1f71fff-259c-9497-03b2-48343203279c.png">


# Hadoopチュートリアルを試してみる

膨大なチュートリアルが存在します。
http://jp.hortonworks.com/tutorials/

が、他のチュートリアルは、前提条件の知識が必要のようなので、
まずは初心者向けのこちらを進めてみます。

Hadoop Tutorial - Getting Started with HDP
http://hortonworks.com/hadoop-tutorial/hello-world-an-introduction-to-hadoop-hcatalog-hive-and-pig/


上記ページのリンクから、「Geolocation.zip」というデータをダウンロードして解凍します。
中身はcsvが2つ。このデータを可視化するまでがチュートリアルのようですね。
チュートリアルの通りに進めていきます。


Ambariを開き、左上のメニューから、「HDFS Files」を選びます。

<img width="937" alt="snip_20161207202113.png" src="https://qiita-image-store.s3.amazonaws.com/0/60109/5d0b5487-f348-a318-e863-8d2c780e6258.png">


userを選択

![snip_20161207202454.png](https://qiita-image-store.s3.amazonaws.com/0/60109/10a227c3-c058-c5fe-6d66-6a0238beb6d4.png)


maria_devを選択

![snip_20161207202549.png](https://qiita-image-store.s3.amazonaws.com/0/60109/38bd2f04-2a1d-f8a9-8032-70094b983d44.png)


右上のNew Directoryを選択

![snip_20161207202711.png](https://qiita-image-store.s3.amazonaws.com/0/60109/37a26d0d-7688-edb9-c247-dc984ef991b8.png)


dataディレクトリを作成

<img width="361" alt="snip_20161207202751.png" src="https://qiita-image-store.s3.amazonaws.com/0/60109/2a215bdc-ec8f-0015-4713-473c8c779d48.png">


さらに、dataディレクトリの下に移動して

![snip_20161207202958.png](https://qiita-image-store.s3.amazonaws.com/0/60109/cfc0acc0-8950-e81c-5154-bd5e540bdd70.png)


Geolocationに入っていたcsvをUpload！

![snip_20161207203120.png](https://qiita-image-store.s3.amazonaws.com/0/60109/8179c7e7-7cec-78a4-db67-a5942794239c.png)

でん！

<img width="919" alt="snip_20161207203406.png" src="https://qiita-image-store.s3.amazonaws.com/0/60109/af71cc93-8443-a346-57d8-31e6d6ab6391.png">


一つ上の階層に戻って、dataフォルダの上で右クリック。
Permissionsを選択します。

<img width="897" alt="snip_20161207204231.png" src="https://qiita-image-store.s3.amazonaws.com/0/60109/7fc60fba-45d0-ea5f-3124-8a7f8e5e5ddd.png">


Writeをクリックして、青色にして保存します。

<img width="241" alt="snip_20161207204406.png" src="https://qiita-image-store.s3.amazonaws.com/0/60109/b1d47836-bf2c-9b02-6780-e0cb7b1509a3.png">

↓

<img width="241" alt="snip_20161207204508.png" src="https://qiita-image-store.s3.amazonaws.com/0/60109/b45bf5cd-2513-7bc8-5a62-b10d268313e2.png">


これでHDFSにデータをロードするところまでできました。
続きでは、データのテーブル化や分析が始まるようです。

チュートリアルは英語ですが、図や説明も多く、
ここまではとてもわかりやすく進めることができました。
・・・挫折しないようにします。