标签: hdfs

为什么不将hadoop分发给所有节点?

我根据http://www.michael-noll.com/tutorials/running-hadoop-on-ubuntu-linux-multi-node-cluster/中的演练设置了一个4节点的hadoop集群.我使用了1的复制(该集群仅用于测试)

我从本地复制了一个2GB的文件.在http接口中浏览文件时,我看到它被拆分为31个块,但所有这些都在一个节点上(主节点)

它是否正确?我该如何调查原因?

hadoop hdfs

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

用于在HDFS上存储文件的命令

介绍

已经安装并运行了Hadoop NameNode和三个DataNode.下一步是向HDFS提供文件.已执行以下命令:

hadoop fs -copyFromLocal ubuntu-14.04-desktop-amd64.iso
copyFromLocal: `.': No such file or directory
Run Code Online (Sandbox Code Playgroud)

hadoop fs -put ubuntu-14.04-desktop-amd64.iso
put: `.': No such file or directory
Run Code Online (Sandbox Code Playgroud)

没有成功.

需要发出哪个命令才能在HDFS上存储文件?

linux hadoop file hdfs

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

使用更新密钥导出Sqoop

我必须将HDFS文件导出到MySql中.
假设我的HDFS文件是:

1,abcd,23
2,efgh,24
3,ijkl,25
4,mnop,26
5,qrst,27
Run Code Online (Sandbox Code Playgroud)

并说我的Mysql数据库架构是:

+-----+-----+-------------+
| ID  | AGE |    NAME     |
+-----+-----+-------------+
|     |     |             |
+-----+-----+-------------+
Run Code Online (Sandbox Code Playgroud)

当我使用以下Sqoop命令插入时:

sqoop export \
--connect jdbc:mysql://localhost/DBNAME \
--username root \
--password root \
--export-dir /input/abc \
--table test \
--fields-terminated-by "," \
--columns "id,name,age"
Run Code Online (Sandbox Code Playgroud)

它工作正常并插入数据库.

但是,当我需要更新已经存在的记录时,我必须使用--update-key--columns.

现在,当我尝试使用以下命令更新表时:

sqoop export \
--connect jdbc:mysql://localhost/DBNAME \
--username root \
--password root \
--export-dir /input/abc \
--table test \
--fields-terminated-by "," \
--columns "id,name,age" \
--update-key id
Run Code Online (Sandbox Code Playgroud)

我面临的问题是数据没有更新到列中的指定 …

hadoop hdfs sqoop2

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

Flume HDFS Sink 在 HDFS 上生成大量小文件

我有一个使用 Flume 向 HDFS 发送 log4j 消息的玩具设置。我无法配置 hdfs 接收器以避免出现许多小文件。我以为我可以配置 hdfs 接收器在每次文件大小达到 10mb 时创建一个新文件,但它仍然创建大约 1.5KB 的文件。

这是我当前的水槽配置:

a1.sources=o1
a1.sinks=i1
a1.channels=c1

#source configuration
a1.sources.o1.type=avro
a1.sources.o1.bind=0.0.0.0
a1.sources.o1.port=41414

#sink config
a1.sinks.i1.type=hdfs
a1.sinks.i1.hdfs.path=hdfs://localhost:8020/user/myName/flume/events
#never roll-based on time
a1.sinks.i1.hdfs.rollInterval=0
#10MB=10485760
a1.sinks.il.hdfs.rollSize=10485760
#never roll base on number of events
a1.sinks.il.hdfs.rollCount=0

#channle config
a1.channels.c1.type=memory
a1.channels.c1.capacity=1000
a1.channels.c1.transactionCapacity=100

a1.sources.o1.channels=c1
a1.sinks.i1.channel=c1
Run Code Online (Sandbox Code Playgroud)

hdfs flume flume-ng

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

Hadoop 框架中使用的属性的完整列表

我正在对 Hadoop 框架进行一些研究。我想问一下框架中可以使用的属性..例如

  • io.sort.mb
  • io.sort.record.percent
  • 等等

有什么参考资料可以让我了解这个框架的整个属性列表吗?非常希望有人可以帮助我。

另外我想问一下,io.sort.mb和mapreduce.task.io.sort.mb有什么区别吗?或者他们只是一样?

java dictionary hadoop mapreduce hdfs

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

java.io.IOException:没有用于scheme的文件系统:hdfs

我正在使用Cloudera Quickstart VM CDH5.3.0(就parcels包而言)和Spark 1.2.0 $SPARK_HOME=/opt/cloudera/parcels/CDH-5.3.0-1.cdh5.3.0.p0.30/lib/spark使用命令并使用命令提交Spark应用程序

./bin/spark-submit --class <Spark_App_Main_Class_Name> --master spark://localhost.localdomain:7077 --deploy-mode client --executor-memory 4G ../apps/<Spark_App_Target_Jar_Name>.jar

