我在我的桌面上设置了一个单节点集群。问题是我不能让我的桌面一直运行。我确实执行了stop-all.sh,稍后当我执行start-all.sh时,我的名称节点没有启动。最后我必须做%hadoopnamenode-format,通过丢失我的所有数据继续那里。 最佳答案 出了点严重的问题。请检查名称节点写入的图像和编辑文件发生了什么。如果它们没问题——NameNode可以启动。另外...存储NN数据的最后一个地方是HDFS-因为你会遇到鸡蛋和鸡肉的问题。没有NN数据HDFS不可访问。 关于ha
我们有一台非常稳定的机器,我们想将它用作Namenode。同时,我们还有很多其他高度不稳定的机器,我们希望它们成为数据节点。现在我们要配置Hadoop,使Namenode(在本例中也作为Datanode)在HDFS上有一份完整数据的副本,这样集群就可以始终从中恢复数据。谁能帮我解决这个问题? 最佳答案 这不能以直接的方式完成。方法是有的,但很麻烦,问题百出,不值得。在您的实际数据节点和名称节点上运行数据节点守护进程。在你的拓扑文件中,将所有真实的数据节点作为一个逻辑机架(R1)的一部分,并将NN+DN机器作为一个不同的机架(R2)。
我正在使用org.apache.pig.PigServer类从Java运行pig脚本。我需要以gz压缩的序列格式输出我的文件。这就是我所做的:effectivePigProperties.put("mapred.output.compress","true");effectivePigProperties.put("mapred.output.format.class","org.apache.hadoop.mapred.SequenceFileOutputFormat");effectivePigProperties.put("mapred.output.compression.ty
我在不同的文件上有两个矩阵。我必须将文件读入缓存,以便我可以将它们相乘。我一直在想HDFS是否会帮助我。我怀疑HDFS没有,因为它没有足够的缓存内存来读取文件和处理它。简而言之,我可以同时打开两个文件吗 最佳答案 要回答您的问题的较短版本,是的,HDFSAPI确实允许一次并发读取两个文件。您可以简单地在两个文件上创建两个输入流并并行读取它们(就像您对常规文件所做的那样)并围绕它管理您的逻辑。但是,HDFS是一个简单的文件系统,没有自己的缓存(操作系统缓冲区缓存除外),您需要携带的任何计算缓存都需要由您自己的应用程序处理。作为另一个一
我正在尝试在hadoop上进行JUnit测试,我使用MiniDFSCluster、MiniMRCluster和JUnit编写了一个在本地mini-hadoop环境中运行的测试用例。但是我收到了这个错误:WARNING:Metricssystemnotstarted:Cannotlocateconfiguration:triedhadoop-metrics2-datanode.properties,hadoop-metrics2.propertiesDec18,20124:42:29PMorg.apache.hadoop.hdfs.server.datanode.DataNodemake
如何获取事件文件中的文件INode?例如:在客户端输入命令如下:./hadoopfs-chown-Rhadoop:hadoophdfs://nn:9000/A1.txt如何在文件更改所有者操作期间获取“A1.txt”文件INode?谢谢!感谢HarshJ的以下回答。我知道API。让我换一种说法:如果我想向文件inode添加一些东西,我如何获得指向事件文件inode的指针?非常感谢。感谢HarshJ的回答。我知道API。让我换一种说法:如果我想向文件inode添加内容,我如何获得指向事件文件inode的指针?非常感谢。 最佳答案 鉴于
HDFS(block大小64MB)中有一个非常大的图像(~200MB)。我想知道以下内容:如何在mapReduce作业中读取图像?许多主题建议使用WholeInputFormat。还有其他选择吗?如何做?当使用WholeInputFormat时,是否会有任何block的并行处理?我猜不是。 最佳答案 如果您的block大小为64MB,HDFS很可能会将您的图像文件分成多个block并在整个集群中复制,具体取决于您的集群配置。假设您希望将图像文件作为1条记录而不是多个block/逐行处理,这里有几个我可以想到的选项来处理整个图像文件。
我想从sasServer中提取数据并将其放入HDFS。我想使用java代码实现相同的任何想法。 最佳答案 最简单的机制是安装Hadoop客户端库,然后通过客户端命令将SAS文件上传到HDFS:hadoopfs-put如果您不想使用客户端命令,您始终可以编写自己的java应用程序来执行从SAS服务器到HDFS的上传。一段未经测试的示例代码,使用fs.FileSystem.copyFromLocalFile接口(interface)传输文件:packageorg.mycompany;importjava.security.Privile
我尝试在CDH4.4上运行TestDFSIO,这是我通过命令行(而不是ClouderaManager)启动的。这是我运行的命令:bin/hadoopjarhadoop-test-2.0.0-mr1-cdh4.4.0-SNAPSHOT.jarTestDFSIO-Ddfs.replication=1-write-nrFiles2-fileSize4000这是我得到的错误:java.lang.NoClassDefFoundError:org/apache/hadoop/hdfs/BenchmarkThroughputatorg.apache.hadoop.test.AllTestDriver
我正在尝试安装ApacheShark。其中一项要求是安装HDFS。我不想使用YARN或MESOS。我只想要HDFS。我的问题是:这是否意味着我只能安装2.x之前的hadoop发行版?如果有,是哪一个?或者我可以使用Hadoop2.4并以某种方式禁用YARN吗?我不太确定该怎么做。我能找到的所有教程似乎都使用YARN。有人对如何仅在2.x中使用HDFS有任何建议吗?如果只想安装HDFS,我需要哪个hadoop发行版? 最佳答案 要使用shark,您需要安装:HDFS存储数据hive用于内存中使用的Sparkyarn不是强制性的