内容纲要
概要描述
本文章适用场景为:
1、集群配置了内外网双网卡;
2、HDFS安装在内网卡网络;
3、外网中的集群外其他机器,需要访问安装在内网网卡上的HDFS;
详细说明
配置前需要确保:
- 两个namenode节点必须都要有外网网卡
- 集群外服务器的时钟与TDH的系统时间保持一致
- 集群外服务器需要配置JAVA_HOME
可参见如何配置JAVA_HOME
配置方法
一. 配置 HDFS 参数
1、 登录 Manager 页面 (http://manager_ip:8180)
2、点击 HDFS 组件,并点击 配置 按钮进入HDFS组件的配置参数页面
3、点击页面右边的 添加自定义参数 按钮,添加如下自定义参数:
属性 | 值 | 配置文件 |
---|---|---|
dfs.namenode.http-bind-host | 0.0.0.0 | hdfs-site.xml |
dfs.namenode.https-bind-host | 0.0.0.0 | hdfs-site.xml |
dfs.namenode.rpc-bind-host | 0.0.0.0 | hdfs-site.xml |
dfs.namenode.servicerpc-bind-host | 0.0.0.0 | hdfs-site.xml |
dfs.client.use.datanode.hostname | true | hdfs-site.xml |
dfs.datanode.use.datanode.hostname | true | hdfs-site.xml |
4、参数添加完成后,点击 更多操作 > 配置服务
5、配置完成后,将 namenode.use.wildcard 参数值修改为 true (若已经是true则无需修改)
高版本已废弃该参数
6、重启 HDFS 服务:
二. 下载TDH-Client工具至外网集群外服务器,并修改hosts文件
1、在 Manager 页面,点击 管理 > 下载客户端,下载 tdh-client.tar 客户端,并将该客户端工具上传到外网集群外服务器
2、在外网服务器上,将TDH客户端解压部署到到希望的目录:
# tar xvf tdh-client.tar
3、解压后,修改TDH-Client/hosts文件,将内网网卡hosts信息注释掉,添加两个namenode节点的外网网卡信息,例如:
4、将外网服务器的本机ip和hostname信息写入/etc/hosts文件(若已有则无需重复写入)
三. 验证是否成功访问内网安装的HDFS
在外网服务器上,执行 source TDH-Client/init.sh 后,即可正常访问内网安装的HDFS.
[root@bryan1 Bryan]# source TDH-Client/init.sh
Already have all hostname in TDH Cluster.
Init done!
[root@bryan1 Bryan]# hadoop fs -ls /
2019-08-07 17:50:03,339 INFO util.KerberosUtil: Using principal pattern: HTTP/_HOST
Found 7 items
drwx--x--x - hbase hbase 0 2019-08-07 15:37 /hyperbase1
drwx--x--x - hive hive 0 2019-04-27 18:33 /inceptor1
drwx--x--x - hive hive 0 2019-04-27 18:38 /slipstream1
drwx--x--x - hive hive 0 2019-04-27 18:41 /slipstreamstudio1
drwxrwxrwt - hdfs hadoop 0 2019-04-27 18:15 /tmp
drwxrwxrwt - hdfs hadoop 0 2019-04-27 18:15 /user
drwxr-xr-x - hdfs hbase 0 2019-04-27 18:16 /yarn1
[root@bryan1 Bryan]#