- 博客(45)
- 收藏
- 关注
原创 浅谈分布式服务协调技术 Zookeeper
浅谈分布式服务协调技术 ZookeeperGoogle的三篇论文影响了很多很多人,也影响了很多很多系统。这三篇论文一直是分布式领域传阅的经典。根据MapReduce,于是我们有了Hadoop;根据GFS,于是我们有了HDFS;根据BigTable,于是我们有了HBase。而在这三篇论文里都提及Google的一个Lock Service —— Chubby,哦,于是我们有了Zookeeper。随着大数
2017-11-03 16:47:22 569
转载 ZooKeeper系列(四) Zookeeper的应用实践
一、配置服务配置服务是分布式应用所需要的基本服务之一,它使集群中的机器可以共享配置信息中那些公共的部分。简单地说,ZooKeeper可以作为一个具有高可用性的配置存储器,允许分布式应用的参与者检索和更新配置文件。使用ZooKeeper中的观察机制,可以建立一个活跃的配置服务,使那些感兴趣的客户端能够获得配置信息修改的通知。下面来编写一个这样的服务。我们通过两个假设来简化所需实现的服务(稍加修改就可以
2017-11-03 15:40:09 606
转载 ZooKeeper系列(三) Zookeeper的四字命令及API
前面虽然配置了集群模式的Zookeeper,但是为了方面学建议在伪分布式模式的Zookeeper学习Zookeeper的shell命令。一、Zookeeper的四字命令Zookeeper支持某些特定的四字命令字母与其的交互。他们大多数是查询命令,用来获取Zookeeper服务的当前状态及相关信息。用户在客户端可以通过telnet或nc向Zookeeper提交相应的命令。Zookeeper常用的四字命
2017-11-03 15:05:38 845
转载 ZooKeeper系列(二) Zookeeper的环境配置
Zookeeper的环境配置一、Zookeeper的搭建方式Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。1.单机模式:Zookeeper只运行在一台服务器上,适合测试环境;2.伪集群模式:就是在一台物理机上运行多个Zookeeper 实例。3.集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble)。Zookeeper
2017-11-03 14:36:39 649
转载 Zookeeper系列(一) Zookeeper的原理学习
一、ZooKeeper的背景1.1 认识ZooKeeperZooKeeper—译名为“动物园管理员”。动物园里当然有好多的动物,游客可以根据动物园提供的向导图到不同的场馆观赏各种类型的动物,而不是像走在原始丛林里,心惊胆颤的被动 物所观赏。为了让各种不同的动物呆在它们应该呆的地方,而不是相互串门,或是相互厮杀,就需要动物园管理员按照动物的各种习性加以分类和管理,这样我们才能更加放心安全的观赏动物。回
2017-11-03 14:07:58 439
原创 Hadoop HDFS通过QJM实现高可用HA环境搭建
官方参考文档:http://hadoop.apache.org/docs/r2.7.2/hadoop-project-dist/hadoop-hdfs/HDFSHighAvailabilityWithQJM.html环境准备机器列表 主机 NN DN ZK ZKFC JN RM NM node1 Y Y Y node2 Y
2017-08-09 17:40:51 443
原创 Hadoop HDFS SingleCluster安装
环境准备机器列表 主机ip 主机名 用途 10.80.3.55 node1 namenode 10.80.3.163 node2 datanode/secondrynamenode 10.80.3.132 node3 datanode 10.80.3.164 node4 datanode 确保每台机器已经安装好jdk环境下载解压# 下载安
2017-08-09 14:38:11 434
原创 ThreadLocal解决SimpleDateFormat线程安全问题
原因分析SimpleDateFormat(下面简称sdf)类内部有一个Calendar对象引用,它用来储存和这个sdf相关的日期信息,例如sdf.parse(dateStr), sdf.format(date)诸如此类的方法参数传入的日期相关String,Date等等,都是交友Calendar引用来储存的。这样就会导致一个问题,如果你的sdf是个static的,那么多个thread 之间就会共享这个
2017-06-28 16:35:58 1038
原创 ThreadLocal深入理解
ThreadLocal概述学习一个东西首先要知道为什么要引入它,就是我们能用它来干什么。所以我们先来看看ThreadLocal对我们到底有什么用,然后再来看看它的实现原理。ThreadLocal如果单纯从名字上来看像是“本地线程”这么个意思,只能说这个名字起的确实不太好,很容易让人产生误解,ThreadLocalVariable(线程本地变量)应该是个更好的名字。我们先看一下官方对ThreadLoc
2017-06-28 15:23:46 296
原创 CountDownLatch学习笔记
正如每个Java文档所描述的那样,CountDownLatch是一个同步工具类,它允许一个或多个线程一直等待,直到其他线程的操作执行完后 再 执行。在Java并发中,countdownlatch的概念是一个常见的面试题,所以一定要确保你很好的理解了它。在这篇文章中,我将会涉及到在Java并发编程中跟CountDownLatch相关的以下几点:CountDownLatch 是什么?CountD
2017-06-27 13:18:00 357
转载 redis配置文件详解
# 默认redis不是以后台进程的方式启动,如果需要在后台运行,需要将这个值设置成yes# 以后台方式启动的时候,redis会写入默认的进程文件/var/run/redis.piddaemonize yes # redis启动的进程路径pidfile/var/run/redis.pid # 启动进程端口号,这里最好不要使用默认的6379,容易被攻击port 7179
2016-12-10 18:14:52 452 1
原创 Centos6.5安装redis服务
下载redis安装包wget http://download.redis.io/releases/redis-3.2.6.tar.gz解压、编译、安装tar -xvzf redis-3.2.6.tar.gz -C /usr/srccd /usr/src/redis-3.2.6/make && make install创建redis相关目录mkdir -p /
2016-12-10 17:53:43 414
原创 spring整合jedis没有maxActive和maxWait对应setter方法报错
下午闲来无事自己动手集成spring和redis,参考网上的博客配置好了Spring配置文件,做单元测试启动时结果一直报错,“maxWait”和“maxActive”属性值非法,接着排查到底是哪里的问题 <bean id="JedisConnectionFactory" class="org.springframework.data.redis
2016-11-23 17:30:58 2557 1
原创 MySQL can’t specify target table for update in FROM clause错误解决
今天想删除同一张表中重负数据时遇到“MySQL can’t specify target table for update in FROM clause”的错误,在百度上找了很久没有找到好的解决方案,于是用Google搜了一下随便点开一个秒解 原因就是mysql版本低 不能先select出同一表中的某些值,再update这个表(在同一语句中) 解决方案http://www.code
2016-08-30 17:28:33 572
转载 ToStringBuilder学习(四):readResolve()方法与序列化
在ToStringBuilder学习(一)中提到一个问题,即 readResolve方法是干啥的? 当时也没多想, 只是列在那里, 今天忙里偷闲地把搜点材料整理下这个问题.原来这个方法跟对象的序列化相关(这样倒是解释了为什么 readResolve方法是private修饰的). ??? 怎么跟对象的序列化相关了? 下面我们先简要地回顾下对象的序列化. 一般来说, 一个类实现了
2016-08-25 18:17:03 821
转载 ToStringBuilder学习(三):abstract、子类与多态的单例模式
看ToStringBuilder的源码发现, 这个封装了三个属性:StringBuffer类型的buffer,Object类型的object和ToStringStyle类型的style. buffer是用来装最终结果的, object指的是要toString的那个对象,这两个属性都不用多说, style是个新定义的类, 它是来啥的(ToStringBuilder利用这个类来管理最终toStri
2016-08-25 18:08:09 820
转载 ToStringBuilder学习(二):两种方法用法优缺点及一个问题
研究ApacheCommon源码, 先从一个最简单的开始,即围绕Object类里的toString方法自动化实现的一系列类.怎么来自动化地实现toString方法, 有两种:反射和手动设置.这两种方法在上一篇博客中都有体现,这里就不再赘述了.下面列举下其优缺点.用反射方法的优点: 1, 代码简洁, 不需要有什么配置的. 2, 若Model属性有变化时不必再手动更改toS
2016-08-25 17:59:04 919
转载 ToStringBuilder学习(一):常用方法介绍
一、简介与引入1、ToStringBuilder、HashCodeBuilder、EqualsBuilder、ToStringStyle、ReflectionToStringBuilder、CompareToBuilder等这些类都是位于commons-lang.jar下面的,所以要使用这些类一定要导入commons-lang.jar。2、为什么要使用ToStringBuilder?系
2016-08-25 17:24:10 716
原创 linux环境tomcat的安装
安装tomcat软件:apache-tomcat--7.0.63.tar.gz 下载地址:http://tomcat.apache.org/download-70.cgi1):准备上传apache-tomcat-7.0.29.tar.gz压缩包到/usr/local目录; 2):解压解压压缩包,解压后删除压缩包: 1)tar -zxv -f
2016-08-17 16:01:13 691
原创 nginx安装
一、nginx简介Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。Nginx是由Igor Sysoev为俄罗斯访问量第二的Rambler.ru站点开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6
2016-07-30 15:24:20 957
原创 CentOS安装MySQL服务
一、MySQL简介说到数据库,我们大多想到的是关系型数据库,比如mysql、oracle、sqlserver等等,这些数据库软件在windows上安装都非常的方便,在Linux上如果要安装数据库,咱不得不首先推荐的是mysql数据库了,而且Mysql数据库的第一个版本就是发行在Linux系统上的。MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Orac
2016-07-19 11:46:54 2535
原创 Pinyin4j获取中文拼音
1. 简单介绍有时候,需要将汉字编程对应的拼音,以方便数据的处理。比如在Android手机应用的开发上,要查询联系人的姓名,通常都是用拼音进行查询的。比如要查询“曹孟德”,就可以输入“cmd”,即“曹孟德”三个汉字的拼音“caomengde”各字的首字母。但是怎样才能将“曹孟德”翻译成“caomengde”呢?很简单的办法就是建立一个大的对照表(比如用关联容器Map),比如,,…但
2016-07-14 15:21:15 2563 1
原创 【Leetcode】001 Two Number
Given an array of integers, return indices of the two numbers such that they add up to a specific target.You may assume that each input would have exactly one solution.Example:Given nums =
2016-07-13 13:50:44 1885
原创 CentOS下JDK安装
一、查看Linux自带的JDK是否已安装 (卸载centOS已安装的1.4)java -version安装好的CentOS会自带OpenJdk,用命令 java -version ,会有下面的信息:OpenJDK Runtime Environment (build 1.6.0-b09)OpenJDK 64-Bit Server VM (build 1.6.0-b09,
2016-07-12 15:32:45 1945
AJAX的核心对象以及在级联中的简单应用实例
本篇文章主要是对学的AJAX做一个简单的总结和应用,实现一个城市选择的级联操作。1,前台form表单实现城市的级联 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD H...
2015-07-03 00:15:26 149
原创 HttpClient登陆
获取cookiepublic static String HBLogin(String loginName,String loginPassword,String url) throws IllegalStateException, IOException{ HttpClient client = new DefaultHttpClient(); //设置登录参数 ...
2015-06-02 10:48:45 198
原创 OCR识别验证码
最近由于系统要从网站抓取数据的需求,需要做一个自动登陆系统的功能,而网站登陆一般都有验证码图片的验证,因此必须识别获取到验证码图片中的内容。这儿用的图片解析工具j4l,相关jar包及文件下载地址:http://www.java4less.com/ocrtools/ocrtools.php?info=download 下载后解压 得到一堆文件:运行一下那三个bat文件;...
2015-05-27 11:59:54 548
原创 从服务器下载图片保存到本地磁盘中
在做OCR时,我们会从服务器下载验证码图片,可以通过把验证码图片下载到本地保存起来使用。以下是下载图片的实现:import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.net.HttpURLConnection;import java....
2015-05-26 17:43:23 1077
原创 js获取项目根路径
js获取请求参数1,js<Script language="javascript">function GetRequest() {var url = location.search; //获取url中"?"符后的字串var theRequest = new Object();if (url.indexOf("?") != -1) {var str = ur...
2015-05-15 10:47:49 179
原创 tomcat配置文件下载服务
tomcat 配置文件下载服务 conf里面的server.xml<?xml version="1.0" encoding="UTF-8"?><!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. ...
2015-05-13 17:20:09 335
原创 处理字符串中标签
用java清除字符串里的样式标签public class StringTest { public static void main(String[] args) { String b = "<p>的法国民法典</p><p>地方官号地方</p><p>的覆盖面积地方官</p><p>地方能够尽快
2015-05-12 11:29:14 544
原创 for循环下的选择器
for(var i=0;i<content.length;i++){ var con = content[i]; var html = '<tr class="incidentInfo" sel="incident'+i+'">'+ ...
2015-05-05 16:23:58 408
原创 全文检索之lucene
一,概念介绍 目前系统中存在着大量的报文信息,每条报文的数据量较小,大概2000-3000字节左右,但是总体报文的条数较多.这些报文信息属于非结构化数据,目前查询这些海量非结构化数据的速度较慢,而通过全文检索技术能高效地管理这些非结构化数据。 全文检索技术是指计算机索引程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置,当用...
2015-01-22 00:14:53 151
原创 流程自动执行测试
package com.liuzm.activiti.day2.receivetask;import org.activiti.engine.runtime.Execution;import org.activiti.engine.runtime.ProcessInstance;import org.junit.Assert;import org.junit.Test;...
2015-01-17 00:51:51 155
原创 activiti测试(部署,启动,查看状态,查看私有和公有任务)
包含部署流程,获取流程实例,查看私有任务和公有任务的抽取出来的工具类package com.liuzm.activiti.day2;import java.io.InputStream;import java.util.List;import org.activiti.engine.ProcessEngine;import org.activiti.engine.Pr...
2015-01-17 00:50:16 455
原创 activiti流程变量的设置和获取
流程变量的设置通过map键值对设置package com.liuzm.activiti.day2;import java.util.Date;import java.util.HashMap;import java.util.List;import java.util.Map;import org.activiti.engine.ProcessEngine;i...
2015-01-17 00:37:22 443
原创 activiti流程实例
ProcessInstance代表流程定义的执行实例。如范冰冰请了一天的假,她就必须发出一个流程实例的申请。一个流程实例包括了所有的运行节点。我们可以利用这个对象来了解当前流程实例的进度等信息。package com.liuzm.activiti.day1;import java.util.List;import org.activiti.engine.ProcessEngi...
2015-01-16 00:17:30 186
原创 activiti流程定义
ProcessDefinition(流程定义) : 用于描述流程规则相关的信息。package com.liuzm.activiti.day1;import java.io.File;import java.io.InputStream;import java.util.List;import org.activiti.engine.ProcessEngine;i...
2015-01-15 23:25:06 192
原创 Activiti学习笔记HelloWorld
第一个Activiti的HelloWorld1.部署流程2.启动流程3.查看任务4.办理任务package com.liuzm.activiti.day1;import java.util.List;import org.activiti.engine.ProcessEngine;import org.activiti.engine.ProcessEng...
2015-01-15 20:15:40 165
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人