ZooKeeper

zookeeper 异常 :stat is not executed because it is not in the whitelist. Connection closed b

二次信任 提交于 2021-01-08 17:00:35
zookeeper 异常 :stat is not executed because it is not in the whitelist. Connection closed b 参考文章: (1)zookeeper 异常 :stat is not executed because it is not in the whitelist. Connection closed b (2)https://www.cnblogs.com/jonrain0625/p/11377508.html 备忘一下。 来源: oschina 链接: https://my.oschina.net/u/3797416/blog/4885290

kafka是什么?对kafka你了解有多少?【云图智联】

佐手、 提交于 2021-01-08 11:41:35
Kafka是由 Apache软件基金会 开发的一个开源流处理平台,由 Scala和Java编写, 它是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据, 这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决, 对于像 Hadoop一样的日志数据和离线分析系统,但又要求实时处理的限制,这是一个可行的解决方案,Kafka的目的是通过Hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过集群来提供实时的消息。 随着公司从不同来源(例如网站,用户交互,金融交易)向各种目标系统(例如数据库,分析,电子邮件系统)提供越来越多的数据,开发人员必须为每个系统编写集成,我们一起看看你 kafka的基础架构及基本概念 : 如果看到这张图不要懵逼!咱们细细品 Producer : Producer即生产者,消息的产生者,是消息的入口。 Broker : Broker是kafka实例,每个服务器上有一个或多个kafka的实例,我们姑且认为每个broker对应一台服务器。每个kafka集群内的broker都有一个 不重复的编号,如图中的 broker-0、broker-1等…… Topic :消息的主题,可以理解为消息的分类, kafka的数据就保存在topic

easy-im:一款基于netty的即时通讯系统

时光总嘲笑我的痴心妄想 提交于 2021-01-08 08:57:58
介绍 easy-im是面向开发者的一款轻量级、开箱即用的即时通讯系统,帮助开发者快速搭建消息推送等功能。 基于easy-im,你可以快速实现以下功能: + 聊天软件 + IoT消息推送 基本用法 项目分为easy-im-client、easy-im-server、easy-im-common三个模块。 服务端: 执行mvn package后生成easy-im-server.tar.gz,解压后至./lib目录执行命令: java -jar -Dport=8888 easy-im-server-1.0-SNAPSHOT.jar,即可启动服务端,其中port是服务端口。 客户端: 执行mvn package后生成easy-im-client.tar.gz,解压后至./lib目录执行命令: java -jar -Duserid=110 -Dusername=zhangsan -Dhost=127.0.0.1 -Dport=8888 easy-im-client-1.0-SNAPSHOT.jar。 其中userid为用户id,username为用户名,host为服务端ip,port为服务端端口,其中userid要保持唯一性。 用法: 客户端启动后,在命令行输入命令,命令格式为 command::content ,命令以英文双冒号为分隔符,现已支持如下命令: + 单聊 sendToUser:

Zookeeper

╄→尐↘猪︶ㄣ 提交于 2021-01-07 08:27:26
157.zookeeper 是什么? ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。最终,将简单易用的接口和性能高效、功能稳定的系统提供给用户 zookeeper=文件系统+监听通知机制 原理概述   Zookeeper的核心是原子广播机制,这个机制保证了各个server之间的同步。实现这个机制的协议叫做Zab协议。Zab协议有两种模式,它们分别是 恢复模式 和 广播模式 。 (1) 恢复模式   当服务启动或者在领导者崩溃后,Zab就进入了恢复模式,当领导者被选举出来,且大多数server完成了和leader的状态同步以后,恢复模式就结束了。状态同步保证了leader和server具有相同的系统状态。 (2) 广播模式   一旦Leader已经和多数的Follower进行了状态同步后,他就可以开始广播消息了,即进入广播状态。这时候当一个Server加入ZooKeeper服务中,它会在恢复模式下启动,发现Leader,并和Leader进行状态同步。待到同步结束,它也参与消息广播。ZooKeeper服务一直维持在Broadcast状态,直到Leader崩溃了或者Leader失去了大部分的Followers支持。   Broadcast模式

kafka学习(四)kafka安装与命令行调用

大城市里の小女人 提交于 2021-01-07 08:05:14
一、 安装JDK    过程就不过多介绍了... 二、 安装Zookeeper    安装过程可以参考 此处~ 三、 安装并配置kafka Kafka下载地址 http://kafka.apache.org/downloads 解压文件(我的目录是E:\zhanghaoBF\kafka\kafka_2.11-2.3.0 【PS: 这里不要在Program Files等文件名之间有空格的目录下,不然一会执行会不识别路径 】 ) 打开目录E:\zhanghaoBF\kafka\kafka_2.11-2.3.0\config下server.properties文件,把log.dirs修改为【log.dirs=D:\kafka_2.12-0.11.0.0\kafka-logs】,把listeners的配置放开 四、 启动并测试kafka 启动ZK 启动kafka     进入kafka文件目录E:\zhanghaoBF\kafka\kafka_2.11-2.3.0,执行以下命令,启动kafka通讯的服务器broker .\bin\windows\kafka-server-start.bat .\config\server.properties 创建topic    进入kafka文件目录E:\zhanghaoBF\kafka\kafka_2.11-2.3.0,输入以下命令

Kafka安装之二 在CentOS 7上安装Kafka

