草庐IT

hadoop - 在多节点 Hadoop 设置中只能运行一个数据节点

我正在尝试设置多节点Hadoop集群。现在,我只尝试使用两个节点。一个是NameNode/DataNode(主机A),另一个是第二个DataNode(主机B)。奇怪的是,我只能从主机A或主机B运行一个DataNode。如果我从conf/slaves文件中删除主机B,只保留主机A,系统将使用主机A作为数据节点。但是如果我把主机A和B都放在conf/slaves文件中,只有主机B会显示为系统中唯一的DataNode。主机A不工作时的日志如下:************************************************************/2013-07-3110:1

performance - 如何强制 PigStorage 输出几个大文件而不是数千个小文件?

我在我的pig脚本中使用了这些行:setdefault_parallel20;requests=LOAD‘/user/me/todayslogs.gz’USINGcustomParser;intermediate_results=some_data=FOREACHintermediate_resultsGENERATEday,request_id,result;STOREsome_dataINTO'/user/me/output_data'USINGPigStorage(',');“/user/me/todayslogs.gz”包含数千个gzip文件,每个文件大小为200MB。当脚本完

hadoop - 为什么每次重启机器后都需要格式化HDFS?

我在我的笔记本电脑上安装了伪分布式模式的Hadoop,操作系统是Ubuntu。我已经更改了hadoop存储其数据的路径(默认情况下hadoop将数据存储在/tmp文件夹中)hdfs-site.xml文件如下所示:dfs.data.dir/HADOOP_CLUSTER_DATA/data现在每当我重新启动机器并尝试使用start-all.sh脚本启动hadoop集群时,数据节点永远不会启动。我通过检查日志和使用jps命令确认数据节点没有启动。然后我使用stop-all.sh脚本停止集群。使用hadoopnamenode-format命令格式化HDFS。使用start-all.sh脚本启动

hadoop - 使用更新 key 的 Sqoop 导出

我必须将HDFS文件导出到MySql。假设我的HDFS文件是:1,abcd,232,efgh,243,ijkl,254,mnop,265,qrst,27然后说我的Mysql数据库模式是:+-----+-----+-------------+|ID|AGE|NAME|+-----+-----+-------------+||||+-----+-----+-------------+当我使用以下Sqoop命令插入时:sqoopexport\--connectjdbc:mysql://localhost/DBNAME\--usernameroot\--passwordroot\--expor

hadoop - sudo hadoop 与 su hadoop

有没有人遇到奇怪的环境问题,在调用hadoop命令时被迫使用SU而不是SUDO?sudosu-c'hadoopfs-ls/'hdfsFound4itemsdrwxr-xr-x-hdfshdfs02014-02-1112:33/appsdrwx-------mapredhdfs02014-03-1010:25/mapreddrwxrwxrwx-hdfshdfs02014-03-1010:26/tmpdrwxr-xr-x-hdfshdfs02014-02-1112:34/userTheenvironmentallowsfindingoftheexecutable:sudo-uhdfs'ha

scala - 将文件从本地移动到 HDFS

我的环境使用Spark、Pig和Hive。我在用Scala(或与我的环境兼容的任何其他语言)编写可以将文件从本地文件系统复制到HDFS的代码时遇到了一些麻烦。有人对我应该如何进行有任何建议吗? 最佳答案 其他答案对我不起作用,所以我在这里写另一个。试试下面的Scala代码:importorg.apache.hadoop.conf.Configurationimportorg.apache.hadoop.fs.FileSystemimportorg.apache.hadoop.fs.PathvalhadoopConf=newConfi

unix - 使用命令行查找 hdfs 分布式文件中的总行数

我在一个集群上工作,数据集以分布式方式保存在hdfs中。这是我所拥有的:[hmi@bdadev-5~]$hadoopfs-ls/bdatest/clm/data/Found1840items-rw-r--r--3bdasupergroup02015-08-1100:32/bdatest/clm/data/_SUCCESS-rw-r--r--3bdasupergroup344043902015-08-1100:32/bdatest/clm/data/part-00000-rw-r--r--3bdasupergroup344040622015-08-1100:32/bdatest/clm/

java.lang.UnsupportedOperationException : Not implemented by the DistributedFileSystem FileSystem implementation during FileSystem. 获取()

请查找随附的代码片段。我正在使用此代码将文件从hdfs下载到我的本地文件系统-Configurationconf=newConfiguration();FileSystemhdfsFileSystem=FileSystem.get(conf);Pathlocal=newPath(destinationPath);Pathhdfs=newPath(sourcePath);StringfileName=hdfs.getName();if(hdfsFileSystem.exists(hdfs)){hdfsFileSystem.copyToLocalFile(false,hdfs,local,

hadoop - HDFS 到 HDFS 完全强制移动文件

据我所知,在从一个HDFS位置移动到另一个位置时,没有直接选项可以覆盖HDFS中的文件,复制cp可以选择强制执行。我试图找出是否有任何黑客可以做到这一点?我们能做的是hdfsdfs-cp-f/hdfs/location1/hdfs/location2而不是hdfsdfs-mv-f/hdfs/location1//hdfs/location2/实现我的目的的一种方法是先执行hdfsdfs-cp-f/hdfs/location1/hdfs/location2,然后使用hdfsdfs-删除location1文件-rm-r/hdfs/location1但出于某种原因我不想这样做。任何其他使用一

hadoop - Oozie shell 操作可以在 HDFS 上创建输出文件吗?

我是Oozie和Hadoop的新手。我想问问我是否可以在Oozie中运行shell操作并将输出存储到Hadoop分布式文件系统上的文件中。 最佳答案 当然-使用以下作为shell操作的脚本:#!/bin/bashecho"foo">output.txthdfsdfs-moveFromLocaloutput.txt/your/path/in/hdfs 关于hadoop-Oozieshell操作可以在HDFS上创建输出文件吗?,我们在StackOverflow上找到一个类似的问题: