随笔 - 107  文章 - 2  评论 - 39  阅读 - 11万
 
摘要: 在锤子科技发布会上,提到给Openresty的捐赠的事情,出于好奇我在是网上查询了Openresty,看到了Openresty的官网(http://openresty.org/en/)。看到介绍说的很强大,然后开始了解国内外哪些公司在使用,也对Openresty进行了学习,和做了一些Demo ,发现 阅读全文
posted @ 2019-03-14 12:00 刀锋诚心 阅读(2294) 评论(0) 推荐(0) 编辑
 
摘要: 最近一段时间正在对JavaScript进行学习,知识太多,需要进行实际的使用和总结,国庆长假正好有时间,写了下面对JavaScript总结,可能对事件的理解还不够完善,希望读者多多指导,拍砖,我将不胜感激。好了直接如题吧。 JavaScript中的事件流 DOM2级事件规定事件流分为3个阶段: 第一 阅读全文
posted @ 2016-10-06 13:05 刀锋诚心 阅读(1169) 评论(3) 推荐(5) 编辑
 
摘要: 1 安装JDK1) 进入JDK官网2) 下载JDK安装包3)配置环境变量,在/etc/profile增加以下代码JAVA_HOME=/home/hadoop/jdk1.6.0_38PATH=$JAVA_HOME/bin:$PATHCLASSPATH=.:$JAVA_HOME/jre/lib/rt.j... 阅读全文
posted @ 2015-01-28 10:15 刀锋诚心 阅读(2491) 评论(6) 推荐(4) 编辑
 
摘要: 最近从Hadoop 1.x 转到Hadoop 2.x 同时将一些java 程序转为Scala的程序将平台上的代码减少了很多,在实施的过程中,开到一些Spark相关的YARN的部署上都是基于之前的Hadoop 1.x的部分方式,在Hadoop2.2 +版本之上 基本上就不用这么部署了。其原因就是Had... 阅读全文
posted @ 2015-01-10 00:46 刀锋诚心 阅读(1561) 评论(0) 推荐(0) 编辑
 
摘要: 由于背景原因,所做的主从同步还是要基于MySQL 5.1的版本,主从同步主要是一个数据库读写访问原来的数据库热度过大,需要做到使用从库对读分压。MySQL主从同步介绍MySQL 支持单双向、链式级联、异步复制。在复制过程中,一个服务器充当主服务器(Master),而一个或多个其它的服务器充当从服务器... 阅读全文
posted @ 2014-10-21 11:16 刀锋诚心 阅读(2648) 评论(3) 推荐(6) 编辑
 
摘要: 最近在做一个搜索引擎,主要是对图书方面的对象级的搜索,首先来了解下Sphinx吧。它能够提高你的查询的速度,这个不是一般的快。Sphinx是一个基于SQL的全文检索引擎,可以结合MySQL,PostgreSQL做全文搜索,他可以提供比数据库本身更专业的搜索功能,使得应用程序更容易实现专业化的全文检索。 Sphinx特别为一些脚本语言设计搜索API接口,如:PHP、Python、Perl、Ruby等,同时为MySQL也设计了一个存储引擎插件。Sphinx单一索引最大可包含1亿条记录,在1千万条记录情况下的查询速度为毫秒级。Sphinx创建索引的速度为:创建100万条记录的索引只需 3~4分钟,创 阅读全文
posted @ 2013-08-10 20:28 刀锋诚心 阅读(12593) 评论(7) 推荐(5) 编辑
  2017年1月10日

 现在使用的比较常用的日志分析系统有Splunk和Elk,Splunk功能齐全,处理能力强,但是是商用项目,而且收费高。Elk则是Splunk项目的一个开源实现,Elk是ElasticSearch(Es)、Logstash、Kibana上个项目结合。Es就是基于Lucene的存储,索引的搜索引擎;logstash是提供输入输出及转化处理插件的日志标准化管道;Kibana提供可视化和查询统计的用户界面。往往这些开源项目并不是适合每一个公司的业务,业务不同,对开源项目扩展也就不同,logstash进行日志采集时,在Agent端并不适合做数据清洗,数据清洗往往是经常变化的,而且Agent一般占用的资源必须要受到一定限制否则会影响业务系统。我们可以将日志的采集采用一些开源系统重新进行组合,因为日志采集的业务特性,可以采用Es+kafka进行初步的存储查询。首先以Http协议收集日志为例,

 

将整个日志存储查询总体分为四个层处理:

