小编Ra4*_*41P的帖子

为什么Hadoop报告"Unhealthy Node local-dirs and log-dirs is bad"?

我正在尝试在我的PC上设置单节点Hadoop 2.6.0群集.

在访问http:// localhost:8088/cluster时,我发现我的节点被列为"不健康的节点".

在运行状况报告中,它提供错误:

1/1 local-dirs are bad: /tmp/hadoop-hduser/nm-local-dir; 
1/1 log-dirs are bad: /usr/local/hadoop/logs/userlogs
Run Code Online (Sandbox Code Playgroud)

怎么了?

hadoop hadoop-yarn

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

Spark读写S3-分区大小和压缩

我正在做一个实验,以了解s3和[EMR + Spark]哪种文件大小表现最佳

输入数据:不可压缩数据:文件中的随机字节总数据大小:20GB每个文件夹具有不同的输入文件大小:从2MB到4GB文件大小。

集群规格:1个主节点+ 4个节点:C3.8xls-驱动程序内存5G \-执行程序内存3G \-执行程序核心2 \-执行程序60 \

代码:

scala> def time[R](block: => R): R = {
          val t0 = System.nanoTime()
          val result = block    // call-by-name
         val t1 = System.nanoTime()
          println("Elapsed time: " + (t1 - t0) + "ns")
          result
      }
time: [R](block: => R)R

scala> val inputFiles = time{sc.textFile("s3://bucket/folder/2mb-10240files-20gb/*/*")};
scala> val outputFiles = time {inputFiles.saveAsTextFile("s3://bucket/folder-out/2mb-10240files-20gb/")};
Run Code Online (Sandbox Code Playgroud)

观察=>

  • 2MB-32MB:大多数时间都用于打开文件句柄[效率不高]
  • 从64MB到1GB:Spark本身针对所有这些文件大小启动320个任务,它不再具有20GB数据的存储桶中的文件数量,例如512 mb文件具有40个文件来生成20gb数据,并且可以完成40个任务,但是而是有320个任务,每个任务处理64MB数据。
  • 4GB文件大小:0字节输出[无法处理内存/数据甚至不可拆分???]

问题=>

  • 强制处理输入大小的任何默认设置为64MB?
  • 由于我正在使用的数据是随机字节并且已经压缩,因此如何进一步拆分此数据?如果可以拆分此数据,为什么无法拆分4gb目标文件大小的文件大小?
  • 通过Spark上传后,为什么压缩文件的大小会增加?2MB的压缩输入文件在输出存储区中变为3.6 MB。

gzip amazon-s3 amazon-web-services apache-spark

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

将大字符串的逗号分隔子字符串转换为QML中的变量数组元素

好的,所以我对Qt5 QML框架还很陌生。在任何其他语言(例如Java等)中,这本来都是相当容易的。但是我无法在QML中完成此操作。

这是我想做的事情:我想从我的C ++代码中接收一个长字符串,用逗号分隔

 property string: "Here,There,That,This" 
Run Code Online (Sandbox Code Playgroud)

我想将其拆分为单独的字符串。我已经了解到您需要使用某种变体,因为我基本上拥有该属性

property variant stringlist 
Run Code Online (Sandbox Code Playgroud)

其中,stringlist [0] =“这里”,stringlist [1] =“那里”等。

是否有人对我可以调用的函数的代码提出建议。我想避免需要添加JavaScript来创建此功能。因此,请尽可能尝试建议以QML为中心的功能。

c++ qt qml

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

::write() 和 ::read() 尚未声明错误。Qt5 UNIX 信号处理

所以,我尝试按照给出的教程进行操作

http://qt-project.org/doc/qt-5/unix-signals.html

捕获 UNIX/Linux 信号并在被它们触发时执行一些与 Qt 相关的操作。

它在 qtDocs 上,所以我认为它是合法的。

我现在的代码如下:

mydaemon.cpp

#include "mydaemon.h"
#include <QDebug>
#include <QObject>
#include <QSocketNotifier>
#include <csignal>
#include <sys/socket.h>
#include <iostream>
#include <stdio.h>
#include <signal.h>


//needed to not get an undefined reference to static members
int MyDaemon::sighupFd[2];
int MyDaemon::sigtermFd[2];

MyDaemon::MyDaemon(QObject *parent)
: QObject(parent)
{
if (::socketpair(AF_UNIX, SOCK_STREAM, 0, sighupFd))
    qFatal("Couldn't create HUP socketpair");

if (::socketpair(AF_UNIX, SOCK_STREAM, 0, sigtermFd))
    qFatal("Couldn't create TERM socketpair");

snHup = new QSocketNotifier(sighupFd[1], QSocketNotifier::Read, this);
connect(snHup, SIGNAL(activated(int)), this, SLOT(handleSigHup()));
snTerm = new …
Run Code Online (Sandbox Code Playgroud)

c++ unix linux signals qt5

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