"
1、自己是初学hadoop,第一次使用hadoop-2.6.0-cdh5.7.0在阿里云上面进行部署。基础的jdk环境没有问题。因为只有一台服务器,搭建的是伪分布式,修改的配置文件如下:
core-site.xml
<code class=""xml""><property> <name>fs.defaultFS</name> <value>hdfs://desktop1:8020</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/root/tmp</value> </property>
hdfs-site.xml
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
slave
desktop1
其中对应系统的hosts和hostname如下
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
172.31.207.xxx desktop1
和
NETWORKING=yes
HOSTNAME=desktop1
NETWORKING_IPV6=no
PEERNTP=no
2、目前存在的问题:
自己通过ssh root@47.104.109.xxx 链接阿里云服务器[公网IP:47.104.109.xxx;私有IP:172.31.207.xxx],使用hdfs的shell命令[-ls -rm -put等等]都没有问题,且在浏览器端访问也是正常可以查看到文件的【Block information】
但是
自己通过本地的eclipse使用hdfs对应的API操作出现问题
onfiguration = new Configuration();
configuration.set("dfs.replication", "1");
fileSystem = FileSystem.get(new URI(HDFS_APTH), configuration, "root");
本人也是第一次使用hadoop,希望大家能够给与提示和帮助,不胜感激。
附上java代码
public class HdfsApp {
public static final String HDFS_APTH = "hdfs://47.104.109.xxx8020/";
FileSystem fileSystem = null;
Configuration configuration = null;
@Before
public void setUp() throws Exception {
System.out.println("HDFS coming");
configuration = new Configuration();
configuration.set("dfs.replication", "1");
fileSystem = FileSystem.get(new URI(HDFS_APTH), configuration, "root");
}
//创建目录正常
@Test
public void mkdirTest() throws Exception {
fileSystem.mkdirs(new Path("/hdfs/dada"));
}
//copy本地到服务器异常
@Test
public void copyFromLocal() throws Exception {
Path localPath = new Path("/Users/dada/Downloads/dada.jpg");
Path hdfsPath = new Path("/");
fileSystem.copyFromLocalFile(localPath, hdfsPath);
}
@After
public void tearDown() throws Exception {
System.out.println("HDFS leaving");
configuration = null;
fileSystem = null;
}
}
异常信息
org.apache.hadoop.ipc.RemoteException(java.io.IOException): File /dada.jpg could only be replicated to 0 nodes instead of minReplication (=1). There are 1 datanode(s) running and 1 node(s) are excluded in this operation.
"
楼主解决这个问题了吗,我也遇到这个问题几天了,怎么都无法解决,我是使用 IOUtils.copyBytes(in, outputStream, 4096, true);
进行文件的下载上传,都失败了。
楼主是看的慕课网的课程吗,我也遇到了同样的问题,怎么也解决不了
######问题已经解决
######我也遇到了相同问题,解决了,调试经验我写了篇博客,https://blog.csdn.net/vaf714/...
######这个问题解决了吗
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。