第一层:日志采集层;

主要处理日志采集的过程,针对生成的日志不同,大体上分成三大部分:

(1)、日志通过Http协议汇总到服务器端,一般是Web端,或者IOS、Android移动端通过HTTP 请求上报日志,这部分日志采集的agent暴露在公网上,可能会存在一些恶意上报垃圾日志,这部分日志是需要进行权限验证的,例如:在上报的日志中带上Token的验证,验证不成功直接丢弃,成功则将log存入到kafka对应的topic中。

(2)、服务器上的文本日志,这部分日志一般是业务系统存储的log文件,由于存在的是服务器端,一般不需要进行token验证,就可以直接采用logstash或者rsyslog进行汇总到kafka中去。

(3)、非文本日志,需要自己进行开发的自定义Agent 采集相关日志发送到kafka中,如监控某一个 radis、mysql等组件。此类日志和(2)相同,一般不是暴露在公网上,不需要进行token验证。

第二层:kafka

(1)、kafka的主要作用一个方面主要是为防止采集量大于日志清洗、存储的能力,这样会造成日志系统处理不及时,或者造成系统宕机,引起日志丢失。kafka是Apache开源的Hadoop生态圈中的分布式消息队列,其扩展性、和性能是非常强大的。加入消息队列在遇到日志高峰期,不能及时处理的日志存储在kafka中,不影响后面的日志清洗的系统,同时通过分析kafka 中日志队列的处理情况能够,对日志清洗层能力进行扩展和缩减。

(2)、另一方面就是方便系统解耦 ,使用kafka也方便扩展,如果要对日志进行一些实时统计处理,则采用Storm-kafka直接订阅相关的topic就能够将日志数据导入到Storm集群中进行实时统计分析。

第三层:日志清洗层;

将所有的日志清洗和统计的逻辑归于这一层进行处理。

第四层:日志存储层;

将日志存入到Es进行索引建立和查询。

 

环境搭建及相关例子:

官方文档:http://kafka.apache.org/090/documentation.html#quickstart

同时也可以采用CDH、Ambari等集群管理工具安装 kafka,这里不再赘述,Ambari离线安装文档:http://pan.baidu.com/s/1i5NrrSh。

storm实时处理例子:https://github.com/barrysun/storm-ml/tree/master/logmapping-storm-kafka

 

posted @ 2017-01-10 15:44 刀锋诚心 阅读(3625) 评论(0) 推荐(2) 编辑
  2016年11月1日
摘要: 为什么会使用rem呢?主要还是浏览器和设备的大小不一。 这样就涉及到页面布局的不统一啦,先说说pc中的多栏布局吧,多栏布局有三种基本的实现方式:固定宽度、流动、弹性,下面我们就分别说说这三种布局吧。 固定宽度布局的大小不会随着用户调整浏览器窗口大小而变化,一般是900到1100像素宽。其中960像素 阅读全文
posted @ 2016-11-01 14:43 刀锋诚心 阅读(1195) 评论(0) 推荐(0) 编辑
  2016年10月13日
摘要: 这是我学习JavaScript的第二篇文章,之前做过几年的Java开发,发现JavaScript虽然也是面向对象的语言但是确实有很多不同之处。就本篇博客,主要学习总结一下最近学习到的JavaScript的知识,其中有些是网络上的,不过对于理解JavaScript,和在工作总是会很实用的,所以总结了下 阅读全文
posted @ 2016-10-13 18:09 刀锋诚心 阅读(639) 评论(1) 推荐(5) 编辑
  2016年4月11日
摘要: 开始安装LVS 1)下载相关软件包 mkdir -p /home/tools/cd /home/tools/wget http://www.linuxvirtualserver.org/software/kernel-26/ipadm-1.26.tar.gz 2)安装LVS命令 lsmod |gre 阅读全文
posted @ 2016-04-11 17:56 刀锋诚心 阅读(579) 评论(0) 推荐(0) 编辑
  2015年1月11日
摘要: 存储系统Spark任务需要从一些外部的存储系统加载数据(如:HDFS 或者 HBase),重要的是存储系统要接近Spark系统,我们有如下推荐:(1)如果可能,运行Spark在相同的HDFS节点,最简单的方法是建立一个引发相同的节点上的集群独立模式(http://spark.apache.org/d... 阅读全文
posted @ 2015-01-11 20:37 刀锋诚心 阅读(1738) 评论(0) 推荐(0) 编辑
< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

点击右上角即可分享
微信分享提示