小编vef*_*hym的帖子

HDFS 文件系统命名空间

在 HDFS 的上下文中,我们有 Namenode 和 Datanode,说 Namenode 存储文件系统命名空间是什么意思?

另外,我们为 datanode 指定的目录(在 hdfs-core.xml 中)是唯一可以存储数据的地方,还是可以指定任何其他目录来保存数据?

filesystems hadoop namespaces hdfs

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

在 unix shell 中删除一个非常大的文件的前 n 个字符

我有一个大文本文件(~3GB)。在创建它时,我犯了一个错误,只有第一行前几个(不是全部)字符是错误的。第一行中的其余字符是正确的。所有其他行也是正确的。我的,很简单,问题是:

如何删除这么大文件的前 n 个字符?我不想删除整个第一行,删除前 n 个字符。我的要求是:

  1. 不替换所有剩余的行。
  2. 无需阅读整个文件。
  3. 理想情况下,使用 unix shell 命令。

我试过 sed,但它替换了第一行并复制了所有其余的行……也许我可以使用“退出”选项?当然,我可以再次创建文件,而不会犯那个错误......

unix shell sed

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

在Mapreduce中,复制是否也适用于中间数据?

在Mapreduce中,我们说映射器产生的输出称为中间数据.

中间数据是否也被复制?

中间数据是暂时的吗?

中间数据何时被删除?是自动删除还是我们需要明确删除它?

hadoop mapreduce

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

Hadoop fs -cp,说文件不存在?

new.txt文件可以肯定; 我不知道为什么当我试图进入hdfs目录时,它说文件不存在.

deepak@deepak:/$ cd $HOME/fs
deepak@deepak:~/fs$ ls
new.txt
deepak@deepak:~/fs$ cat new.txt
an apple a day keeps the doctor away
deepak@deepak:~/fs$ hadoop fs -cp $HOME/fs/new.txt $HOME/hdfs
cp: File does not exist: /home/deepak/fs/new.txt
deepak@deepak:~/fs$ 
Run Code Online (Sandbox Code Playgroud)

PS:我已经创建了一个名为hdfs的目录:

deepak@deepak:~/fs$ hadoop fs -mkdir $HOME/hdfs
mkdir: cannot create directory /home/deepak/hdfs: File exists
Run Code Online (Sandbox Code Playgroud)

hadoop hdfs hadoop2

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

Java AES 不解密阿拉伯语

我正在 Eclipse 上加密和解密字符串。我正在使用以下功能:

private final static String ALGORITHM = "AES";


    public static String cipher(String secretKey, String data) throws Exception {



        SecretKeyFactory factory = SecretKeyFactory.getInstance("PBKDF2WithHmacSHA1");

        KeySpec spec = new PBEKeySpec(secretKey.toCharArray(), secretKey.getBytes(), 128, 256);

        SecretKey tmp = factory.generateSecret(spec);

        SecretKey key = new SecretKeySpec(tmp.getEncoded(), ALGORITHM);



        Cipher cipher = Cipher.getInstance(ALGORITHM);

        cipher.init(Cipher.ENCRYPT_MODE, key);



        return toHex(cipher.doFinal(data.getBytes()));

    }


    public static String decipher(String secretKey, String data) throws Exception {



        SecretKeyFactory factory = SecretKeyFactory.getInstance("PBKDF2WithHmacSHA1");

        KeySpec spec = new PBEKeySpec(secretKey.toCharArray(), secretKey.getBytes(), 128, 256);

        SecretKey tmp = factory.generateSecret(spec);

        SecretKey key = …
Run Code Online (Sandbox Code Playgroud)

java eclipse encryption aes

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

是否可以在没有Cygwin的Windows上以本地模式运行Hadoop作业(如WordCount示例)?

我有Windows 7,Java 8,Maven和Eclipse.我创建了一个Maven项目和使用几乎一模一样的代码在这里.

这只是一个简单的"字数统计"样本.我尝试从Eclipse启动"驱动程序"程序,我提供命令行参数(输入文件和输出目录)并获得以下错误:

Exception in thread "main" java.lang.NullPointerException   at
java.lang.ProcessBuilder.start(ProcessBuilder.java:1012)    at
org.apache.hadoop.util.Shell.runCommand(Shell.java:404)     at
org.apache.hadoop.util.Shell.run(Shell.java:379)    at
org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:589) at
org.apache.hadoop.util.Shell.execCommand(Shell.java:678)    at
org.apache.hadoop.util.Shell.execCommand(Shell.java:661)    at
org.apache.hadoop.fs.RawLocalFileSystem.setPermission(RawLocalFileSystem.java:639) at
org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:435) at
org.apache.hadoop.fs.FilterFileSystem.mkdirs(FilterFileSystem.java:277) at
org.apache.hadoop.mapreduce.JobSubmissionFiles.getStagingDir(JobSubmissionFiles.java:125) at
org.apache.hadoop.mapreduce.JobSubmitter.submitJobInternal(JobSubmitter.java:344) at
org.apache.hadoop.mapreduce.Job$10.run(Job.java:1268)   at
org.apache.hadoop.mapreduce.Job$10.run(Job.java:1265)   at
java.security.AccessController.doPrivileged(Native Method)  at
javax.security.auth.Subject.doAs(Subject.java:422)  at
org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1491) at
org.apache.hadoop.mapreduce.Job.submit(Job.java:1265)   at
org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:1286)    at
misc.projects.hadoop.exercises.WordCountDriverApp.main(WordCountDriverApp.java:29)
Run Code Online (Sandbox Code Playgroud)

