自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(69)
  • 资源 (1)
  • 收藏
  • 关注

转载 JVM原理及优化

对JVM的总结言简意赅,很使用的文章。记录下点个赞。JVM原理及优化 : http://blog.csdn.net/ning109314/article/details/10411495

2016-03-06 14:54:35 747

原创 elasticsearch去重计数(distinct)

如果需要针对ES索引统计某个字段上出现的不同值的个数时,可以使用cardinality聚合查询完成:GET /urlAttributes/_search?search_type=count{ "aggs": { "uniq_attr": { "cardinality": { "field": "domain" } } }}12

2016-03-02 22:05:18 46114 3

原创 elasticsearch扩容和机器下线

1. es支持手动迁移索引分片(index shards);但需提前关闭自动的shard allocation;2. 将旧机器的索引分片迁移至新机器后,再将旧机器下线即可;

2016-02-29 23:42:49 6904

原创 spark streaming---使用gradle混合编译Scala和Java项目并打包

gradle和maven、ant相比,使用起来方便了好多。记下自己用过的build.gradle(类似maven的pom.xml)模版, 以及碰到并解决的一些小问题:*************************************************************************************************************

2016-02-25 22:16:37 3234

原创 Spark应用开发如何设定配置生效

在写Spark应用时,可以添加应用配置的地方有三个,今天总结下方便记忆:第一个地方,也是优先级最高的地方,是在应用程序代码里设定配置,示例如下:val conf = new SparkConf() .setAppName("myApp")val sc = new SparkContext(conf)第二个地方,是在提交应用时。因为有时候我们不想把

2016-02-19 22:45:07 2611

转载 Spark分布式计算执行模型

把Spark计算模型讲的通俗易懂,难得的好文章!为尊重原创,仅贴链接如下: Spark分布式计算执行模型

2016-02-05 21:42:53 672

原创 如何发现war工程运行期间是否有僵死的servlet线程

RT。1. Tomcat线程机制2. 如何发现自己的war工程中是否有僵死的servlet线程

2016-02-02 23:47:13 738

原创 利用sqoop从mysql向hbase导数据(拼接mysql多字段做为hbase rowkey)

说说自己的思路,路过的朋友请帮忙指正或提新建议,万分感谢。场景介绍:自己在mysql中有1张表,每天2GB左右的统计数据,,因为资源原因需定期删除。但有其他场景需要保存1年以上,所以想把数据备份在hbase里,同时还要能支持准实时查询。选择Sqoop原因: 希望以后能有一个较通用的数据迁移方案(在mysql和hbase/hive/hdfs之间),尽量减少重复代码

2016-02-02 23:44:03 4661

转载 HBase体系结构(转)

原文链接见: http://www.cnblogs.com/ggjucheng/p/3380169.htmlHBase的服务器体系结构遵循简单的主从服务器架构,它由HRegion服务器(HRegion Server)群和HBase Master服务器(HBase Master Server)构成。HBase Master服务器负责管理所有的HRegion服务器,而HBase中所

2015-10-03 12:35:17 562

原创 如何尽量避免Elasticsearch脑裂问题

今天碰到个问题,8个结点的ES集群老是启动失败,检查发现居然形成多个小集群,也就是说,出现了多个master结点。折腾半天,发现调整如下两个参数有效: discovery.zen.ping_timeout(默认3秒):        默认情况下,一个节点会认为,如果master节点在3秒之内没有应答,那么这个节点就是死掉了,而增加这个值,会增加节点等待响应的时间,从一定

2015-09-09 23:24:28 2881

原创 Storm+Redis性能优化问题

结合自己的开发及调试经历,总结一下经验教训。提升 Storm Topology的性能,不能只关注提高进程(worker)及线程(executor: spout/bolt)并发度, 也要注意是否有外部瓶颈;     我的问题就在于Topology最后一级Bolt是要把分析结果写入Redis, 由于tuple吞吐量为每分钟数百万级,给Redis服务器带来很大压力。    我的优化思路如下:

2015-08-30 18:58:33 3618

原创 Zookeeper日志配置问题

