全文搜索引擎 Elasticsearch 入门教程 全文搜索属于最常见的需求,开源的 Elasticsearch (以下简称 Elastic)是目前全文搜索引擎的首选。它可以快速地储存、搜索和分析海量数据。维基百科、Stack Overflow、Github 都采用它。Elastic 的底层是开源库 Lucene。但是,你没法直接用 Lucene,必须自己写代码去调用它的接口。Elastic 是 Lucene 的封装,提供了 REST API 的操...
finalize方法的使用 《JAVA编程思想》:Java提供finalize()方法,垃圾回收器准备释放内存的时候,会先调用finalize()。 (1).对象不一定会被回收。 (2).垃圾回收不是析构函数。 (3).垃圾回收只与内存有关。 (4).垃圾回收和finalize()都是靠不住的,只要JVM还没有快到耗尽内存的地步,它是不会浪费时间进行垃圾回收的。有时当撤消...
java中static、final、static final的区别 final可以修饰:方法,类,局部变量 对于基本类型数据,final会将值变为一个常数(创建后不能被修改);但是对于对象句柄(亦可称作引用或者指针),final会将句柄变为一个常数(进行声明时,必须将句柄初始化到一个具体的对象。而且不能再将句柄指向另一个对象。但是,对象的本身是可以修改的。这一限制也适用于数组,数组也属于对象,数组本身也是可以修改的。方法参数中的final句柄,意味着在该方法内部,...
RPC结构拆解 RPC结构拆解RPC服务方通过RpcServer去导出(export)远程接口方法,而客户端通过RpcClient去引入(import)远程接口方法。客户方像调用本地方法一样去调用远程接口方法,RPC框架提供接口的代理实现,实际的调用将委托给代理RpcProxy。代理封装调用信息并将调用转交给RpcInvoker去实际执行。在客户端的RpcInvoker通过连接器RpcConnector去维持与服...
JAVA中IO结构图 转载地址:http://blog.csdn.net/houzuoxin/article/details/39006179JAVA中IO结构总图:Java 流在处理上分为字符流和字节流。字符流处理的单元为 2 个字节的 Unicode 字符,分别操作字符、字符数组或字符串,而字节流处理单元为 1 个字节,操作字节和字节数组。Java 内用 Unicode 编码存储
spark之CF协同过滤 一)、协同过滤 1.1 概念 协同过滤是一种借助"集体计算"的途径。它利用大量已有的用户偏好来估计用户对其未接触过的物品的喜好程度。其内在思想是相似度的定义 1.2 分类 1.在基于用户的方法的中,如果两个用户表现出相似的偏好(即对相同物品的偏好大体相同),那就认为他们的兴趣类似。要对他们中的一个用户推荐一个未知物品
SparkML之PCA主成分分析 为什么要对数据进行降维? 在机器学习或者数据挖掘中,我们往往会get到大量的数据源,这些数据源往往有很多维度来表示它的属性,但是我们在实际处理中只需要其中的几个主要的属性,而其他的属性或被当成噪声处理掉。比如,13*11的源数据经过将为后变成了13*4的优化数据,那么,中间就减去了7个不必要的属性,选取了4个主要属性成分,简化了计算。常用的数据降维方法有:主成分分析、因子分析、
sparkML之kmeans聚类 1.标准kmeans算法kmeans算法是实际中最常用的聚类算法,没有之一。kmeans算法的原理简单,实现起来不是很复杂,实际中使用的效果一般也不错,所以深受广大人民群众的喜爱。 kmeans算法的原理介绍方面的paper多如牛毛,而且理解起来确实也不是很复杂,这里使用wiki上的版本: 已知观测集(x1,x2,⋯,xn),其中每个观测都是一个d维实矢量,kmeans聚类要把这n
GC日志格式分析 转载地址:http://blog.csdn.net/huangzhaoyang2009/article/details/11860757JVM的GC日志的主要参数包括如下几个:-XX:+PrintGC 输出GC日志-XX:+PrintGCDetails 输出GC的详细日志-XX:+PrintGCTimeStamps 输出GC的时间戳(以基准时间的形式)-
kafka问题总结 kafka重启如果topic副本因子是一个的有可能导致以下两种问题:1、class kafka.common.LeaderNotAvailableException错误处理方案:一般是zk上的leader信息和broker上的leader信息不一致可以通过如下命令检查zk上信息:get /brokers/topics/profile-manual-x/partitions/
java实时读取log日志文件 需求:需求:正在开发一个监控系统,要求将多台日志信息实时采集出来,然后保存到Kafka中,后期对日志数据进行spark运算、大数据处理分析,日志按大小,时间切分。运用的技术:RandomAccessFile类中seek方法可以从指定位置读取文件,可以用来实现文件实时读取,JDK文档有对RandomAccessFile的介绍。思想:在每一次读取后,close一下就不会影响重命
kafka在zookeeper中存储结构 1.topic注册信息/brokers/topics/[topic] :存储某个topic的partitions所有分配信息Schema:{ "version": "版本编号目前固定为数字1", "partitions": { "partitionId编号": [ 同步副本组brokerId列表
JVM调优总结 -Xms -Xmx -Xmn -Xss JVM调优总结 -Xms -Xmx -Xmn -Xss堆大小设置JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在Windows Server 2003 系统,3.5G物理内存,JDK5.0下测试,最大可设
Spark RDD 分区数详解 基础知识spark.default.parallelism:(默认的并发数)= 2当配置文件spark-default.conf中没有显示的配置,则按照如下规则取值:1、本地模式(不会启动executor,由SparkSubmit进程生成指定数量的线程数来并发): spark-shell spark.default.parallelism = 1 s
Kafka学习整理九(集群的扩容) 第一步 配置新得broker将现有的集群上任一个服务器上的kafka目录拷贝到新的服务器上修改config/server.properties中的broker.id、log.dirs、listeners创建logs.dirs指定的目录,并设定读写权限(chomd -R 777 XXX)broker.id=3log.dirs=kafka-logslisteners=PLAIN
Kafka学习整理八(topic管理) 一、创建topic使用命令行手动或者向一个不存在的topic发送(生产)消息时都会新创建一个topic 向一个不存在的topic发送(生产)消息时新创建的topic时,其采用为默认的topic-config配置以及server.properties中的topic的配置。使用命令行手动创建一个topic可以使用 –config 选项配合topic-config配置中的信息来覆盖默认配
Kafka学习整理七(producer和consumer编程实践) 实践代码采用kafka-clients V0.10.0.0 编写一、编写producer第一步:使用./kafka-topics.sh 命令创建topic及partitions 分区数./kafka-topics.sh --create--zookepper "172.16.49.173:2181" --topic "producer_test" --partitions 10 rep