落花浮王杯 提交于 2021-01-07 08:04:44
一、简介 Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。 对于像Hadoop的一样的日志数据和离线分析系统,但又要求实时处理的限制,这是一个可行的解决方案。Kafka的目的是通过Hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过集群来提供实时的消息.Kafka 支持Java 及多种其它语言客户端,可与Hadoop、Storm、Spark等其它大数据工具结合使用。 二、系统环境 1、操作系统:64位 CentOS 7 2、jdk版本:1.8.0 3、zookeeper版本:zookeeper-3.4.10.tar.gz 4、三台服务器:192.168.1.91; 192.168.1.92; 192.168.1.93; 三、下载安装Kafka 进入 kafka 官方网站下载kafka 地址: https://www.apache.org/dyn/closer.cgi?path=/kafka/1.1.0/kafka-1.1.0-src.tgz

dubbo实现示例

爱⌒轻易说出口 提交于 2021-01-07 08:00:37
创建 MAVEN项目 项目结构: 在项目 pom.xml中添加依赖 <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>3.4.9</version> </dependency> <!-- dubbo --> <dependency> <groupId>com.alibaba</groupId> <artifactId>dubbo</artifactId> <version>2.5.3</version> <exclusions> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>com.101tec</groupId> <artifactId>zkclient</artifactId> <version>0.10</version> </dependency> 主要分三大模块: dubbo-api : 存放公共接口; dubbo-consumer : 调用远程服务; dubbo-provider :

Kafka学习之二 Kafka安装和使用

对着背影说爱祢 提交于 2021-01-07 07:56:27
部署环境Linux(Centos 6.5),JDK 1.8.0,zookeeper-3.4.12,kafka_2.11-2.0.0。 1. 单机环境 官方建议使用JDK 1.8版本,因此本文使用的环境都是JDK1.8。如果小于1.8版本,请看我的博客:https://www.cnblogs.com/xuejiale/p/10504845.html 将环境的JDK更新到1.8版本。(PS:我开始使用机器默认安装的JDK 1.7,在启动kafka时会报错)。 由于Kafka依赖zookeeper,kafka通过zookeeper实现分布式系统的协调,所以我们需要先安装zookeeper。下面开始安装zookeeper: (1)安装zookeeper 1)下载zookeeper并解压 下载地址:https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/stable/,我下载的是 zookeeper-3.4.12.tar.gz 2)创建zookeeper配置文件 在zookeeper解压后的目录下找到conf文件夹,进入后,复制文件zoo_sample.cfg,并命名为zoo.cfg。zoo.cfg中一共四个配置项,可以使用默认配置。注意配置文件里面有一个dataDir可以修改成你自己的目录。 3)启动 zookeeper

Dubbo-go 源码笔记(一)Server 端开启服务过程

南楼画角 提交于 2021-01-07 05:00:45
简介: 随着微服务架构的流行,许多高性能 rpc 框架应运而生,由阿里开源的 dubbo 框架 go 语言版本的 dubbo-go 也成为了众多开发者不错的选择。本文将介绍 dubbo-go 框架的基本使用方法,以及从 export 调用链的角度进行 server 端源码导读,希望能引导读者进一步认识这款框架。 作者 | 李志信 dubbo-go 源码 : https://github.com/apache/dubbo-go 导读 :随着微服务架构的流行,许多高性能 rpc 框架应运而生,由阿里开源的 dubbo 框架 go 语言版本的 dubbo-go 也成为了众多开发者不错的选择。本文将介绍 dubbo-go 框架的基本使用方法,以及从 export 调用链的角度进行 server 端源码导读,希望能引导读者进一步认识这款框架。下周将发表本文的姊妹篇:《从 client 端源码导读 dubbo-go 框架》。 当拿到一款框架之后,一种不错的源码阅读方式大致如下:从运行最基础的 helloworld demo 源码开始 —> 再查看配置文件 —> 开启各种依赖服务(比如zk、consul) —> 开启服务端 —> 再到通过 client 调用服务端 —> 打印完整请求日志和回包。调用成功之后,再根据框架的设计模型,从配置文件解析开始,自顶向下递阅读整个框架的调用栈。 对于 C/S

从构建分布式秒杀系统聊聊分布式锁

爷,独闯天下 提交于 2021-01-07 04:30:00
前言 最近懒成一坨屎,学不动系列一波接一波,大多还都是底层原理相关的。上周末抽时间重读了周志明大湿的 JVM 高效并发部分,每读一遍都有不同的感悟。路漫漫,借此,把前段时间搞着玩的秒杀案例中的分布式锁深入了解一下。 案例介绍 在尝试了解分布式锁之前,大家可以想象一下,什么场景下会使用分布式锁? 单机应用架构中,秒杀案例使用ReentrantLcok或者synchronized来达到秒杀商品互斥的目的。然而在分布式系统中,会存在多台机器并行去实现同一个功能。也就是说,在多进程中,如果还使用以上JDK提供的进程锁,来并发访问数据库资源就可能会出现商品超卖的情况。因此,需要我们来实现自己的分布式锁。 实现一个分布式锁应该具备的特性: 高可用、高性能的获取锁与释放锁 在分布式系统环境下,一个方法或者变量同一时间只能被一个线程操作 具备锁失效机制,网络中断或宕机无法释放锁时,锁必须被删除,防止死锁 具备阻塞锁特性,即没有获取到锁,则继续等待获取锁 具备非阻塞锁特性,即没有获取到锁,则直接返回获取锁失败 具备可重入特性,一个线程中可以多次获取同一把锁,比如一个线程在执行一个带锁的方法,该方法中又调用了另一个需要相同锁的方法,则该线程可以直接执行调用的方法,而无需重新获得锁 在之前的秒杀案例中,我们曾介绍过关于分布式锁几种实现方式: 基于数据库实现分布式锁 基于 Redis 实现分布式锁 基于