前端时间配置zookeeper日志时出现问题,尽管修改了conf目录下的log4j.properties, 重启zookeeper后仍不起作用。查了下资料,才知道要修改bin目录下的zkEnv.sh。注:我用的zookeper版本是3.4.5。总结步骤如下:1> 修改conf/log4j.properties: # Define some default values that

2015-08-18 07:54:44 4779

原创 Hadoop 2.6.0(HA)部署启动

如果是一个新的HDFS集群,还要首先执行格式化命令“hdfs namenode -format”,紧接着启动本NameNode进程。如果存在一个已经格式化过的NameNode,并且已经启动了。那么应该把该NameNode的数据同步到另一个没有格式化的NameNode。在未格式化过的NameNode上执行命令“hdfs namenode -bootstrapStandby”。如果是把一个非H

2015-08-16 10:16:05 895

原创 Spark通过YARN-client提交任务不成功

自己用的Spark-1.3.1, 通过YARN Client提交任务访问Kerberos认证的Hadoop集群。发现应用提交后始终出现如下循环提示:15/03/31 09:00:45 INFO yarn.Client: Application report for application_1427763283312_0001 (state: ACCEPTED)15/03/31 09:0

2015-07-23 23:19:35 13100

原创 Spark应用如何访问带Kerberos认证的CDH Hadoop集群

我用的是 Spark Standalone集群,当运行kinit命令导入证书,并把CDH Hadoop集群的配置文件放入spark/conf/目录后,提交应用发现还是无法访问CDH Hadoop。后来查了下官网资料,貌似Standalone模式的Spark集群不支持访问Kerberos认证的Hadoop,我们可以使用Yarn Client模式管理的的Spark集群。假设你的Hadoop集群

2015-07-15 23:09:35 9351 2

原创 如何应对SparkSQL DataFrame保存到hdfs时出现的过多小文件问题

原因就不解释了,总之是因为多线程并行往hdfs写造成的(因为每个DataFrame/RDD分成若干个Partition,这些partition可以被并行处理)。其结果就是一个存下来的文件,其实是hdfs中一个目录,在这个目录下才是众多partition对应的文件,最坏的情况是出现好多size为0的文件。如果确实想避免小文件,可以在save之前把DaraFrame的partition设为0:

2015-07-08 22:40:24 8836

原创 Storm开发过程中遇到的Topology “hang"问题

题目中之所以用双引号标注”hang", 是因为自己碰到的问题并不是Topology程序真的hang住了,而是有其他原因。我曾经碰到的问题大致如下: 提交Topology之后,刚开始的几小时是正常运行的,但系统处理的数据量之后会越来越少,直至变为0,就像Topology hang住一样。总结下自己在分析解决该问题时的思路:由于特殊原因,刚开始没条件部署Storm UI,所以走了一些弯路。

2015-06-28 22:45:24 1325 1

原创 Flume 1.6.0 源码编译问题总结

简言之:$ cd apache-flume-1.6.0$ mvn compile     $ mvn install               ======>  打包出jar包编译Flume最大的问题是不管默认的maven repository还是oschina之类的国内镜像,编译下载依赖的速度都跟蜗牛一样,严重影响效率。后来查找资料,找到一个下载速度非常不错的r

2015-06-14 03:10:51 1604

原创 如何解决Kerberos问题: "Server has invalid Kerberos principal: hdfs/host2@****.COM"

在试图连接 带有Kerberos安全认证的CDH Hadoop集群时,碰到标题所述问题:(已经按要求替换了jre中的security目录下两个jar包,也已经导入证书,具体过程略)问题样例 : 13/10/25 10:52:24 ERROR security.UserGroupInformation: PriviledgedActionException as:user/hos

2015-06-12 00:44:46 8822 1

转载 Zookeeper安装与配置

每次安装 zookeeper都会查一遍,索性记下来。为尊重原文作者,仅记下如下链接:   http://coolxing.iteye.com/blog/1871009

2015-06-06 17:42:10 632

原创 关于Linux下前后台程序的一点疑惑(& , (cmd &), setsid )--- (kafka-stop-server.sh不工作问题)

