《maven官方文档》5分钟开始Maven

原文地址

前提

你必须明白如何在电脑上安装软件。如果你不知道如何做,请向你学校、办公室里等的人请教下,或者付费给他人让他们解释给你。Maven邮件组不是寻求这个建议的最好地方。

阅读全文

《SLF4J官方文档》SLF4J迁移工具

原文地址

SLF4J迁移者

SLF4J迁移者是一个很小的Java工具,用于将Java源文件从Jakata Commons Logging(JCL)迁移到SLF4J。它也能将文件从log4j迁移到SLF4J,或者从java.util.logging API到SLF4J。

阅读全文

《Spark 官方文档》Spark编程指南

spark-1.6.0 [原文地址]

Spark编程指南

概述

总体上来说,每个Spark应用都包含一个驱动器(driver)程序,驱动器运行用户的main函数,并在集群上执行各种并行操作。

Spark最重要的一个抽象概念就是弹性分布式数据集(resilient distributed dataset – RDD),RDD是一个可分区的元素集合,其包含的元素可以分布在集群各个节点上,并且可以执行一些分布式并行操作。RDD通常是通过,HDFS(或者其他Hadoop支持的文件系统)上的文件,或者驱动器中的Scala集合对象,来创建或转换得到;其次,用户也可以请求Spark将RDD持久化到内存里,以便在不同的并行操作里复用之;最后,RDD具备容错性,可以从节点失败中自动恢复数据。

Spark第二个重要抽象概念是共享变量,共享变量是一种可以在并行操作之间共享使用的变量。默认情况下,当Spark把一系列任务调度到不同节点上运行时,Spark会同时把每个变量的副本和任务代码一起发送给各个节点。但有时候,我们需要在任务之间,或者任务和驱动器之间共享一些变量。Spark提供了两种类型的共享变量:广播变量累加器,广播变量可以用来在各个节点上缓存数据,而累加器则是用来执行跨节点的“累加”操作,例如:计数和求和。

本文将会使用Spark所支持的所有语言来展示Spark的特性。如果你能启动Spark的交互式shell动手实验一下,效果会更好(对scala请使用bin/spark-shell,而对于python,请使用bin/pyspark)。
阅读全文

《SLF4J官方文档》传统桥接API

原文地址

通常,有些组件取决或依赖Logging API,而不是SLF4J。你也可以假设不久的将来这些组件不会转变成SLF4J。为了处理这种情况,SLF4J装载了几个可以重定向调用的桥接模块,这些模块使得log4j, JCL and java.util.logging APIs

表现得仿佛他们是SLF4J的代替。下图阐述了这个想法。

请注意在你控制下的源代码,你真得应该用slf4j-migrator。本页所描述的基于二进制的解决方案是适合超出你控制范围的软件。

阅读全文

《Maven官方指南》翻译邀请

四月份并发网翻译邀请又来了,并发网会优先把大家平时用到的技术的文档翻译完成,所以本月邀请大家翻译Maven官方文档,有兴趣的同学可以通过评论领取,翻译完成之后再并发网直接提交审核。

一次领取一篇,翻译完成之后可以继续领取,领取文章后最好在一个星期内翻译完成,如果不能完成翻译请通过评论告知,以便于其他人可以继续翻译。

阅读全文

《Spark 官方文档》Spark快速入门

spark-1.6.0 原文地址

快速入门

本教程是对Spark的一个快速简介。首先,我们通过Spark的交互式shell介绍一下API(主要是Python或Scala),然后展示一下如何用Java、Scala、Python写一个Spark应用。更完整参考看这里:programming guide

首先,请到Spark website下载一个Spark发布版本,以便后续方便学习。我们暂时还不会用到HDFS,所以你可以使用任何版本的Hadoop。

阅读全文

简化SLF4J和通用日志工具的区别

原文地址

chart

这就是为什么现在每个人都用SLF4J的原因:)

阅读全文

java日志和SLF4J随想

原文地址 译者:刘小刘

本文漫谈java中的日志:以前怎样使用日志,以及类似SLF4J的库为我们带来了什么。

