阿里云E-MapReduce SSH集群登录及本地查看Hadoop等系统的webUI

源起:

终于到了租用云服务器的时候了,想想还有点小激动呢。

EMR的官方文档上关于ssh集群登录的操作步骤已经很详细了,而且还有视频,但是实际操作的时候总会遇到一些意想不到的问题,于是我就把我配置的过程记录下来,以供参考。

配置步骤:

配置过程基本参照EMR的官方文档:SSH集群登录

一、SSH登陆集群master节点

1. 下载安装  PuTTY,Puttygen

阿里云E-MapReduce SSH集群登录及本地查看Hadoop等系统的webUI

2. 打开puutygen, 点击generate 生成一个.ppk文件的秘钥文件,点击save private key保存

阿里云E-MapReduce SSH集群登录及本地查看Hadoop等系统的webUI

3. 打开putty,在session中输入你创建的集群的公网IP,注意格式 [email protected]  或者 [email protected]

阿里云E-MapReduce SSH集群登录及本地查看Hadoop等系统的webUI

然后选择Connection->SSH -> Auth  browse选择你之前保存的ppk文件,最后点击open

阿里云E-MapReduce SSH集群登录及本地查看Hadoop等系统的webUI

第一次登陆会出现下面的提示,点击“是”即可

阿里云E-MapReduce SSH集群登录及本地查看Hadoop等系统的webUI

4. 输入你当初创建集群时设置的远程登陆密码

阿里云E-MapReduce SSH集群登录及本地查看Hadoop等系统的webUI

这样就实现了SSH访问集群中的master节点

阿里云E-MapReduce SSH集群登录及本地查看Hadoop等系统的webUI

二、下面是如何在本地访问hadoop,spark等系统的webUI

首先需要下载id_rsa到本地,然后打通SSH隧道实现动态转发,最后通过Chrome流量器访问webUI

1. 在master节点中,切换成hadoop用户;  sudo  su hadoop

cd 到根目录,在/home/hadoop/.ssh 下可以看到id_rsa文件

阿里云E-MapReduce SSH集群登录及本地查看Hadoop等系统的webUI

2. 将id_rsa文件下载到本地。官方文档给的是sz指令进行下载,但是我用这个指令会卡死,没法下载。所以我选择用scp指令得到id_rsa文件。

阿里云E-MapReduce SSH集群登录及本地查看Hadoop等系统的webUI

3. 本地cmd中,输入下述指令,实现端口动态转发

ssh -i /path/id_xxx -ND 8157 hadoop@masterNodeIP阿里云E-MapReduce SSH集群登录及本地查看Hadoop等系统的webUI


注意:这里的[email protected]要与mater当前的权限IP对应(或者直接用[email protected]),因为我第二天用hadoop用户的时候,会出现下面的错误,改成[email protected]就可以正常转发了。

阿里云E-MapReduce SSH集群登录及本地查看Hadoop等系统的webUI


4. 本地cmd中,进入Chrome.exe 所在文件位置(C:\Program Files (x86)\Google\Chrome\Application)输入下述指令,以命令行的方式启动Chromechrome --proxy-server="socks5://localhost:8157" --host-resolver-rules="MAP * 0.0.0.0 , EXCLUDE localhost" --user-data-dir=d:/tmp/

阿里云E-MapReduce SSH集群登录及本地查看Hadoop等系统的webUI

4. 在弹出的Chrome流量器中,用localhost访问hadoop等系统的webUI就可以了

阿里云E-MapReduce SSH集群登录及本地查看Hadoop等系统的webUI

阿里云E-MapReduce SSH集群登录及本地查看Hadoop等系统的webUI

END