在从S3运行s3distcp到HDFS时:
sudo -u hdfs hadoop jar /usr/lib/hadoop/lib/s3distcp.jar --src s3n://workAAAA-KKKK-logs/production-logs/Log-XXXX-click/Log-XXXXX-click-2013-03-27_06-21-19_i-7XXb2x39_00037.gz --dest hdfs:///test/
Run Code Online (Sandbox Code Playgroud)
我得到以下异常.
我的路径语法有什么问题(s3n://; hdfs:///)?有没有人遇到过这个问题?
13/04/04 12:10:52 INFO s3distcp.S3DistCp: Using output path 'hdfs:/tmp/96a8e57b-4c68-406c-b4ca-bf212de12d93/output'
13/04/04 12:10:53 INFO s3distcp.FileInfoListing: Opening new file: hdfs:/tmp/96a8e57b-4c68-406c-b4ca-bf212de12d93/files/1
Exception in thread "main" java.lang.IllegalArgumentException: Can not create a Path from an empty string
at org.apache.hadoop.fs.Path.checkPathArg(Path.java:91)
at org.apache.hadoop.fs.Path.<init>(Path.java:99)
at org.apache.hadoop.fs.Path.<init>(Path.java:58)
at com.amazon.external.elasticmapreduce.s3distcp.FileInfoListing.getOutputFilePath(FileInfoListing.java:155)
at com.amazon.external.elasticmapreduce.s3distcp.FileInfoListing.add(FileInfoListing.java:111)
at com.amazon.external.elasticmapreduce.s3distcp.FileInfoListing.add(FileInfoListing.java:78)
at com.amazon.external.elasticmapreduce.s3distcp.S3DistCp.createInputFileListS3(S3DistCp.java:122)
at com.amazon.external.elasticmapreduce.s3distcp.S3DistCp.createInputFileList(S3DistCp.java:60)
at com.amazon.external.elasticmapreduce.s3distcp.S3DistCp.run(S3DistCp.java:529)
at com.amazon.external.elasticmapreduce.s3distcp.S3DistCp.run(S3DistCp.java:216)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:84)
at com.amazon.external.elasticmapreduce.s3distcp.Main.main(Main.java:12)
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 …Run Code Online (Sandbox Code Playgroud) 我对Pig很新,我有一个非常基本的问题:我可以让make Pig加载目录中的所有文件,包括子文件夹中的文件吗?以下是我的进展方式:
records = LOAD '/worldwide/data/' USING PigStorage() AS (event:chararray, user:chararray);
Run Code Online (Sandbox Code Playgroud)
在这里,repo/data可能有子文件夹如
repo/data/region/cluster1
repo/data/region/cluster2
Run Code Online (Sandbox Code Playgroud)
我是否可以从子目录和可能在将来添加的任何新目录中加载所有内容?
我试图通过阅读hadoop-2.4.1文档来了解如何在HDFS中管理数据.
根据以下架构:

每当客户端向HDFS写入内容时,他都不会与namenode联系并负责分块和复制.我假设在这种情况下,客户端是运行HDFS shell(或等效的)的机器.
但是,我不明白这是如何管理的.的确,根据相同的文件:
DataNode还根据NameNode的指令执行块创建,删除和复制.
上面提供的架构是否正确?如果是这样,
为什么客户端写入多个节点?
如果此架构不正确,文件创建如何与HDF一起使用?
我很难理解Hadoop和Pig之间的关系.我理解Pig的目的是隐藏脚本语言Pig Latin背后的MapReduce模式.
我不明白的是Hadoop和Pig是如何联系在一起的.到目前为止,唯一的安装程序似乎假设pig与主hadoop节点在同一台机器上运行.实际上,它使用hadoop配置文件.
这是因为猪只将脚本转换成mapreduce代码并将它们发送到hadoop吗?
如果是这种情况,我怎么能配置Pig以使它将脚本发送到远程服务器?
如果没有,这是否意味着我们总是需要在猪身上运行hadoop?
我在hadoop 2.2集群上安装了oozie 4.0.1.之后,我尝试运行一个oozie作业(java动作).一切似乎都很好:
但是,oozie突然停止并显示以下错误.
ACTION[0000001-140526105244150-oozie-labu-W@javaMainAction] Exception in check(). Message[java.net.ConnectException: Call From labuser-VirtualBox/127.0.1.1 to localhost:10020 failed on connection exception: java.net.ConnectException: Connection refused; For more details see: http://wiki.apache.org/hadoop/ConnectionRefused]
java.io.IOException: java.net.ConnectException: Call From labuser-VirtualBox/127.0.1.1 to localhost:10020 failed on connection exception: java.net.ConnectException: Connection refused; For more details see: http://wiki.apache.org/hadoop/ConnectionRefused
at org.apache.hadoop.mapred.ClientServiceDelegate.invoke(ClientServiceDelegate.java:331)
at org.apache.hadoop.mapred.ClientServiceDelegate.getJobStatus(ClientServiceDelegate.java:416)
at org.apache.hadoop.mapred.YARNRunner.getJobStatus(YARNRunner.java:522)
at org.apache.hadoop.mapreduce.Cluster.getJob(Cluster.java:183)
at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:580)
at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:578)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:415)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1491)
at org.apache.hadoop.mapred.JobClient.getJobUsingCluster(JobClient.java:578)
at org.apache.hadoop.mapred.JobClient.getJob(JobClient.java:596)
at org.apache.oozie.action.hadoop.JavaActionExecutor.getRunningJob(JavaActionExecutor.java:992)
at org.apache.oozie.action.hadoop.JavaActionExecutor.check(JavaActionExecutor.java:1005)
at org.apache.oozie.command.wf.ActionCheckXCommand.execute(ActionCheckXCommand.java:177)
at org.apache.oozie.command.wf.ActionCheckXCommand.execute(ActionCheckXCommand.java:56)
at …Run Code Online (Sandbox Code Playgroud) 我在Windows上使用Cygwin终端从Apache安装了Hadoop 2.1版beta.运行该命令hadoop version会出现此错误:
Error: Could not find or load main class org.apache.hadoop.util.VersionInfo
Run Code Online (Sandbox Code Playgroud) 我在我的代码中使用了属性,我对多重访问感到好奇.我在以下情况中:
public Class MClass{
private static Properties dicoCategories = new Properties(myPropertyFile);
public void changeProperties(){
// changing properties and updating the file
}
}
Run Code Online (Sandbox Code Playgroud)
MyClass多次实例化,每个实例都可以修改属性文件.我想我可以使用临时文件和锁来管理这种并发,但我更喜欢使用已经存在的函数.但是,我没有找到.我的问题是:Property类是以特殊方式管理并发,还是有多用户等价?
我使用EclEmma生成了一个覆盖率报告,其中包含以下路径:
C:/tmp/coverageReport/report.exec
Run Code Online (Sandbox Code Playgroud)
此文件存在,不为空且可读.关于代码覆盖的我的sonnar-runner配置定义如下:
sonar.java.coveragePlugin=jacoco
sonar.junit.reportsPath=C:/tmp/coverageReport/report.exec
Run Code Online (Sandbox Code Playgroud)
分析成功完成,但单元测试覆盖率小部件中没有可见数据.
此外,我在分析过程中得到以下几行:
18:23:45.036 INFO - parsing C:/tmp/coverageReport/report.exec
18:23:45.037 WARN - Reports path not found: C:/tmp/coverageReport/report.exec
Run Code Online (Sandbox Code Playgroud)
关于我缺少的任何想法?
我刚刚开始学习 Haskell。我熟悉 C、C++、Java 和 PHP。我仍然不知道如何在 Haskell 中打印从 0 到 10 的数字,而没有putStrLn不同的行。
在 Java 中,我们会这样做:
for(int i=0; i<=10; i++)
System.out.println(i);
Run Code Online (Sandbox Code Playgroud)
然而,Haskell 似乎并不支持这一点。我怎样才能产生相同的结果?
我正在使用Spring社交来通过Facebook或LinkedIn获取信息.它工作得很好,我得到了我想要的东西,但我遇到了问题:它超级慢.
例如,使用linkedin访问我的连接完整配置文件需要每个联系人大约一秒钟.Facebook也是如此.
所以,你知道这种缓慢是否适合Spring社交,或者是否有办法将这一切都搞定?
hadoop ×6
java ×3
apache-pig ×2
hdfs ×2
amazon-s3 ×1
concurrency ×1
cygwin ×1
facebook ×1
haskell ×1
jacoco ×1
linkedin ×1
oozie ×1
optimization ×1
sonar-runner ×1
sonarqube ×1