标签: microsoft-distributed-file-system

Hadoop java.io.IOException:Mkdirs无法创建/ some/path

当我尝试运行我的Job时,我收到以下异常:

Exception in thread "main" java.io.IOException: Mkdirs failed to create /some/path
    at org.apache.hadoop.util.RunJar.ensureDirectory(RunJar.java:106)
    at org.apache.hadoop.util.RunJar.main(RunJar.java:150)
Run Code Online (Sandbox Code Playgroud)

/ some/path的位置是hadoop.tmp.dir.但是,当我在/ some/path上发出dfs -ls cmd时,我可以看到它存在并且数据集文件存在(在午餐之前复制了该文件).此外,路径在hadoop配置中正确定义.任何建议将不胜感激.我正在使用hadoop 0.21.

hadoop microsoft-distributed-file-system ioexception

41
推荐指数
5
解决办法
5万
查看次数

Lustre,Gluster或MogileFS ?? 用于视频存储,编码和流媒体

这么多的选项和很少的时间来测试它们......我想知道是否有人有分布式文件系统的视频流和存储/编码经验.

我有很多巨大的视频文件(50GB到250GB),我需要存储在某个地方,能够将它们编码为mp4并从几个Adobe FMS服务器流式传输.处理所有这一切的唯一方法是使用分布式文件系统,但现在的问题是哪个?

到目前为止我的研究告诉我:

  • Lustre:成熟的成熟解决方案,被许多大公司使用,最好用> 10G文件是内核驱动程序.
  • Gluster:新的,不太成熟,基于FUSE意味着易于安装,但由于FUSE开销可能会更慢.最好处理大量的小文件〜1GB
  • MogileFS:似乎只适用于小文件~MB,使用HTTP进行访问?未来可能的FUSE绑定.

到目前为止,Lustre似乎是赢家,但我希望听到我所拥有的特定应用的真实体验.

此外,Hadoop,Redhat GFS,Coda和Windows DFS也可作为选项,因此欢迎任何体验.如果有人有基准,请分享.

经过一些实际经验后,这就是我所学到的:

  • 光泽:
    • 表现:惊人的快!我可以断言Lustre可以服务很多流,并且通过Lustre访问文件不会影响编码速度.
    • POXIS兼容性:非常好!无需修改应用程序即可使用光泽.
    • 复制,负载平衡和故障转移:非常糟糕!对于复制负载平衡我们和故障转移,我们需要依赖其他软件,如虚拟IP和DRDB.
    • 安装:最糟糕的!凡人都无法安装.需要非常具体的内核,光泽补丁和调整组合才能使其正常工作.目前的光泽补丁通常适用于与新硬件/软件不兼容的旧内核.
  • MogileFS:
    • 性能:适用于小文件但不适用于中型到大型文件.这主要是由于HTTP开销,因为所有文件都是通过HTTP请求发送/接收的,这些请求对base64中的所有数据进行编码,为每个文件增加了33%的开销.
    • POXIX兼容性不存在.所有应用程序都需要修改为使用mogilefs,因为大多数流服务器和编码工具都不了解MogileFS协议,因此它无法用于流/编码.
    • 通过一次访问多个跟踪器,可以在应用程序中实现开箱即用的复制和故障转移以及负载平衡.
    • 安装相对容易,大多数发行版中都有现成的软件包.我发现的唯一困难是设置数据库主从,以消除单点故障.
      • Gluster:
    • 性能:非常糟糕的流式传输.在10Gbps网络中,我无法达到超过几Mbps的速度.客户端和服务器CPU在大量写入时飙升.对于编码是有效的,因为CPU在网络和I/O之前已经饱和.
    • POXIS:几乎兼容.我使用的工具可以访问gluster挂载作为磁盘中的普通文件夹,但在某些边缘情况下,事情开始引起问题.检查gluster邮件列表,你会发现有很多问题.
    • 复制,故障转移和负载平衡:最好的!如果他们真的有效 Gluster非常新,它有很多bug和性能问题.
    • 安装太简单了.管理命令行非常棒,在多个服务器之间设置复制,条带和分布式卷并不容易.

定论:

不幸的是,结论是"没有单一的银弹".

目前,我们将Gluster3.2中的媒体文件放在复制卷中以进行存储和转码.只要您没有很多服务器,就可以避免地理复制和条带卷工作正常.

当我们要传输媒体文件时,我们将它们复制到通过DR:DB复制到第二个光泽卷的光泽卷.然后,wowza服务器从光泽卷中读取媒体文件.

最后,我们使用MogileFS来提供Web应用程序服务器中的缩略图.

video streaming microsoft-distributed-file-system