失败的行(WordCountDriverApp.java:29)包含启动作业的命令:

job.waitForCompletion(true)

我想让它工作,因此我想了解一些事情:

我是否必须提供任何hdfs-site.xml,yarn-site.xml,...所有这一切,如果我只想要本地模式(没有任何集群)?我现在没有这些XML配置文件.据我所知,本地模式的默认值都可以,也许我错了.

在Windows下完全可以(无论是启动任何Hadoop任务)还是整个Hadoop都只有Linux?

PS:Hadoop依赖关系如下:

<dependency>
    <groupId>org.apache.hadoop</groupId>
    <artifactId>hadoop-client</artifactId>
    <version>2.2.0</version>
    <scope>provided</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)

hadoop maven

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

shell脚本内存不足

我编写了以下随机数生成器shell脚本:

for i in $(seq 1 $1) #for as many times, as the first argument ($1) defines...
do 
echo "$i $((RANDOM%$2))" #print the current iteration number and a random number in [0, $2)
done
Run Code Online (Sandbox Code Playgroud)

我这样运行:

./generator.sh 1000000000 101 > data.txt
Run Code Online (Sandbox Code Playgroud)

在[0,100]中生成1行ID和随机数的行,并将该数据存储在文件中data.txt.

我想要的输出是:

1 39
2 95
3 61
4 27
5 85
6 44
7 49
8 75
9 52
10 66
...
Run Code Online (Sandbox Code Playgroud)

它适用于少量行,但对于1B,我得到以下OOM错误:

./generator.sh:xrealloc:../bash/subst.c:5179:无法分配18446744071562067968字节(分配4299137024字节)

我程序的哪一部分会产生错误?我怎么能data.txt逐行写文件?我试过更换echo线路:

echo "$i $((RANDOM%$2))" >> $3
Run Code Online (Sandbox Code Playgroud)

3美元data.txt,但我认为没有区别.

unix bash shell out-of-memory

3
推荐指数
2
解决办法
4925
查看次数

Reducer在mapper完成之前启动

我正在运行Map Reduce Program.但是我得到了类似的输出,即使我只使用mapper或者使用mapper和reducer运行它.

在此之后它永远不会完成.它挂在那里.

我不知道为什么reducer在mapper完成100%之前就开始了?什么可能是潜在的问题?

输出:

Map 10% Reduce 0%
Map 19% Reduce 0%
Map 21% Reduce 0%
Map 39% Reduce 0%
Map 49% Reduce 0%
Map 63% Reduce 0% 
Map 67% Reduce 0% 
Map 68% Reduce 0% 
Map 68% Reduce 22%
Map 69% Reduce 22%
Run Code Online (Sandbox Code Playgroud)

这是一个映射器代码:

public class EntityCountMapper extends Mapper<LongWritable, Text, Text, IntWritable> {
  static String total_record="";

  @Override
  protected void map(LongWritable baseAddress, Text line, Context context)
        throws IOException, InterruptedException {

    Text entity=new Text();
    IntWritable one=new IntWritable(1);

    total_record=total_record.concat(line.toString());
    String[] …
Run Code Online (Sandbox Code Playgroud)

java hadoop mapreduce bigdata

3
推荐指数
2
解决办法
1992
查看次数

在MapReduce Hadoop中排序

我在Hadoop MapReduce中几乎没有基本问题.

  1. 假设是否执行了100个映射器和零减速器.它会生成100个文件吗?所有人都排序?对所有映射器输出进行排序?
  2. 减速器的输入是Key - > Values.对于每个键,所有值都已排序?
  3. 假设是否执行了50个减速器.它会生成50个文件吗?所有单个文件都已排序?所有减速机输出都排序?

在MapReduce中是否有保证排序的地方?

hadoop mapreduce cloudera mapr

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

如何在Java中创建一个简单的4x3二维数组?

我已经用C++了解它,但Java对我来说更具挑战性.这就是我所拥有的.我只想让它有4行3列初始化为1-12并将其打印到屏幕上.我的错误对你来说是否明显?谢谢!

我得到13个错误:(

包括line9:twoDArray [] []不是声明,; 预期的,非法的表达开始,每次都是几次.

我试过的代码:

import java.util.*;


class twoDimensional array
{ public static void main(String args[])
{
int[][] twoDArray = new int[4][3];

twoDArray[][]={{1,2,3},{4,5,6},{7,8,9},{10,11,12}};

System.out.print(twoDArray.toString);


}
}
Run Code Online (Sandbox Code Playgroud)

java arrays class multidimensional-array system.out

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