日志是创建软件时的基本需求之一,常见的用例如:

  • 软件开发过程中的调试
  • 生产环境下诊断bug
  • 出于安全目的而跟踪访问
  • 创建统计使用的数据
  • 等等

阅读全文

《Spark 官方文档》监控和工具

spark-1.6.0 原文地址

监控和工具

监控Spark应用有很多种方式:web UI,metrics 以及外部工具。

Web界面

每个SparkContext都会启动一个web UI,其默认端口为4040,并且这个web UI能展示很多有用的Spark应用相关信息。包括:

  • 一个stage和task的调度列表
  • 一个关于RDD大小以及内存占用的概览
  • 运行环境相关信息
  • 运行中的执行器相关信息

阅读全文

《Spark 官方文档》Spark配置

spark-1.6.0 原文地址

Spark配置

Spark有以下三种方式修改配置:

  • Spark properties (Spark属性)可以控制绝大多数应用程序参数,而且既可以通过 SparkConf 对象来设置,也可以通过Java系统属性来设置。
  • Environment variables (环境变量)可以指定一些各个机器相关的设置,如IP地址,其设置方法是写在每台机器上的conf/spark-env.sh中。
  • Logging (日志)可以通过log4j.properties配置日志。

阅读全文

Java网络编程:UDP DatagramSocket

原文地址

DatagramSocket类是java通过UDP通信的途径。UDP仍位于IP层的上面。 你可以用DatagramSocket类发送和接收UDP数据包。

UDP 和TCP

UDP工作方式和TCP有点不同。当你通过TCP发送数据时,你先要创建连接。一旦TCP连接建立了,TCP会保证你的数据传递到对端,否则它将告诉你已发生的错误。

仅仅用UDP来发送数据包(datagrams)到网络间的某个IP地址。你不能保证数据会不会到达。你也不能保证UDP数据包到达接收方的指令。这意味着UDP比TCP有更少的协议开销(无完整检查流)。

阅读全文

《SLF4J官方文档》SLF4J警告或错误信息及其含义

原文地址

调用方法o.a.commons.logging.impl.SLF4FLogFactory.release

已给出的公用日志API(common-logging API),实际上是由SLF4J实现的,o.a.commons.logging.impl.SLF4FLogFactory.release方法永远不会被调用。然而,取决于commons-logging.jar在服务器小程序容器的部署,release()方法可能意外地通过commons-logging.jar装载的org.apache.commons.logging.LogFactoryl类被调用。

阅读全文

《Spark 官方文档》在YARN上运行Spark

spark-1.6.0 原文地址

在YARN上运行Spark

对 YARN (Hadoop NextGen) 的支持是从Spark-0.6.0开始的,后续的版本也一直持续在改进。

阅读全文

一次应用OOM排查

前段时间系统经常出现OOM,每次出现之后系统会出现各种问题,临时解决方案只能是重启,然后等找到问题后再发布解决。

 

线上问题日志如下:

[code]
Exception in thread "msgWorkTP-811568603-1-thread-6" java.lang.OutOfMemoryError: Java heap space

Exception in thread "schedulerFactory_QuartzSchedulerThread" java.lang.OutOfMemoryError: Java heap space

Exception in thread "server-timer" java.lang.OutOfMemoryError: Java heap space

Exception in thread "Tracer-AsyncAppender-Thread-CommonAppender" java.lang.OutOfMemoryError: Java heap space
[/code]

阅读全文

如何分分钟成为Java嵌入式开发人员

作者:Angela Caicedo

用Java开发下一代嵌入式产品

在我10年的Java布道师生涯里,没有哪次Java新版本发布能让我如此兴奋。Java 8的发布不仅在语言本身加入了些不错的新特性,还在嵌入式开发上加入了很棒的功能,进行了优化,还有简洁的开发文档。如果你是一名Java程序员,并且准备好和我一同加入机器间技术的潮流,或者说开发下一代改变世界的设备,那么就让我们开始学习物联网(IoT)把。

在你开始嵌入式开发之前,你需要知道你具体想要开发出什么,以及你打算在哪运行你的程序。这十分重要,因为得根据目的选择不同版本的Embedded Java。

阅读全文

return top