28
推荐指数
2
解决办法
2万
查看次数

用于查找图的关节点或切割顶点的算法的说明

我搜索过网络,找不到任何DFS算法的解释,用于查找图形的所有关节顶点.甚至没有维基页面.

从阅读中,我从这里了解了基本事实.PDF

每个节点都有一个变量,它实际上是在观察后边缘并找到朝向根节点的最近和最上面的节点.在处理完所有边缘之后,它将被找到.

但我不明白如何在执行DFS期间在每个节点上找到这个向下和向上变量.这个变量到底是做什么的?

请解释算法.

谢谢.

algorithm complexity-theory graph microsoft-distributed-file-system graph-algorithm

27
推荐指数
2
解决办法
4万
查看次数

在配置hadoop 0.23.8时出现以下错误"Datanode拒绝与namenode通信"

我试图在我的macbook上配置hadoop 0.23.8并运行以下异常

org.apache.hadoop.hdfs.server.protocol.DisallowedDatanodeException: Datanode denied communication with namenode: 192.168.1.13:50010
at org.apache.hadoop.hdfs.server.blockmanagement.DatanodeManager.registerDatanode(DatanodeManager.java:549)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.registerDatanode(FSNamesystem.java:2548)
at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.registerDatanode(NameNodeRpcServer.java:784)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.hadoop.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:394)
at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1571)
at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1567)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:396)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1262)
at org.apache.hadoop.ipc.Server$Handler.run(Server.java:1565)
Run Code Online (Sandbox Code Playgroud)

我的core-site.xml看起来像这样

<configuration>
<property>
<name>dfs.federation.nameservices</name>
<value>ns1</value>
</property>

<property>
<name>dfs.namenode.rpc-address.ns1</name>
<value>192.168.1.13:54310</value>
</property>

<property>
<name>dfs.namenode.http-address.ns1</name>
<value>192.168.1.13:50070</value>
</property>

<property>
<name>dfs.namenode.secondary.http-address.ns1</name>
<value>192.168.1.13:50090</value>
</property>
</configuration>
Run Code Online (Sandbox Code Playgroud)

关于我可能做错的任何想法?

hadoop microsoft-distributed-file-system hdfs

16
推荐指数
3
解决办法
1万
查看次数

hadoop/hdfs/name处于不一致状态:存储目录(hadoop/hdfs/data /)不存在或无法访问

我已尝试在stackoverflow上提供的关于此主题的所有不同解决方案,但没有帮助再次询问具体日志和详细信息

任何帮助表示赞赏

我的Hadoop集群中有一个主节点和5个从节点.ubuntu用户和ubuntu组是~/Hadoop文件夹的所有者.~/hadoop/hdfs/data&~/hadoop/hdfs/name文件夹都存在

并且两个文件夹的权限都设置为 755

在启动脚本之前成功格式化了namenode start-all.sh

这篇文章未能发布"NAMENODE"

它们在主节点上运行

ubuntu@master:~/hadoop/bin$ jps

7067 TaskTracker
6914 JobTracker
7237 Jps
6834 SecondaryNameNode
6682 DataNode

ubuntu@slave5:~/hadoop/bin$ jps

31438 TaskTracker
31581 Jps
31307 DataNode
Run Code Online (Sandbox Code Playgroud)

以下是名称 - 节点日志文件的日志.

..........
..........
.........

014-12-03 12:25:45,460 INFO org.apache.hadoop.metrics2.impl.MetricsSourceAdapter: MBean for source jvm registered.
2014-12-03 12:25:45,461 INFO org.apache.hadoop.metrics2.impl.MetricsSourceAdapter: MBean for source NameNode registered.
2014-12-03 12:25:45,532 INFO org.apache.hadoop.hdfs.util.GSet: Computing capacity for map BlocksMap
2014-12-03 12:25:45,532 INFO org.apache.hadoop.hdfs.util.GSet: VM type       = 64-bit
2014-12-03 12:25:45,532 INFO org.apache.hadoop.hdfs.util.GSet: …
Run Code Online (Sandbox Code Playgroud)

hadoop microsoft-distributed-file-system nodes

14
推荐指数
3
解决办法
3万
查看次数

除了Hadoop之外,是否有在Windows上运行的分布式文件系统?

我迫切希望找到任何支持Windows的DFS.唯一这样的DFS是Hadoop HDFS,但是很难将其部署到其他大量的Windows机器上,因为它需要Cygwin + SSH.

几乎所有DFS系统仅在Linux上运行,并且在Windows上只运行一个(HDFS).

如果有人能够指向我支持Windows的其他DFS,我将非常感激.

