标签: distributed-computing

"最终一致性"与"强烈最终一致性"与"强一致性"?

我遇到了"强烈最终一致性"的概念.它应该比"最终一致性"强,但弱于"强一致性"吗?有人可以用适用的例子解释这三个概念之间的差异吗?

http://en.wikipedia.org/wiki/Eventual_consistency#Strong_Eventual_Consistency http://en.wikipedia.org/wiki/Conflict-free_replicated_data_type

非常感谢.

distributed-computing

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

Spark的任务是什么?Spark工作人员如何执行jar文件?

http://spark.apache.org/docs/0.8.0/cluster-overview.html上阅读了一些文档后,我得到了一些我想澄清的问题.

以Spark为例:

JavaSparkContext spark = new JavaSparkContext(
  new SparkConf().setJars("...").setSparkHome....);
JavaRDD<String> file = spark.textFile("hdfs://...");

// step1
JavaRDD<String> words =
  file.flatMap(new FlatMapFunction<String, String>() {
    public Iterable<String> call(String s) {
      return Arrays.asList(s.split(" "));
    }
  });

// step2
JavaPairRDD<String, Integer> pairs =
  words.map(new PairFunction<String, String, Integer>() {
    public Tuple2<String, Integer> call(String s) {
      return new Tuple2<String, Integer>(s, 1);
    }
  });

