welcome!~,This is a |

duuuuu17

园龄:1年11个月粉丝:0关注:0

Hadoop的hdfs云服务器配置踩坑记录

本章更多的是通过hdfs的API接口问题角度记录坑点

坑点记录

一、能够远程访问和通过web端访问hdfs

  1. 在java代码中添加或更改如下:
Configuration conf = new Configuration();
conf.set("dfs.client.use.datanode.hostname", "true");//添加此配置信息即可
FileSystem fs = FileSystem.get(new URI("hdfs://host:9000"), conf, "root");
  1. 查找hadoop datanode的主机名

hadoop dfsadmin -report

  1. 1 在本机的主机映射进行修改

C:\Windows\System32\drivers\etc\hosts

3.2 外网IP和主机名

3.3 在虚拟机hosts文件配置:

内网IP和主机名

3.4 在hadoop的etc下的works文件配置:

外网IP和主机名

  1. hadoop的hdfs配置文件更改:

    <!-- 将内部datanode能够和namenode进行通信 -->
        <property>
            <name>dfs.client.use.datanode.hostname</name>
            <value>true</value>
        </property>
    
    <property>
        <name>dfs.datanode.use.datanode.hostname</name>
        <value>true</value>
    </property>
    
  2. 开放50700、9000和9866端口,以及对应的服务器的安全组

  3. 当有datanode启动不了时,将hadoop的tmp文件夹下的name fds文件删除即可。(学习环境,仓库没存储重要数据可操作,否则6-8慎做!)

  4. 通过core-site.xml文件查看tmp目录的路径:

<!-- 指定hadoop数据的存储目录 -->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/module/hadoop-3.0.0/data</value>
</property>

  1. 删除后,使用指令hadoop namenode -format

  2. 启动hadoop start-all.sh,结束stop-all.sh

二、通过hdfs的API,在本地windows环境中无法下载

  1. windows中通过hdfs的API远程下载文件,还需要下载winutils文件下的hadoop.dll和winutils.exe文件,并将它们移至C:\Windows\System32下。

下载地址winutils

本文作者:duuuuu17

本文链接:https://www.cnblogs.com/duuuuu17/p/17561664.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   duuuuu17  阅读(51)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起