从DFS我需要能够跨DFS节点负载平衡文件,压缩和多语言API以使用DFS(我不需要挂载DFS).

windows hadoop microsoft-distributed-file-system hdfs

11
推荐指数
1
解决办法
2505
查看次数

如何在Windows 2003/IIS6上设置WebDeploy?

Webdeploy是WebDav,FTP和FrontPage扩展的替代方案.它还可以作为DFS的替代方案来复制网站.我发现说明了配置Windows 2008,但我不清楚如何设置2003尤其是当多个网站/ IP地址都存在.

deployment webserver iis-7 iis-6 microsoft-distributed-file-system

9
推荐指数
2
解决办法
2万
查看次数

如何以编程方式在DFS中获取活动的UNC路径

给定DFS路径,我如何知道它当前以编程方式存在的活动路径.

例如,我有2个服务器共享"\\Server1\Folder\","\\Server2\Folder\"并且它已打开DFS,因此可以访问它"\\DFS_Server\Folder\",我怎么知道当前所处的活动路径"\\DFS_Server\Folder\"是什么,无论是"\\Server1\Folder\""\\Server2\Folder\".

c# wmi microsoft-distributed-file-system

7
推荐指数
2
解决办法
8024
查看次数

如何使用spark和elasticsearch-hadoop从/向不同的ElasticSearch集群读写?

原标题:除了HDFS之外,还有什么其他DFS能够引发支持(并且被推荐)?

我很高兴地使用spark和elasticsearch(带有elasticsearch-hadoop驱动程序)和几个巨大的集群.

我不时会将整个数据集拉出来,处理每个文档,并将所有数据放入不同的Elasticsearch(ES)集群中(是的,数据迁移也是如此).

目前,无法将集群中的ES数据读入RDD,并使用spark + elasticsearch-hadoop将SparkContextRDD 写入不同的RDD ,因为这将涉及从RDD 交换.所以我想将RDD写入目标文件,然后再将它们读回到具有不同SparkContexts 的RDD中.

但是,问题出现了:我需要一个DFS(分布式文件系统)来共享整个spark集群中的大文件.最流行的解决方案是HDFS,但我会非常避免将Hadoop引入我的堆栈.是否还有其他推荐的DFS可以支持火花?

在下面更新

感谢@Daniel Darabos在下面的回答,我现在可以使用以下Scala代码从/向不同的ElasticSearch集群读取和写入数据:

val conf = new SparkConf().setAppName("Spark Migrating ES Data")
conf.set("es.nodes", "from.escluster.com")

val sc = new SparkContext(conf)

val allDataRDD = sc.esRDD("some/lovelydata")

val cfg = Map("es.nodes" -> "to.escluster.com")
allDataRDD.saveToEsWithMeta("clone/lovelydata", cfg)
Run Code Online (Sandbox Code Playgroud)

microsoft-distributed-file-system hdfs elasticsearch apache-spark elasticsearch-hadoop

6
推荐指数
1
解决办法
1907
查看次数

使用 smb2 在 golang 中打开 Microsoft DFS 共享

我在 Windows Server 2012 上有一个 dfs 共享。我可以在 Windows 文件资源管理器中打开共享并从另一个系统读取文件,路径如下:\\dfsserver\usernamespace\Tom\go.png。但是,通过https://github.com/hirochachacha/go-smb2使用 golang 的 smb2 包,我得到一个错误:

响应错误:联系的服务器不支持 DFS 命名空间的指示部分

但是,如果我尝试使用实际共享路径\\dfsserver\public share\Tom\go.png打开该文件,则代码可以正常工作。所以问题是我不知道运行时的实际路径,并且我希望能够使用 DFS 提供的路径打开文件。

难道是DFS在smb2上不能正常工作吗?或者其他一些问题。预先感谢您的评论。

    func main(){
    
        // actualPath := `\\dfsserver\public share\Tom\go.png`
        // dfsPath := `\\dfsserver\usernamespace\Tom\go.png`
    
        conn, err := net.Dial("tcp", fmt.Sprintf("%s:%s", "dfsserver", "445"))
        if err != nil {
            fmt.Println(err)
        }
        defer conn.Close()
    
        dial := &smb2.Dialer{
            Initiator: &smb2.NTLMInitiator{
                User:     "user",
                Password: "password",
                Domain:  "dfsserver",
            },
        }
        session, err := dial.Dial(conn)
        if err != nil {
            fmt.Println(err)
        }
        defer session.Logoff()
    
        mountPoint, …
Run Code Online (Sandbox Code Playgroud)

smb microsoft-distributed-file-system go

6
推荐指数
0
解决办法
680
查看次数