Spark_App_Main_Class_Name.scala

import org.apache.spark.SparkContext
import org.apache.spark.SparkConf
import org.apache.spark.mllib.util.MLUtils


object Spark_App_Main_Class_Name {

    def main(args: Array[String]) {
        val hConf = new SparkConf()
            .set("fs.hdfs.impl", classOf[org.apache.hadoop.hdfs.DistributedFileSystem].getName)
            .set("fs.file.impl", classOf[org.apache.hadoop.fs.LocalFileSystem].getName)
        val sc = new SparkContext(hConf)
        val data = MLUtils.loadLibSVMFile(sc, "hdfs://localhost.localdomain:8020/analytics/data/mllib/sample_libsvm_data.txt")
        ...
    }

}
Run Code Online (Sandbox Code Playgroud)

但是我在客户端模式下提交应用程序时获得了ClassNotFoundExceptionfororg.apache.hadoop.hdfs.DistributedFileSystem

[cloudera@localhost bin]$ ./spark-submit --class Spark_App_Main_Class_Name --master spark://localhost.localdomain:7077 --deploy-mode client --executor-memory 4G ../apps/Spark_App_Target_Jar_Name.jar
15/11/30 09:46:34 INFO SparkContext: Spark configuration:
spark.app.name=Spark_App_Main_Class_Name
spark.driver.extraLibraryPath=/opt/cloudera/parcels/CDH-5.3.0-1.cdh5.3.0.p0.30/lib/hadoop/lib/native
spark.eventLog.dir=hdfs://localhost.localdomain:8020/user/spark/applicationHistory
spark.eventLog.enabled=true
spark.executor.extraLibraryPath=/opt/cloudera/parcels/CDH-5.3.0-1.cdh5.3.0.p0.30/lib/hadoop/lib/native …
Run Code Online (Sandbox Code Playgroud)

hadoop scala hdfs apache-spark apache-spark-mllib

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

什么是 hadoop(单节点和多节点)、spark-master 和 spark-worker?

我想了解以下术语:

hadoop(单节点和多节点) spark master spark worker namenode datanode

到目前为止我所理解的是 spark master 是作业执行者并处理所有 spark 工人。而 hadoop 是 hdfs(我们的数据所在的位置),spark 工作人员根据分配给他们的工作从中读取数据。如果我错了,请纠正我。

我也想了解namenode和datanode的作用。虽然我知道 namenode 的作用(拥有所有数据节点的元数据信息,最好只有一个,但也可以是两个),而数据节点可以是多个并拥有数据。

datanodes 是相同的 hadoop 节点吗?

hadoop hdfs apache-spark

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

在hadoop HDFS中存储大文件?

我需要在HDFS上存储大约10TB的大文件.我需要了解的是HDFS将如何存储此文件.比如,群集的复制因子是3,我有一个10节点群集,每个节点上有超过10 TB的磁盘空间,即总群集容量超过100TB.

现在,HDFS随机选择三个节点并将文件存储在这三个节点上.那么这就像听起来一样简单.请确认?

或者HDFS将文件分割 - 比如说每个10T分割1TB,然后将每个分割存储在随机选择的3个节点上.分裂是可能的,如果是,则是启用它的配置方面.如果HDFS必须拆分二进制文件或文本文件 - 它是如何拆分的.只需按字节.

java hadoop mapreduce bigdata hdfs

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

在Spark / Scala中写入HDFS以读取zip文件

我正在编写一个spark / scala程序,以读取ZIP文件,将其解压缩并将内容写入一组新文件。我可以将其用于写入本地文件系统,但想知道是否存在一种将输出文件写入分布式文件系统(例如HDFS)的方法。代码如下所示。

import java.util.zip.ZipInputStream
import org.apache.spark.input.PortableDataStream
import java.io._

var i =1
sc.binaryFiles("file:///d/tmp/zips/").flatMap((file:(String, PortableDataStream)) => {   
   val zipStream = new ZipInputStream(file._2.open)            
   val entry = zipStream.getNextEntry                            
   val iter = scala.io.Source.fromInputStream(zipStream).getLines          
   val fname = f"/d/tmp/myfile$i.txt" 

   i = i + 1

   val xx = iter.mkString
   val writer = new PrintWriter(new File(fname))
   writer.write(xx)
   writer.close()

   iter                                                       
}).collect()
Run Code Online (Sandbox Code Playgroud)

`

scala hdfs apache-spark

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

具有HDFS的Tensorflow数据集API

我们已经在HDFS目录中存储了* .tfrecord文件的列表。我想使用新的Dataset API,但给出的唯一示例是使用旧的filequeue和string_input_producer(https://www.tensorflow.org/deploy/hadoop)。这些方法使得很难产生时期。

是否可以将HDFS与Dataset API结合使用?

hdfs tensorflow tensorflow-datasets

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