// step3
JavaPairRDD<String, Integer> counts =
  pairs.reduceByKey(new Function2<Integer, Integer>() {
    public Integer call(Integer a, Integer b) {
      return a + b;
    } …
Run Code Online (Sandbox Code Playgroud)

distributed-computing apache-spark

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

在Spark中展平行

我正在使用scala对spark进行一些测试.我们通常会读取需要操作的json文件,如下例所示:

test.json:

{"a":1,"b":[2,3]}
Run Code Online (Sandbox Code Playgroud)
val test = sqlContext.read.json("test.json")
Run Code Online (Sandbox Code Playgroud)

如何将其转换为以下格式:

{"a":1,"b":2}
{"a":1,"b":3}
Run Code Online (Sandbox Code Playgroud)

scala distributed-computing apache-spark apache-spark-sql

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

Spark聚合函数如何 - aggregateByKey有效吗?

假设我在3个节点上有一个分发系统,我的数据分布在这些节点中.例如,我有一个test.csv文件,它存在于所有3个节点上,它包含2列:

**row   | id,  c.**
---------------
row1  | k1 , c1  
row2  | k1 , c2  
row3  | k1 , c3  
row4  | k2 , c4  
row5  | k2 , c5  
row6  | k2 , c6  
row7  | k3 , c7  
row8  | k3 , c8  
row9  | k3 , c9  
row10 | k4 , c10   
row11 | k4 , c11  
row12 | k4 , c12 
Run Code Online (Sandbox Code Playgroud)

然后我使用SparkContext.textFile将文件读出为rdd等等.据我所知,每个spark worker节点都会读取文件中的一部分.所以现在让我们说每个节点都会存储:

  • 节点1:行1~4
  • 节点2:第5~8行
  • 节点3:第9~12行

我的问题是,假设我想对这些数据进行计算,我需要将一个键组合在一起,因此键值对将是[k1 [{k1 c1} {k1 c2} {k1 c3}]]..等等. …

distributed-computing apache-spark

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

服务发现与负载平衡

我试图了解在哪种情况下我应该通过负载均衡器选择服务注册表.

根据我的理解,两种解决方案都涵盖相同的功能.

例如,如果我们将consul.io视为功能列表,我们有:

  • 服务发现
  • 健康检查
  • 键/值存储
  • 多数据中心

例如Amazon ELB等负载均衡器有:

  • 可配置为仅接受来自负载均衡器的流量
  • 使用以下协议接受流量:HTTP,HTTPS(安全HTTP),TCP和SSL(安全TCP)
  • 将请求分发到多个可用区中的EC2实例
  • 连接数与负载均衡器接收的并发请求数成比例
  • 配置Elastic Load Balancing用于监视使用负载均衡器注册的EC2实例的运行状况的运行状况检查,以便它可以仅向健康实例发送请求
  • 您可以在使用安全(HTTPS/SSL)连接的网络上使用端到端流量加密
  • [EC2-VPC]您可以创建面向Internet的负载均衡器,它通过Internet接收来自客户端的请求并将它们路由到您的EC2实例,或者面向内部的负载均衡器,它接收来自VPC中客户端的请求并路由它们到您的私有子网中的EC2实例.EC2-Classic中的负载平衡器始终面向Internet.
  • [EC2-Classic] EC2-Classic的负载平衡器支持IPv4和IPv6地址.VPC的负载平衡器不支持IPv6地址.
  • 您可以使用CloudWatch指标,访问日志和AWS CloudTrail监控负载均衡器.
  • 您可以将面向Internet的负载均衡器与您的域名相关联.
  • 等等

因此,在这种情况下,我无法理解为什么我会选择类似consul.ionetflix eureka以上Amazon ELB的服务发现.

我有一种预感,这可能是由于实现客户端服务发现服务器端服务发现,但我不太确定.

cloud web-services distributed-computing amazon-web-services microservices

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

为什么不使用MPI实现Hadoop?

如果我错了,请纠正我,但我的理解是Hadoop不使用MPI进行不同节点之间的通信.

这有什么技术原因?

我可能会冒一些猜测,但我不知道MPI如何在"引擎盖下"实施,以了解我是否正确.

想想看,我对Hadoop的内部结构也不是很熟悉.我在概念层面理解框架(map/combine/shuffle/reduce以及它如何在高级别工作),但我不知道细节的实现细节.我一直认为Hadoop 通过TCP连接传输序列化数据结构(可能是GPB),例如在混洗阶段.如果不是这样,请告诉我.

hadoop tcp distributed-computing mpi protocol-buffers

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

使用scala连接Apache spark中不同RDD的数据集

有没有办法RDD在spark中连接两个不同s的数据集?

要求是 - 我使用具有相同列名的scala创建两个中间RDD,需要组合这两个RDD的结果并缓存访问UI的结果.如何在此处组合数据集?

RDD属于类型 spark.sql.SchemaRDD

scala distributed-computing apache-spark rdd apache-spark-sql

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

适用于商品linux存储场的最佳分布式文件系统

我有很多备用的intel linux服务器(数百个),并希望在Web托管和文件共享环境中将它们用于分布式文件系统.这不适用于HPC应用程序,因此高性能并不重要.主要要求是高可用性,如果一台服务器脱机,存储在其硬盘上的数据仍可从其他节点获得.它必须通过TCP/IP运行并提供标准POSIX文件权限.

我看了下面的内容:

有没有人对这些或任何其他可能有效的系统有任何经验?

linux filesystems distributed-computing distributed-system

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

Apache Mesos的持久存储

最近我发现了像Apache Mesos这样的东西.

在所有演示和示例中,这一切看起来都令人惊讶.我可以很容易想象一个人如何竞选无国籍的工作 - 这自然适合整个想法.

Bot如何处理有状态的长期工作?

说,我有一个由N台机器组成的集群(通过Marathon安排).我想在那里运行一个postgresql服务器.

就是这样 - 起初我甚至不希望它具有高可用性,而只是一个托管postgresql服务器的单个作业(实际上是Dockerized).

1-如何组织它?将服务器约束到特定的群集节点?使用一些分布式FS?

2- DRBD,MooseFS,GlusterFS,NFS,CephFS,其中一个与Mesos和postgres等服务配合良好?(我在这里想到Mesos /马拉松可能会重新定位服务,如果下降)

3-请说明我的方法在哲学方面是否错误(数据服务器的DFS和Mesos顶部的postgres等服务器的某种切换)

问题很大程度上是从Apache Mesos的持久存储中复制的,zerkmsProgrammers Stack Exchange上提出了这个问题.

postgresql distributed-computing mesos mesosphere

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

如何在Spark中写入CSV

我正在尝试找到一种将我的Spark Job的结果保存为csv文件的有效方法.我正在使用Spark和Hadoop,到目前为止我的所有文件都保存为part-00000.

任何想法如何使我的火花保存到具有指定文件名的文件?

csv hadoop file distributed-computing apache-spark

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