小编Rui*_*Rui的帖子

如何在UML类图中呈现抽象类

UML类图是面向对象设计中的一个方便工具.我目前正在使用它并面向使用UML呈现一个抽象类.我用Google搜索但无处可去.

所以我想问一下如何在UML类图中表达一个抽象类,它必须能够区别于具体的类

uml class-diagram

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

为什么vcore总是等于YARN上Spark中的节点数?

我有一个包含5个节点的Hadoop集群,每个节点有12个核心,32GB内存.我使用YARN作为MapReduce框架,因此我对YARN进行了以下设置:

  • yarn.nodemanager.resource.cpu-vcores = 10
  • yarn.nodemanager.resource.memory-MB = 26100

然后,我的YARN群集页面(http:// myhost:8088/cluster/apps)上显示的群集指标显示VCores Total40.这很好!

然后我在它上面安装了Spark并在yarn-client模式下使用spark-shell.

我使用以下配置运行了一个Spark作业:

  • - driver-memory 20480m
  • --executor-memory 20000m
  • --num-executors 4
  • --executor-cores 10
  • --conf spark.yarn.am.cores = 2
  • --conf spark.yarn.executor.memoryOverhead = 5600

我将--executor-cores设置为10, - num-executors设置4,所以从逻辑上讲,应该总共使用40个Vcores.然而,当我检查了同样的纱线集群页面星火作业开始运行后,只有 4 Vcores使用,和 4 Vcores总

我还发现有一个参数capacity-scheduler.xml- 被称为yarn.scheduler.capacity.resource-calculator:

"ResourceCalculator实现用于比较调度程序中的资源.默认情况下,即DefaultResourceCalculator仅使用内存,而DominantResourceCalculator使用显性资源来比较多维资源,如内存,CPU等."

然后我将该值更改为DominantResourceCalculator.

但是当我重新启动YARN并运行相同的Spark应用程序时,我仍然得到相同的结果,说集群指标仍然告诉我使用的VCores是4!我还使用htop命令检查了每个节点上的CPU和内存使用情况,我发现没有一个节点完全占用了所有10个CPU核心.可能是什么原因?

我还尝试以细粒度的方式运行相同的Spark作业,比如说--num executors 40 --executor-cores 1,我以这种方式再次检查每个工作节点上的CPU状态,并且所有CPU核心都被完全占用.

hadoop-yarn apache-spark

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

以编程方式设置Kibana的默认索引模式

Kibana新手想知道如何以编程方式设置默认索引模式,而不是在第一次查看Kibana UI时通过Web浏览器在Kibana UI上设置它,如https://www.elastic.co/guide/en/所述kibana /电流/ setup.html

elasticsearch kibana

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

Spark-submit/spark-shell> yarn-client和yarn-cluster模式之间的区别

我用YARN运行Spark.

从链接:http://spark.apache.org/docs/latest/running-on-yarn.html

我找到了不同纱线模式的解释,即--master选项,Spark可以运行:

"有两种部署模式可用于在YARN上启动Spark应用程序.在纱线群集模式下,Spark驱动程序在应用程序主进程内部运行,该进程由群集上的YARN管理,客户端可以在启动之后消失在yarn-client模式下,驱动程序在客户端进程中运行,应用程序主服务器仅用于从YARN请求资源"

在此,我只能理解不同的是驱动程序在哪里运行,但我无法理解哪个运行得更快.Morevover:

  • 如果运行Spark-submit,则--master可以是客户端集群
  • 相应地,Spark-shell的主选项可以是yarn-client,但它不支持集群模式

所以我不知道如何做出选择,即何时使用spark-shell,何时使用spark-submit,尤其是何时使用客户端模式,何时使用集群模式

hadoop-yarn apache-spark

9
推荐指数
2
解决办法
8014
查看次数

什么是Spark RDD图,沿袭图,Spark任务的DAG?他们的关系是什么

当我们谈论RDD图时,它是指谱系图还是DAG(直接非循环图)或两者兼而有之?什么时候生成了谱系图?它是在Spark任务的DAG之前生成的吗?

directed-acyclic-graphs apache-spark rdd

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

嵌入式 Tomcat 是部署到生产的好选择吗

传统上,通过将生成的war部署到Tomcat的-webapps-目录,将Servlet Maven项目部署到Tomcat生产服务器。但是,Spring-Boot 作为一种实用的趋势,推荐jar超过war. 这种偏好对测试没有问题,但如果部署到生产中现有的 Tomcat 服务器,AFAIK,只接受战争。所以我的解决方案是:

  1. 生成通过修改的Maven的pom.xml对应的战争,即设定的值packaging元素作为war这样:<packaging>war</packaging>。但这显然是一个额外的步骤
  2. 在生产环境中将项目部署为一个运行的 Java 程序,其中嵌入了 Tomcat,这意味着生产环境中根本没有正常的 Tomcat 服务器。但是嵌入式 Tomcat 在生产中是否与普通 Tomcat 服务器一样稳定?
  3. 如果将 Spring MVC 项目(没有 Spring Boot!)部署到现有的 Tomcat 服务器,我尝试在测试阶段使用Tomcat Maven 插件,而不是使用 Eclipse 和 Tomcat 服务器配置,因为 Tomcat 服务器应该作为先决条件安装在本地.

问题:以上的解决方案好吗?或者还有其他更好的部署到生产的解决方案吗?如果是第三种方案,据我所知只有Tomcat7 Maven插件,如果我只想用Tomcat 8或Tomcat 9测试怎么办?我尝试使用主类来启动嵌入式Tomcat,但是处理依赖项非常困难

java spring-mvc maven spring-boot embedded-tomcat-8

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

找到预期结果时,是否可以从 lambda 中断

我是 Python 新手,对 Lambda 表达式非常感兴趣。我遇到的问题是从带有 lambda 过滤器的元素列表中找到一个且只有一个目标元素。理论上,当找到目标元素时,再继续下去就没有意义了。

随着for loop这是很简单break的循环,但对于使用lambda?毕竟有可能做到这一点吗?我从谷歌搜索,但没有找到预期的解决方案

python lambda loops

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

java.time.LocalDate和java.time.ZonedDateTime是否应用了工厂模式

在核心Java 8的日期和时间库中,即包中的那些类java.time,我发现了一个特殊的共同特征:在这个包的每个类中没有公共构造函数,因此所有类只能通过某些static方法实例化,例如of,now等等.从这个意义上说,里面的java.time类似于工厂设计模式.然而,这样的类也不同于工厂设计模式在本质工厂设计模式是松耦合代码以实例化各种类型的对象与一个常用的方法(通常是static),因此,返回的对象实例的确定,直到类型运行.

但是,尤其是 在类java.time.LocalDatejava.time.ZonedDateTime,关键字工厂被提及.可以从以下位置找到关键字工厂:

所以,我想知道做java.time.LocalDatejava.time.ZonedDateTime应用工厂设计模式呢?如果没有,它们适用的设计模式是什么?

design-patterns java-8

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

Collection和Stream之间有什么关系

还有Stream,可以从被检索Collection,在Java的8,那就是public default stream<E> Collection.stream().所以我想用UML 来表达StreamCollection实践之间的关系.

我认为正确的关系是依赖性.但我不确定.所以我想知道UML 之间Collection和之间的正确关系是什么Stream?如果是这样,依赖的原则是什么?

uml java-8

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

Filebeat &gt; 不使用Logstash是否可以通过Filebeat的方式发送数据到Elasticsearch

我是ELK的新手。我首先安装了 Elasticsearch 和 Filebeat,没有 Logstash,我想将数据从 Filebeat 发送到 Elasticsearch。在安装 Filebeat 并配置日志文件和 Elasticsearch 主机后,我启动了 Filebeat,但是即使 Filebeats 预期的日志文件中有很多行,也没有任何反应。

那么是否可以将日志数据直接转发到Elasticsearch主机而不需要Logstash呢?我

elasticsearch elastic-stack filebeat

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