自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

程序人生

工作随笔

  • 博客(81)
  • 资源 (2)
  • 收藏
  • 关注

转载 T-SQL查询处理执行顺序

对于T-SQL编程,用得最广泛的,莫过于查询(Querying)。要想写出高质量、高性能的查询语句,必须深入地了解逻辑查询处理。(5)SELECT DISTINCT TOP()                     (1)FROM JOIN ON  (2)WHERE (3)GROUP BY (4)HAVING (6)ORDER BY 上边语句是一个普通

2015-07-08 11:14:15 680

原创 占据过多ZK连接的HiveServer2导致的奇葩问题

HiveServer2的0.13版本存在一个bug,会导致占据的ZK连接数超过定义上限,详细可见HIVE-8596(https://issues.apache.org/jira/browse/HIVE-8596)描述。在我们的线上集群中,因为这个bug导致了一个有意思的故障。线上YARN集群版本为Hadoop2.5.0-cdh5.2.0,包含7个NodeManger节点,假设为host1——h

2015-07-03 18:27:05 2680

原创 如何理解貌似陌生的文件系统

当执行"df -h"时,得到了以下结果:# df -hFilesystem Size Used Avail Use% Mounted on......tmpfs 32G 0 32G 0% /dev/shm....../dev/sda1 248M 37M 200M 16% /boo

2015-05-25 18:22:55 977

原创 简单说说WebHDFS和HttpFS

如果你没有太多留意的话,可能会认为这两个是一个东西。虽然它们看起来很像,但是确实是两回事。WebHDFS是HortonWorks开发的,然后捐给了Apache,可见博客:WebHDFS – HTTP REST Access to HDFS。而HttpFS是Clouera开发的,也捐给了Apache,可见博客:HttpFS for CDH3 – The Apache Hadoop FileS

2015-05-25 11:43:40 11916 3

原创 如何检测HDFS的均衡状态?

HDFS执行Rebalancing时,会首先检查当前是否处于均衡状态,如果不均衡才会执行Rebalancing。检测时,首先计算整个集群的DFS Capacity Used比例(cluster_avg),以及每个节点的DFS Capacity Used比例(node_avg)。再比较每个节点的node_avg和cluster_avg,比较规则如下图:图中的Rebalancing T

2015-05-22 18:14:28 993

原创 clouera-scm-agent进程内存高涨的一个案例

偶然发现集群中两台机器内存占用存在异常,仔细排查之后,发现是clouera-scm-agent进程作怪。正常的机器里,该进程虚拟内存和物理内存占用,分别是2G和50M左右,而它们两个则分别达到了7G和5G左右。查看问题机器的该进程日志(默认路径/var/log/cloudera-scm-agent/cloudera-scm-agent.log),看到频繁的出现下列提示:[20/May/2015

2015-05-20 16:01:25 1412

转载 Java 类的生命周期详解

1. 引 言最近有位细心的朋友在阅读笔者的文章时,对java类的生命周期问题有一些疑惑,笔者打开百度搜了一下相关的问题,看到网上的资料很少有把这个问题讲明白的,主要是因为目前国内java方面的教材大多只是告诉你“怎样做”,但至于“为什么这样做”却不多说,所以造成大家在基础和原理方面的知识比较匮乏,所以笔者今天就斗胆来讲一下这个问题,权当抛砖引玉,希望对在这个问题上有疑惑的朋友有所帮助,文中有说

2015-05-18 15:54:16 806

转载 linux meminfo详解

下篇对cat /proc/meminfo读出该信息进行简单的分析。MemTotal: 507480 kBMemFree: 10800 kBBuffers: 34728 kBCached: 98852 kBSwapCached: 128 kBActive: 304248 kBInactive: 46192 kBHighTotal: 0 kBHighFree: 0 kBLow

2015-05-15 16:33:39 2044

原创 swap相关的概念和操作

首先声明,与swap相关的操作需要superuser身份。1. 简单理解swap简单的说,swap就是在磁盘上划定一块空间。当内存不够用时,系统会将一些不活跃的内存页调出并写入到到swap空间,这个过程称为swap out;之后如果需要这些内存页时,又会将其从swap空间调入内存,这个过程称为swap in。2. 添加swapa) 查看当前swap# swapon -sFil

2015-05-15 15:47:54 1305

转载 LINUX上MYSQL优化三板斧

现在MySQL运行的大部分环境都是在Linux上的,如何在Linux操作系统上根据MySQL进行优化,我们这里给出一些通用简单的策略。这些方法都有助于改进MySQL的性能。 闲话少说,进入正题。一、CPU首先从CPU说起。 你仔细检查的话,有些服务器上会有的一个有趣的现象:你cat /proc/cpuinfo时,会发现CPU的频率竟然跟它标称的频率不一样:#ca

2015-05-15 11:38:31 541

原创 ntpdate命令遇到“the NTP socket is in use, exiting”

#ntpdate pool.ntp.org15 May 10:51:02 ntpdate[50325]: the NTP socket is in use, exiting这个提示表明NTP的端口已经被占用了,该端口默认为123,并且是UPD模式。可以使用nc或者netstat命令查看那个服务占用了此端口,例如:nc -uz -w 3 172.0.0.1 123netstat -nup

2015-05-15 11:23:35 9831

原创 linux常用命令的的常见用法(持续更新中......)

1. chkconfig命令常见用法1.1 查看开机自启动服务的状态[root@localhost ~]# chkconfig......crond           0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭......说明:不需要任何参数。从结果示例中可以看到crond服务的运行级别为2345.暂不确定该用法是否能看到“所有”

2015-05-15 10:48:06 679

原创 RegionServer与OOM不得不说的一些事儿

RegionServer进程运行中,如果出现OOM(OutOfMemory),则会被kill掉。此时,在RegionServer日志中看不到任何提示,也不会生成hs_err_pid.log之类的提示。那么,如何知道它被kill了呢?其实RegionServer进程启动时,已经告诉JVM如果OOM了怎么办。./jps -v|grep "Region"HRegionServer -Dproc

2015-05-12 17:49:02 2707

转载 一文读懂机器学习,大数据/自然语言处理/算法全有了……

在本篇文章中,我将对机器学习做个概要的介绍。本文的目的是能让即便完全不了解机器学习的人也能了解机器学习,并且上手相关的实践。这篇文档也算是EasyPR开发的番外篇,从这里开始,必须对机器学习了解才能进一步介绍EasyPR的内核。当然,本文也面对一般读者,不会对阅读有相关的前提要求。在进入正题前,我想读者心中可能会有一个疑惑:机器学习有什么重要性,以至于要阅读完这篇非常长的文章呢?我

2015-05-11 11:06:44 734

原创 Hadoop2.6和2.7中几个重要的新特征

Hadoop2.71. YARN-1492 - Automatic shared, global caching of YARN localized resources (beta)Hadoop Distributed Cache大家应该比较熟悉。它的局限是只能在一个Job间共享file,该特性期望实现多个job间共享file。不过Hadoop2.7中,该特征为Beta版本,社区希望在Ha

2015-05-05 15:25:04 2699

原创 MapReduce开发中需要注意的几个问题

说明:本文提及的所有观点和代码,均基于Hadoop 2.5.0-cdh5.2.0环境。1. WritableComparable和WritableComparator的区别WritableComparable和WritableComparator都提供了比较的功能。先看看其相关定义:public interface WritableComparable extends Writab

2015-04-22 17:13:01 1275

原创 简单理解MapReudce的分区和分组

分区简单的说,一组KV交给一组Reduce进行处理,分区就是制订其交付的对应规则。如下代码:public class DoPartitioner extends HashPartitioner{ @Override public int getPartition(final MyKeyWritable key, final MyValueWritable value, f

2015-04-22 15:25:19 749

原创 基于YARN的MapReduce日志几个注意事项

说明:本文提及的所有配置参数,都是基于Hadoop 2.5.0-cdh5.2.0环境。MapReduce(MR)的调试是一个比较麻烦的问题,除了一些辅助调试工具(如mrunit)外,相信通过日志定位问题仍然是一个比较常见的方法。虽然这种方法比较原始,但是很多时候也能解决大问题......下面将描述使用MR的日志时,需要注意的一些问题。1. MR运行过程中,日志将暂存于yarn.node

2015-04-22 14:28:48 2411

原创 MapReduce中如何访问外部jar包和数据文件

说明:本文提及的所有代码和配置参数,都是基于Hadoop 2.5.0-cdh5.2.0环境。MapReduce(MR)程序中经常需要访问外部的文件,例如:外部的jar包或数据文件。对于前者,可以拷贝到hadoop的lib路径下(本文的CDH环境中,真实路径为/opt/cloudera/parcels/CDH-5.2.0-1.cdh5.2.0.p0.36/lib/hadoop/lib/)。很明显

2015-04-21 17:46:25 1189

原创 自定义WritableComparable遭遇空指针异常的一个场景

自定义的WritableComparable中,如下代码一切ok:......private String cookieID;......public MyWritable(){}public MyWritable(final String cookieID){ set(cookieID);}public void set(final String cookieID)

2015-04-20 18:03:32 1171

转载 数据立方体与OLAP

数据立方体关于数据立方体(Data Cube),这里必须注意的是数据立方体只是多维模型的一个形象的说法。立方体其本身只有三维,但多维模型不仅限于三维模型,可以组合更多的维度,但一方面是出于更方便地解释和描述,同时也是给思维成像和想象的空间;另一方面是为了与传统关系型数据库的二维表区别开来,于是就有了数据立方体的叫法。所以本文中也是引用立方体,也就是把多维模型以三维的方式为代表进行展现和描述,其

2015-03-04 15:49:18 1082

转载 数据仓库的多维数据模型

多维数据模型是为了满足用户从多角度多层次进行数据查询和分析的需要而建立起来的基于事实和维的数据库模型,其基本的应用是为了实现OLAP(Online Analytical Processing)。当然,通过多维数据模型的数据展示、查询和获取就是其作用的展现,但其真的作用的实现在于,通过数据仓库可以根据不同的数据需求建立起各类多维模型,并组成数据集市开放给不同的用户群体使用,也就是根据需求定制的各

2015-03-04 15:25:36 1063

转载 数据仓库的基本架构

数据仓库的目的是构建面向分析的集成化数据环境,为企业提供决策支持(Decision Support)。其实数据仓库本身并不“生产”任何数据,同时自身也不需要“消费”任何的数据,数据来源于外部,并且开放给外部应用,这也是为什么叫“仓库”,而不叫“工厂”的原因。因此数据仓库的基本架构主要包含的是数据流入流出的过程,可以分为三层:源数据、数据仓库、数据应用。从图中可以看出数据仓库的数据来源于

2015-03-04 15:17:56 450

转载 构建星型数据仓库五步法

说明:本文截取了原文中的一个片段,原片段名称为“构建企业级数据仓库五步法”,但我认为有些文不对题,或许改成“构建星型数据仓库五步法”更合适。1.确定主题即确定数据分析或前端展现的主题。例如:我们希望分析某年某月某一地区的啤酒销售情况,这就是一个主题。主题要体现出某一方面的各分析角度(维度)和统计数值型数据(量度)之间的关系,确定主题时要综合考虑。我们可以形象的将一个主题想象为一颗星星:统计

2015-03-03 17:45:49 1304

原创 Hadoop新一代MapReduce框架Yarn,理解时需要注意的几点问题

原文请见:http://blog.sina.com.cn/s/blog_829a682d0101lc9d.html或http://www.csdn.net/article/2014-02-10/2818355对于初学者,我觉得应该搞清楚以下几点:1. YARN和MR2不是一回事。YARN只是一个资源管理的框架,并不是一个计算框架,MR2只是一个计算框架,并不是一个资源管理框架。计算框架可以

2015-02-13 20:00:32 617

原创 贝叶斯定理相关的一些理解

近日在看阮一峰翻译的《黑客与画家》,书中的第8章介绍了以贝叶斯定理和推断为基础实现的一个垃圾邮件过滤器。文章对其实现过程介绍比较粗略,为此阮一峰后续还专门做了深入的研究,分别发表了两篇博文进行更深入的阐述,可见:贝叶斯推断及其互联网应用(一):定理简介和贝叶斯推断及其互联网应用(二):过滤垃圾邮件。理解这些文章的过程中,也顺便回顾了贝叶斯定理相关的内容。以下为个人认为的理解中需要注重的几个知识点:

2015-02-13 10:54:40 2181

转载 有关大数据,看这一篇就够了!

转自:http://database.ctocio.com.cn/47/13205547.shtml        似乎一夜之间,大数据(BigData)变成一个IT行业中最时髦的词汇。  首先,大数据不是什么完完全全的新生事物,Google的搜索服务就是一个典型的大数据运用,根据客户的需求,Google实时从全球海量的数字资产(或数字垃圾)中快速找出最可能的答案,呈现给你,就是一个最典型

2015-02-11 10:24:12 2338 1

原创 Hadoop运维中遇到的问题(持续更新中......)

1. NodeManager不能启动症状:org.apache.hadoop.yarn.exceptions.YarnRuntimeException: Failed to initialize LocalizationService        at org.apache.hadoop.yarn.server.nodemanager.containermanager.localiz

2015-02-05 14:44:50 5709

原创 同步时钟脚本在crontab中遇到的问题

时钟同步应该是集群维护中必需的事项之一了,可用下列脚本clock_sync.sh来实现:#!/bin/bashservice ntpd stopntpdate 192.168.0.191service ntpd startchkconfig ntpd on该脚本手动执行正常。然后将其加入crontab:0 * * * * clock_sync.sh假设上述操作都在root用户下完成

2014-12-21 13:19:53 813

原创 Phoenix中不得不吐槽的两大特征

Phoenix是什么?看看官网就知道了,我就不细说了。关于它的优点,官网也是列了一大堆,我也不复述了。下面只谈谈截止Phoenix4.2.1,我认为存在以下两大缺点:1. 完全丧失了HBase的多版本特征HBases至少也是三维结构(row、cf:cq、timestamp)的数据模型,Phoenix将其映射为二维的关系模型后,便面对着损失信息精度的尴尬场面。这种尴尬具体表现

2014-12-05 17:53:31 3131

转载 EOF的定义以及如何用好它

http://faq.cprogramming.com/cgi-bin/smartfaq.cgi?answer=1048865140&id=1043284351

2014-11-19 16:37:39 1192

原创 Java的synchronized使用小结

首先需要阐明两个基本问题:1.锁只能获取自对象,而不是代码,也就是说synchronized [static] methodName这样的写法其实获取的还是对象锁;2.未synchronized的代码执行不受锁的影响。1.synchronized非静态方法和synchronized(this)这是等效的两种写法,也就是说synchronized非静态方法其实获取的是this对象锁。当多

2014-11-14 12:23:15 623

原创 使用HSqlDB的SQL/JRT功能

使用HSqlDB的过程中,因为业务需求要执行动态SQL时,才突然发现HSqlDB不具有类似于SQL Server等数据库的Exec的功能。于是一番探索之后就有了本文。SQL-92提出了支持动态SQL的标准,见(http://www.contrib.andrew.cmu.edu/~shadow/sql/sql1992.txt,12)Support for dynamic execution of

2014-11-10 18:19:03 757

原创 Redis集群常用操作方式

目前对集群的操作可以通过社区提供的ruby脚本(redis-trib.rb,包含在src目录下)和内置命令进行(Cluster命令组)进行,包括Jedis在内的一些客户端工具也提供了部分集群操作。下面以前者为例介绍常用的集群操作。安装集群截止本文发布时,Redis社区并没有提供集群版的二进制包,所以需要自己从github下载最新源码然后进行编译安装。编译方法在源码包的readme中有详细说

2014-08-25 18:38:09 2272 1

原创 Redis集群实现方式

Redis采用数据分区和主从模式实现了分布式集群管理方式,数据分区实现了横向扩展,主从模式实现了故障恢复。

2014-08-25 18:35:40 1393

原创 Hbase中compaction的触发条件

1. memstore flush之后触发;2. 客户端通过shell或者API触发;3. 后台线程CompactionChecker定期触发,周期为:hbase.server.thread.wakefrequency*hbase.server.compactchecker.interval.multiplier。上述三个条件触发了compaction请求后,真正的compaction

2014-08-25 14:50:15 4091

原创 HBase中region split的大致流程

经过和社区讨论,并参照wan

2014-08-22 16:41:30 2405

原创 如何解决RedisLive不能显示曲线图的问题

RedisLive作为第三方的Redis图形化监控工具,

2014-08-04 18:25:27 2438 1

原创 执行redis-trib.rb时遇到的问题

redis-trib.rb是Redis Cluster的一个常用工具,

2014-07-28 13:27:34 9529

原创 Jedis2.5.1编译时遇到的问题

Jedis是Redis的Java客户端,关于其详细介绍见:https://github.com/xetorthio/jedis

2014-07-24 19:01:34 2077 2

highcharts

jquery开发的图标效果,包括曲线图、柱状图、饼状图等等,很漂亮的。

2011-07-17

jquery jSlider

jquery开发的拖动条,jquery开发的拖动条,jquery开发的拖动条,挺漂亮的。

2011-07-17

空空如也

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

TA关注的人

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