- 博客(105)
- 资源 (12)
- 问答 (1)
- 收藏
- 关注
原创 10、【Java Web系列】APM工具Skywalking
0、skywalking已经加入apache,文档丰富,且依赖的组件少,相对于pinpoint较为推荐skywalking。1、下载安装mysql。2、下载apache-skywalking-apm-bin压缩包。3、修改config/application.yml,这里storage选择使用mysql。storage: mysql: properties: ...
2020-02-06 11:23:27 687
原创 9、【Java Web系列】APM工具Pinpoint
0、结合turbine以及zipkin也可以对服务成功率以及链路调用关系做监控,但是两者分散,没有整合在一起,且turbine的数据没有持久化,不便于定位历史问题。1、这里可以搭建pinpoint作为我们的APM工具。2、克隆pinpoint-dockergit clone https://github.com/naver/pinpoint-docker.git3、若在启动过程中...
2020-02-06 11:16:56 710 1
原创 8、【Java Web系列】单节点应用监控Hystrix Stream
1、在上一篇的基础上添加hystrix dashboard依赖。implementation 'org.springframework.boot:spring-boot-starter-actuator'implementation 'org.springframework.cloud:spring-cloud-starter-netflix-hystrix-dashboard'2、启...
2020-02-06 11:06:55 280
原创 7、【Java Web系列】熔断器Hystrix
0、在SpringBootTestConsumer项目1、启动类添加@EnableCircuitBreaker2、修改GreetingController类@GetMapping("/get-greeting")@HystrixCommand(fallbackMethod = "greetingFallBack")public String greetingFallBack()...
2020-02-06 11:01:19 345
原创 6、【Java Web系列】分布式调用链跟踪Zipkin
1、官网https://zipkin.io/下载zipkin并运行。java -jar zipkin-server-2.19.3-exec.jar2、SpringBootTest以及SpringBootTestConsumer分别添加spring-cloud-starter-zipkin依赖包implementation 'org.springframework.cloud:spr...
2020-02-06 10:52:53 245
原创 5、【Java Web系列】微服务发现
1、复制一份SpringBootTest,并改名为SpringBootTestConsumer2、修改application.yml的服务名为SpringBootTestConsumer,并修改端口号,避免冲突。3、build.gradle添加Feign的依赖包implementation 'org.springframework.cloud:spring-cloud-starter...
2020-01-31 11:29:36 199
原创 4、【Java Web系列】微服务注册
1、安装zookeeper,并启动。D:\apache-zookeeper\bin>.\zkServer.cmd2、修改SpringBootTest2.1、启动类添加@EnableDiscoveryClient,这将使SpringBootTest启动时自动注册。2.2、在resources文件夹下添加application.yml,配置服务名称,zookeeper地址等信息...
2020-01-30 12:15:11 167
原创 3、【Java Web系列】log4j2使用
0、在之前的SpringBoot的基础上修改1、添加log4j2库依赖,springboot默认是用logback的日志框架的,所以也需要排除logback,不然会出现jar依赖冲突,出现日志无法写入文件,只能打印在控制台的情况。compile group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.13.0'...
2020-01-29 16:48:31 292
原创 2、【Java Web系列】SpringBoot入门
1、File -->> New -->> Other -->> Gradle Project2、修改build.gradle文件plugins { id "org.springframework.boot" version "2.2.4.RELEASE" id 'io.spring.dependency-management'...
2020-01-29 16:40:03 105
原创 1、【Java Web系列】Hello World
1、安装eclipse2、Help -->> Install New Software,添加Apache tomcat相关插件3、Windows -->> Preference -->> Server,选择Apache tomcat作为Server Runtime Env4、File -->> New -->> Oth...
2020-01-28 16:51:18 163
原创 Docker构建开发环境
以往在新的机器上构建开发环境时,往往需要安装比较多的工具软件,这个过程比较耗时。有人会说,那可以把这些命令固化在shell脚本中。当然这也是一个可行的方法。 随着Docker的发展,容器与容器云大行其道。本着熟悉Docker的想法,加之Docker具有简化配置、快速部署的特点,这里尝试使用Docker来构建开发环境。 原始镜像为Ubuntu,常用的开发工...
2018-02-25 19:16:27 1679
原创 WinPE_USB启动盘制作
对于老毛桃这种U盘启动盘工具一直比较好奇,于是通过查找资料,终于找到了一些WinPE制作的门道,从此就可以打造属于自己的WinPE了。 WinPE的抽取主要利用Windows AIK或者Windows ADK,镜像制作成功后,利用Windows原生的diskpart给U盘划分区。最后拷贝WinPE到U盘即可。 在Vmware里测试效果如下: 至于如何使用AIK以及disk...
2018-02-18 22:25:03 3332
原创 C++异常安全
1、遇到异常时,已分配的内存、锁、文件描述符等要释放,可尝试使用auto_ptr,shared_ptr,用对象来管理资源。 2、函数提供强力保证,要么成功,要么回滚。发生异常的函数对程序来说,需提供发生异常时候的回滚机制。“copy and swap”是实现这个机制的简单策略。先对原对象做出一个副本,在副本上做必要的修改。如果出现任何异常,原对象依然能保证不变。如果修改成功,则通过不会
2017-04-06 16:06:26 437
原创 C++构造、析构异常
构造函数负责创建并初始化对象的内部环境,包括分配内存、创建内部对象和打开相关的外部资源等等。析构函数则负责相关的释放操作。 1、对于C++语言来说,由于构造函数产生异常时不会调用对应的析构函数,那么在构造函数里发生异常前的代码所创建的资源就不能被析构函数释放。#include #include using namespace std;class TestO
2017-04-06 15:23:06 545
原创 C++中的"instanceof"
在C++中通过在基类、派生类复写(override)虚函数,基类指针来引用派生类对象,以达到同一个接口表现出不同的行为(即多态)的目的。反过来,我们可能存在这样的需求,仅通过一个基类指针判断它对应的是哪个类的实例。这时应该怎么做? 在java中,可以通过instanceof(java RTTI的一种方式)运算符,在运行时指出对象是否是特定类的一个实例。而在C++中则可以使用dy
2017-04-05 11:38:40 8647
原创 storm-1.0.3集群搭建
1、安装好jdk以及python。2、下载storm包,解压到chan-takchi,修改storm.yaml配置文件。 storm.zookeeper.servers: - "chan-takchi" - "chan-takchi-01" - "chan-takchi-02"storm.local.dir: "/srv/storm"
2017-03-30 11:16:46 900
原创 TCP粘包/拆包现象
TCP作为面向有连接、字节流的传输层协议,消息无边界,应用层的一次读取操作并不能区分拿到的是半个报文、一个报文还是两个报文的组合。假设这么一个场景,客户端连续向服务端发送两个报文Data1和Data2,则可能会发生以下三种情况: 1、Data1和Data2分开到达了Server端,没有产生粘包或者拆包的情况。 2、Data1的尾部和Data2
2017-03-24 11:46:32 602
原创 SQL隔离级别
隔离级别定义一个事务必须与由其他事务进行的资源或数据更改相隔离的程度,用以处理处理脏读、不可重复读、幻读等现象。 若多个事务不加控制地并发时,会产生以下的现象, 更新丢失(lost update):当允许两个事务同时更新同一数据时,发生更新丢失; 脏读(dirty read):当一个事务读取另一个事务尚未提交的修改时,而此
2017-03-23 15:15:30 291
原创 MySQL存储引擎
数据库存储引擎是数据库底层软件组织,透过数据引擎进行创建、查询、更新和删除数据等操作。不同的存储引擎提供不同的存储机制、索引技巧以适应不同的需求。 MySQL支持的存储引擎如下:mysql> show engines;+--------------------+---------+-------------------------------------------------
2017-03-23 11:21:00 264
原创 MySQL初探
1、安装并连接上后,查看当前有多少个数据库。mysql> show databases;+--------------------+| Database |+--------------------+| information_schema || mysql || performance_schema || sys
2017-03-23 10:24:41 230
原创 Linux下GDB调试多线程
1、GDB会每个线程分配一个ID,前面有*的表示当前正在调试的线程。(gdb) info threads Id Target Id Frame * 2 Thread 0x7ffff77ff700 (LWP 2481) "thread" thread_func (args=0x0) at thread.c:11 1 Thread 0x7f
2017-03-13 09:40:21 443
原创 Linux下如何调试coredump文件
1、设置系统相关参数,否则不会产生coredump文件。echo "ulimit -c 1024" >> /etc/profile设置完后,重新登录系统或者source /etc/profile,使生效。2、编写测试文件,dump.cpp。#include #include void crash(){ char *str = "read only!"; st
2017-03-12 22:53:57 390
原创 shell中“2>&1”的含义
shell环境中标准输入,标准输出,标准错误,代号分别为0,1,2。这里的意思是把标准错误重定向到标准输出,之所以有“&”,原因是为了避免把“1”识别为文件,若把“&”去掉,运行后可看到一个名字为“1”的文件。
2017-03-07 09:55:16 448
原创 Linux磁盘工具
1、df - report file system disk space usagedf displays the amount of disk space available on the file system containing each file name argument. If no file name is given, the space available on all
2017-02-15 17:17:39 397
原创 (Java)静态内部类和非静态内部类
如果仅仅把内部类当做外部类的一个成员来看的话,它与一般的成员变量没什么不同之处。这里主要记录一下静态内部类和非静态内部类两者的区别。 (1)非静态内部类能够访问外部类的静态和非静态成员,静态类不能访问外部类的非静态成员。 (2)一个非静态内部类不能脱离外部类实体被创建;内部静态类不需要有指向外部类的引用,但非静态内部类则需要。public class OuterC
2017-02-04 11:32:31 310
原创 通过MapReduce程序导出Hbase到Hadoop
1、编写程序。package chan.takchi.mr;import java.io.IOException;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.Path;import org.apache.hadoop.hbase.HBaseConfiguration;
2017-01-23 15:55:38 1036
原创 HBASE-1.2.4开发环境搭建
在《HA Hadoop-2.7.3+Hbase-1.2.4搭建》的基础上,整理记录如何在eclipse上进行进行hbase java api的应用。hadoop以及hbase都是搭建在ubuntu虚拟机里,而eclipse则是在windows上。1、配置windowns的host文件,添加虚拟机中相应的域名。192.168.42.132 chan-takchi-03192.168.
2017-01-22 17:21:57 887
原创 HA Hadoop-2.7.3+Hbase-1.2.4搭建
在HA HDFS运行的情况下,增加hbase集群。1、在hbase-env.sh里export JAVA_HOME。2、修改hbase-site.xml hbase.rootdir hdfs://chan-takchi:9000/hbase hbase.cluster.distribute
2017-01-22 11:27:51 1294
原创 Hadoop-2.7.3集群(HA HDFS)搭建
在《Hadoop-2.7.3集群(HDFS)搭建》中,整理了如何搭建分布式的hdfs,但存在单点问题,如果NameNode挂了,整个集群就处于不可用的状态。这里记录了在之前基础上如何搭建HA HDFS。1、增加了一台机器,并修改了host。127.0.0.1 localhost127.0.1.1 ubuntu192.168.42.132 chan-takchi-03192.16
2017-01-20 16:54:43 762
原创 Hadoop-2.7.3_MapReduce开发环境搭建
在YARN配置完毕之后,尝试使用Eclipse开发MR程序。1、打开eclipse,建立工程,并把hadoop-2.7.3/share/hadoop/mapreduce以及hadoop-2.7.3/share/hadoop/common下的jar文件加到项目的类路径。2、新建类。package chan.takchi.mr;import java.io.IOException;
2017-01-19 10:54:19 924
原创 Hadoop-2.7.3集群(YARN)搭建
在上一篇《Hadoop集群(HDFS)搭建》之后,继续记录整理YARN的搭建。mapred-site.xml <!-- mapred.job.tracker chan.takchi:9001 --> mapreduce.framework.name
2017-01-19 09:24:03 5269
原创 无法正常启动DataNode
2017-01-16 22:43:19,028 INFO org.apache.hadoop.ipc.Client: Retrying connect to server: chan.takchi/192.168.42.129:9000. Already tried 9 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(max
2017-01-17 15:26:17 594
原创 Hadoop-2.7.3集群(HDFS)搭建
1、修改hosts文件 127.0.0.1 localhost 127.0.1.1 ubuntu 192.168.42.131 chan.takchi.02 192.168.42.130 chan.takchi.01 192.168.42.129 chan.takchi2、配置ssh无密码登录3、修改hadoop-env.sh
2017-01-17 11:06:24 578
原创 zookeeper集群搭建
1、安装JDK,并设置JAVA_HOME2、下载并解压zookeeper安装包3、添加配置文件zoo.cfg# The number of milliseconds of each ticktickTime=2000# The number of ticks that the initial # synchronization phase can takeinitLim
2017-01-17 09:55:29 237
原创 MapReduce任务无法在8088页面查看
修改mapred-site.xml,在原来的配置文件基础之上添加: mapreduce.framework.name yarn mapreduce.jobhistory.address master:10020 mapreduce.
2017-01-08 23:08:49 3572
原创 HBASE-1.2.4批量导入_ImportTsv
1、先把log.txt上传至hdsf。2、在hbase中定义好表T_SYS_LOG。3、bin/hbase org.apache.hadoop.hbase.mapreduce.ImportTsv -Dimporttsv.columns='HBASE_ROW_KEY,info:val' '-Dimporttsv.separator=|' T_SYS_LOG /tmp/log.txt
2017-01-06 16:32:59 2181
原创 flume+hdfs
1、安装flume以及hadoop2、配置flume配置文件,hdfs.conf#agent.sources.s1.type = spooldir#agent.sources.s1.spoolDir = D:\\logs#agent.sources.s1.fileHeader = false#agent.sources.s1.channels=c1agent.sourc
2016-11-30 17:36:15 496
原创 zookeeper连接
zookeeper以文件目录树作为数据模型,对应用的参数进行保存以及同步。 import java.io.IOException;import org.apache.zookeeper.KeeperException;import org.apache.zookeeper.WatchedEvent;import org.apache.zookeeper.Watcher;
2016-10-11 17:29:13 512
原创 flume+kafka使用
1、下载flume的安装包,解压至任一路径。2、搭建kafka集群。3、配置flume的配置文件,将其命名为kafka.conf,如下。 agent.sources.s1.type = spooldiragent.sources.s1.spoolDir = /tmp/cdz/logagent.sources.s1.fileHeader = falseagent.sour
2016-10-11 09:30:30 938
Tomcat 6如何配置C/C++的cgi
2012-11-06
TA创建的收藏夹 TA关注的收藏夹
TA关注的人