创建连接MRS集群的SSH隧道并配置浏览器
操作场景
用户和MRS集群处于不同的网络中,需要创建一个SSH隧道连接,使用户访问站点的数据请求,可以发送到MRS集群并动态转发到对应的站点。
MAC系统暂不支持该功能访问MRS,请参考通过弹性公网IP访问内容访问MRS。
前提条件
- 准备一个SSH客户端用于创建SSH隧道,例如使用开源SSH客户端Git。请下载并安装。
- 已创建好集群,并准备pem格式的密钥文件或创建集群时的密码。
- 用户本地环境可以访问互联网。
操作步骤
- 登录MRS管理控制台,选择 。
- 单击指定名称的MRS集群。
记录集群的“安全组” 。
- 为集群Master节点的安全组添加一条需要访问MRS集群的IP地址的入规则,允许指定来源的数据访问端口“22”。
具体请参见“虚拟私有云 > 用户指南 > 安全性 > 安全组 > 添加安全组规则”。
- 查询集群的主管理节点,具体请参考如何确认主备管理节点。
- 为集群的主管理节点绑定一个弹性IP地址。
具体请参见
。 - 在本地启动Git Bash,执行以下命令登录集群的主管理节点:ssh root@弹性IP地址或者ssh -i 密钥文件路径 root@弹性IP地址
- 执行以下命令查看数据转发配置:
cat /etc/sysctl.conf | grep net.ipv4.ip_forward
- 修改节点转发配置:
- 执行以下命令切换root用户:
sudo su - root
- 执行以下命令,修改转发配置:
echo 1 > /proc/sys/net/ipv4/ip_forward
sed -i "s/net.ipv4.ip_forward=0/net.ipv4.ip_forward = 1/g" /etc/sysctl.conf
sysctl -w net.ipv4.ip_forward=1
- 执行以下命令,修改sshd配置文件:
按I进入编辑模式,查找“AllowTcpForwarding”和“GatewayPorts”,并删除注释符号,修改内容如下,然后保存并退出:
AllowTcpForwarding yes GatewayPorts yes
- 执行以下命令,重启sshd服务:
- 执行以下命令切换root用户:
- 执行以下命令查看浮动IP地址:
ifconfig
系统显示的“eth0:FI_HUE”表示为Hue的浮动IP地址,“eth0:wsom”表示Manager浮动IP地址,请记录“inet”的实际参数值。
然后退出登录:exit
- 在本地机器执行以下命令创建支持动态端口转发的SSH隧道:
使用命令ssh -i 密钥文件路径 -v -ND 本地端口地址 root@弹性IP地址或者ssh -v -ND 本地端口地址 root@弹性IP地址,然后输入创建集群时的密码。
其中,“本地端口地址”需要指定一个用户本地环境未被使用的端口,建议选择8157。
创建后的SSH隧道,通过“-D”启用动态端口转发功能。默认情况下,动态端口转发功能将启动一个SOCKS代理进程并侦听用户本地端口,端口的数据将由SSH隧道转发到集群的主管理节点。
- 执行如下命令配置浏览器代理。
- 在新弹出的浏览器地址栏,输入Manager的访问地址。
Manager访问地址形式为https://Manager浮动IP地址:28443/web。
访问启用Kerberos认证的集群时,需要输入MRS集群的用户名和密码,例如“admin”用户。未启用Kerberos认证的集群则不需要。
第一次访问时,请根据浏览器提示,添加站点信任以继续打开页面。
- 准备站点的访问地址。
- 参考Web站点一览,获取Web站点的地址格式及对应的角色实例。
- 单击“服务管理”。
- 单击指定的服务名称,例如HDFS。
- 单击“实例”,查看NameNode的主角色实例“NameNode(主)”的“业务IP”。
- 在浏览器输入访问Web站点真实地址并访问。
- 退出访问Web站点时,请终止并关闭SSH隧道。