首先在网站上下载zookeeper的tar包,并且解压。 重命名\conf 目录下的 zoo-example.cfg 为 zoo.cfg。 对其中进行设置,例如:
clientPort=2181
dataDir=D:\\zookeeper-3.4.10-1\\data
server.1=127.0.0.1:2222:2223
最基本的输入流为InputStream 表示从不同数据源输入的类。因此根据不同的数据源就有不同的子类。 | |
类 对应数据源 构造器参数 | |
1)ByteArrayInputStream 字节数组 缓冲区,字节从内存缓冲区中取出 | |
2)StringBufferInputStream String对象 字符串,底层使用StringBUffer | |
3)FileInputStream 文件 字符串,表示文件名(路径) | |
4)PipedInputStream 管道概念 PipedOutputStream | |
5)SequenceInputStream 多个InputStream 两个InputStream或一个InputStream的容器Enumeration | |
6)FilterInputStream 抽象类,装饰器的接口 以上其他InputStream |
首先在网站上下载zookeeper的tar包,并且解压。 重命名\conf 目录下的 zoo-example.cfg 为 zoo.cfg。 对其中进行设置,例如:
clientPort=2181
dataDir=D:\\zookeeper-3.4.10-1\\data
server.1=127.0.0.1:2222:2223
Spring-Cloud-Config 提供在分布式系统中客户端与服务端的外部配置支持。在Config Server端 你可以有一个集中的地方存放与管理其他所有服务的外部配置。
其依赖为 spring-cloud-starter-config,服务端依赖为 spring-cloud-config-server. 客户端依赖为 spring-cloud-config-client.
1、应用程序配置文件的命名约定{application}-{profile}.yml。
2、config-server本身也是一个微服务,在它的启动类上使用注解@EnableConfigServer。
3、在微服务(配置服务端)的配置文件(bootstrap)中的关键配置:
每次更改完记得重启服务器
spring:
profiles:
使用技术:Filebeat + kafka + logstash + elasticsearch + kibana
(日志采集) (传输) (数据收集整理) (数据存储搜索分析) (数据分析可视化)
这里使用slf4j+logback的组合,首先需要注意是否与某些依赖继承的log4j冲突,需要把它exculusion,如果存在,slf4j会报找到多个binding的实现,然后会自己选取一种。
slf4J 是 简单日志门面(simple logger facade),并没有具体的日志实现,只提供一组接口,这样用户就无需,因为不同的底层实现而编写不同的代码。
首先需要依赖logback-classic和slf4j-api。如果使用的是log4j还需要slf4j-log4j12 作为连接。
对于logback其配置文件为resource下的logback.xml。
配置例如:
<logger name="ELKLogger" level="DEBUG" additivity="true">
@Component 类级注解 表明该类是一个组件类,将它识别为一个bean,需要通过开启组建扫描才能发现。
对于@Component注解的bean的名字,默认是驼峰,可以是使用@Component("xxx")指定名称
可以专门创建一个配置类,该类有注解 @Configuration 引导类启动会先去加载配置类;@ComponentScan 开启组件扫描,默认扫描与配置类相同的包,查找带有@Component的类
@ComponentScan("xxx")value属性指定包的名称,多个包可以用@ComponentScan(basepackages={"xxx","xxx"})。但是字符串没有编译器检查,@ComponentScan(basepackages={aaa.class,bbb.class}),aaa与bbb两个类所在的包会作为被扫描的包。
将bean注入 可以在属性或者方法上使用@Autowired,如果是方法自动传入参数
是一个用来读写xml的api,需要导入dom4j-full.jar。
示例代码:
SAXReader saxReader = new SAXReader(); //简单的创建方式,也可通过工厂获取
FIle file=new File("xx.xml");
Document doc=saxREadser.read(new FileInputStream(xmlFile));//read方法可以接受各种常用的流,比如字节流
List nodes=doc.selectNodes("/data/node1");//可以直接返回指定节点
Element rootElement=doc.getRootElement();//获取报文的根节点
List elements=doc.getRootElement().elements();//获取报文的根节点之下一层的所有节点
Element element=doc.getRootElement().elements().get(0);//获取报文的根节点之下一层的所有节点中的第一个节点。