有时候需要把一个应用程序开启为后台进程,目前的理解如下:以一个 ping程序为例:    $ ping www.baidu.com                     ===> 开启一个前台程序    $ ping www.sohu.com &                  ===> 开启一个后台程序,但该后台程序和当前的bash(shell)属于一个进程组, 且属于相同会话(

2015-05-31 09:07:13 3709

原创 如何查看Linux系统是32位还是64位

工作中经常需要查看系统是32位还是64位,总结方法如下:注: i386 / i686是32位, x86_64是64位1>[tucson@alexPC rkt]$ uname -aLinux alexPC 2.6.32-71.el6.x86_64 #1 SMP Fri May 20 03:51:51 BST 2011 x86_64 x86_64 x86_64 GNU/

2015-05-10 08:01:56 1035

原创 Linux容器家族之Rocket

Rocket代码:  https://github.com/coreos/rktRocket ( 也叫rkt,Go预言实现 ) 是一个类似Docker的命令行工具。她可以打包应用和依赖包到可移植容器中,简化搭环境等部署工作。Rocket  的开发者认为,现在的Docker社区背离了当初设计Docker的初衷:即一个可复用的标准Linux容器。Rocket设计目标就是希望再次实现

2015-05-09 12:20:28 3511

转载 计算机及操作系统启动的过程详解

一直很喜欢阮一峰这两篇介绍计算机及操作系统启动过程分析的文章,现记录下来。为尊重作者原创,仅提供链接如下: http://www.ruanyifeng.com/blog/2013/02/booting.html    计算机是如何启动的?http://www.ruanyifeng.com/blog/2013/08/linux_boot_process.html    Lin

2015-05-09 12:00:27 530

原创 Linux如何删除一些乱码命名的文件

工作中碰到几次类似问题,现总结下解决方案,以备后用:$ ls??????????_??????b6?S??.a  test.war.bk  test.war.bk1  ??z?2??F?[test@testPC /home/test] $ ls -liahatotal 11M397163 drwxr-xr-x 3 deploy deploy 4.0K May

2015-05-09 11:53:43 491

转载 Spark知识系统化整理分享

在学习和使用Spark的过程中,发现了这篇文章。感觉真不错,便于我们从宏观上了解Apache Spark的历史和现状。     为尊重原文作者,本文仅转载连接如下,建议Spark初学者必读:    http://www.36dsj.com/archives/18204  (《为大数据处理点亮一盏明灯 Spark知识系统化整理分享》)

2015-04-11 09:46:21 578

原创 实时分析网站UV与Flajolet-Martin算法

最近在学习如何解决大数据流中的独立元素计数问题。这么讲起来有点抽象,一个很典型的例子是如何实时计算或者估计网站UV。        针对类似问题,很容易想到一个简单的办法:我们可以先对数据排序,然后再统计。可这种方法却无法应对大数据现实,因为在大数据场景下,诸如网站UV的数值,每天可能达到上亿,这就导致计算的时间及空间复杂度很高,因而很难满足实时要求。        Flajolet-Ma

2015-04-06 14:41:48 1780

原创 Spark集群资源调度

在学习和使用Spark过程中,简单了解下Spark如何在不同计算间分配资源,总的来说可以分为如下两个角度去分析(请路过高手指正):1> 每个Spark应用被分配到独立的进程(Executor)集上,Cluster Manager负责在不同的Spark应用间调度资源。2> 对于每个Spark应用的进程集内(一个SparkContext实例内),Spark通过 Fair Scheduler

2015-04-05 12:38:59 1435

原创 Spark 1.3.0源码编译及部署

1. Spark1.3.0安装版本要求:   Spark 1.3.0   Java 6+   Python 2.6+   Scala 2.10.x2. 安装Maven至 /usr/local/maven-3.1.1   修改/etc/profile,添加:    M2_HOME=/usr/local/maven-3.1.1   export M2_HOME

2015-03-28 22:10:34 1624

转载 java与C++区别之String字符串

本文转自csdn博客: http://blog.csdn.net/flywithmj/article/details/7568765记下来作为Java学习笔记。     从概念上讲,java字符串就是Unicode字符序列。        1,提取子串       String类提取子串的方法是substring方法,例如:String str = "hello"; Str

2015-02-27 21:55:36 990

原创 java程序如何获取命令行参数

java可以通过类gnu.getopt.Getopt 获取命令行参数。参考文献: http://www.urbanophile.com/arenn/hacking/getopt/gnu.getopt.Getopt.html#_top_示例:假设一个java应用可以从命令行获取三个参数 ( $ java -jar  myJavaTest -a -b Param -c Pa

2015-02-27 20:31:47 10088

原创 关于Storm和Thrift

简单总结下自己看Storm中thrift相关源码的理解,请高手指正。        Thrift是一个支持多种程序语言开发的框架,其核心是Thrift编译器和Thrift Server。Storm源码中貌似默认支持的是Java和Python,因为有看到genthrift.sh中生成了storm.thrift描述对应的Java和Python代码。        Storm的核心逻辑部分还是C

2015-02-11 21:24:47 2194

原创 Apache Storm提交Topology时的默认CLASSPATH问题

曾经在使用Storm时碰到一个问题:向集群提交一个新的Topology Jar包,在线运行的却是旧代码。自己百思不得其解,后来发现Storm的安装目录下(也可以说是Storm的HOME目录)有一个同名的旧Jar包,删除后问题解决。。。总结下自己的分析,请路过高手指正:       首先猜测问题出在Java CLASSPATH上,于是阅读Storm源代码去研究,终于在 bin/storm 这个可

2015-02-09 20:52:44 3791

转载 数据挖掘--支持向量机(SVM)基础

最近在看一些针对数据挖掘的课题,发现一个链接对SVM的讲解非常通俗易懂,特分享一下。后续会逐步加入自己的理解:                                                            http://www.cnblogs.com/LeftNotEasy/archive/2011/05/02/basic-of-svm.html

2015-02-01 22:14:15 727

原创 为什么Java不需要sizeof()(和C/C++的比较)

C程序员在写Java程序时可能会问个问题,为什么Java不需要sizeof()功能?总结下自己的理解。1. 首先介绍C语言中的sizeof()   sizeof()在C语言中是个宏定义,类似如下: #define sizeof_v(var) ((size_t) ((char *)(&(var) + 1) - (char *)&(var)))#define sizeof

2015-01-31 22:03:32 1641

原创 maven工程里编译运行main函数出错:“ You must specify a valid lifecycle phase or a goal in the format”

命令行编译Maven工程时碰到如下错误,先记录下解决方案:***********************************************************************************************************************************************************************

2015-01-29 22:34:36 17453

原创 Linux 如何调整虚拟内存大小

我用的CentOS, 直接贴完整的调整虚拟内存步骤,供参考:[root@1pad ~]# free -m             total       used       free     shared    buffers     cachedMem:          3702        722       2979          0        149        230

2015-01-28 07:00:31 4447

原创 Kafka的Producer和Consumer源码学习

本文记录自己的一些理解,盼路过高手指正。先解释下两个概念:high watermark (HW)        它表示已经被commited的最后一个message offset(所谓commited, 应该是ISR中所有replica都已写入),HW以下的消息都已被ISR中各个replica同步,从而保持一致。HW以上的消息可能是脏数据:部分replica写成功,但最终失败了。

2015-01-26 21:34:45 1851

原创 如何检查Linux存储空间不足情况

记下来作为笔记。先执行 $ df -h 可以看到那个分区对应目录已满然后进入对应目录下,执行  $ du -sh ./* 即可列出该目录下所有一级目录的文件大小(是该目录下所有文件大小之和,不是只包含目录文件),可能该步执行比较慢。一步步下来就可以找到打文件所在之处。或者用其他shell命令查找也可以,可以简化步骤。

2015-01-22 21:32:18 1359

原创 Java NIO

作为C/C++程序员,初次听到Java NIO这个名词有点茫然。仔细学习了Java NIO的细节和用法,个人理解如下:         其实Java NIO的功能对C程序员并不陌生,和我们经常接触的 select / poll / epoll 是类似的。本质上Java NIO在Linux 2.6内核之后就是通过epoll来实现。        不论 Java NIO还是 C中的 sel

2015-01-09 23:32:33 525

Hadoop快速入门七步走

本文整理了网上搜集的Hadoop资料,共7个文件。学习顺序可以按照命名规则 STEP1__XXX --> STEP6__XXX; STEP7_XXX.pdf可以作为工具书参考。 适合对大数据感兴趣的初学者快速入门。欢迎大家提出宝贵意见或建议。

2018-04-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除