Proxy下でEMRで「リソースマネージャー」を見る


EMRを動かしても、以下のエラーで原因が全くつかめないので、エラー原因を詳しく見るために、リソースマネージャーへアクセスする方法

```
Exception in thread "main" org.apache.spark.SparkException: Application finished with failed status...
```


環境
---

* PCが会社などのProxy環境下に存在
* mac利用


やること
---

だいたい、以下の流れとなります。

1. FoxyProxyをFireFoxにインストール
2. FoxyProxyの設定
2. コンソール上から、EMRのマスターのIPに対して、ダイナミックフォワーディングを行う
3. FoxyProxyをONにする


1. FoxyProxyをインストール
---

下記より

https://addons.mozilla.org/ja/firefox/addon/foxyproxy-standard/

2. FoxyProxyの設定
---

こちらを参考にさせていただきました。
http://qiita.com/pyr_revs/items/5e7212581b536fd436fb

![スクリーンショット 2016-08-05 16.02.42.png](https://qiita-image-store.s3.amazonaws.com/0/18331/912aeb73-4b76-ef1a-3af5-fa799677e875.png "スクリーンショット 2016-08-05 16.02.42.png")

プロキシの新規追加を行う

![スクリーンショット 2016-08-05 16.06.16.png](https://qiita-image-store.s3.amazonaws.com/0/18331/c7014351-962b-682a-ea5f-278245fbf37b.png "スクリーンショット 2016-08-05 16.06.16.png")

インポートでファイルを選べるので、以下の内容のxmlを作って読み込ませる

```
<?xml version="1.0" encoding="UTF-8"?>
<foxyproxy>
   <proxies>
      <proxy name="emr-socks-proxy" id="2322596116" notes="" fromSubscription="false" enabled="true" mode="manual" selectedTabIndex="2" lastresort="false" animatedIcons="true" includeInCycle="true" color="#0055E5" proxyDNS="true" noInternalIPs="false" autoconfMode="pac" clearCacheBeforeUse="false" disableCache="false" clearCookiesBeforeUse="false" rejectCookies="false">
         <matches>
            <match enabled="true" name="*ec2*.amazonaws.com*" pattern="*ec2*.amazonaws.com*" isRegEx="false" isBlackList="false" isMultiLine="false" caseSensitive="false" fromSubscription="false" />
            <match enabled="true" name="*ec2*.compute*" pattern="*ec2*.compute*" isRegEx="false" isBlackList="false" isMultiLine="false" caseSensitive="false" fromSubscription="false" />
            <match enabled="true" name="10.*" pattern="http://10.*" isRegEx="false" isBlackList="false" isMultiLine="false" caseSensitive="false" fromSubscription="false" />
            <match enabled="true" name="*10*.amazonaws.com*" pattern="*10*.amazonaws.com*" isRegEx="false" isBlackList="false" isMultiLine="false" caseSensitive="false" fromSubscription="false" />
            <match enabled="true" name="*10*.compute*" pattern="*10*.compute*" isRegEx="false" isBlackList="false" isMultiLine="false" caseSensitive="false" fromSubscription="false" />
      </matches>
         <manualconf host="localhost" port="8157" socksversion="5" isSocks="true" username="" password="" domain="" />
      </proxy>
   </proxies>
</foxyproxy>
```

3. ダイナミックフォワーディングをする
---

起動しているEMRのマスターIPを確認
コンソールを立ち上げて、以下を入力

~~~
ssh -i ~/.ssh/hogehoge.pem -N -D 8157 hadoop@xxx.xxx.xxx.xxx
~~~

port:8157なのは、FoxyProxyにデフォルトで設定している値？

![スクリーンショット 2016-08-05 16.13.02.png](https://qiita-image-store.s3.amazonaws.com/0/18331/ce7b8f2a-ed3e-ba5e-1dac-b9931b80e8d7.png "スクリーンショット 2016-08-05 16.13.02.png")

4. FoxyProxyのON
---

![スクリーンショット 2016-08-05 16.15.01.png](https://qiita-image-store.s3.amazonaws.com/0/18331/57be8501-4ced-fc0d-ad30-318deabc3a24.png "スクリーンショット 2016-08-05 16.15.01.png")

「モードを選択」で、先ほどの設定を施したものを選ぶ



接続
---

EMRにアクセスして、リソースマネージャーのリンクを踏めば

![スクリーンショット 2016-08-05 16.17.46.png](https://qiita-image-store.s3.amazonaws.com/0/18331/5119bffd-707a-1028-1a2a-816bfbcf7358.png "スクリーンショット 2016-08-05 16.17.46.png")

以下のようにアクセスができると思います

![スクリーンショット 2016-08-05 16.17.37.png](https://qiita-image-store.s3.amazonaws.com/0/18331/3cff7a59-3784-f7af-5df5-aefc4de6d1f3.png "スクリーンショット 2016-08-05 16.17.37.png")