Kafka数据复制与Failover

CAP理论 Consistency【一致性】 通过某个节点的写操作结果对后面通过其它节点的读操作可见 如果更新数据后,并发访问情况下可立即感知该更新,称为强一致性 如果允许之后部分或者全部感知不到该更新,称为弱一致性 若在之后的一段时间(通常该时间不固定)后,一定可以感知该更新,称为最终一致性 造成数据不一致:并发读写,或者通过不同节点去读写的时候 Availability【可用性】 任何一个没有发生故障的节点必须在有限的时间内返回合理的结果 Partition tolerance【分区容忍性
分类: 其他 发布时间: 02-28 23:51 阅读次数: 0

Kafka如何使用Zookeep

Zookeeper是什么 Zookeeper是一个高性能分布式应用协调服务 Naming Service【命名服务】 配置管理【分布式配置管理,或者集中式配置管理】 Leader Election 【领导选举】 服务发现 同步 Group Service Barrier【栅栏】 分布式队列【使用ZooKeeper不太好】 两阶段提交 ZooKeeper工作方式 Zookeeper集群包含1个Leader,多个Follower。 所有的Follower都可提供读服务 所有的写操作都会被forwa
分类: 其他 发布时间: 02-28 23:51 阅读次数: 0

Kafka Leader Election

Zookeeper的基本操作 四种节点类型 PERSIST【永久节点,会被永久化到磁盘当中,ZooKeeper重启之后这些节点还会继续存在】 PERSIST_SEQUENTIAL【顺序节点,例如:如果有一个节点,我们将它设置成该类型,那么多个客户端可以同时重建相同的节点,但是他会根据先后顺序会在后边加一个序列号,比如第一个创建的是/a/b-00001,第二个就是/a/b-00002】 EPHEMERAL【机器重启之后,这种类型的节点不会存在】 EPHEMERAL_SEQUENTIAL【与第二种
分类: 其他 发布时间: 02-28 23:50 阅读次数: 0

ZooKeeper简介说明

什么是ZooKeeper ZooKeeper是一个高效的分布式协调服务,它暴露了一些共用服务,比如:命名、配置管理、同步控制、群组服务等。我们可以使用ZooKeeper来实现比如:达成共识、集群管理、Leader选举等 ZooKeeper是一个高可用的分布式管理与协调框架,基于ZAB【paxos算法】协议(原子消息广播协议)的实现。该框架能够很好地保证分布式环境中数据的一致性【奇数台服务器,偶数也可以不过不利于paxos算法进行选举服务:从奇数个节点选取一个作为Leader,其他节点为foll
分类: 其他 发布时间: 02-28 23:50 阅读次数: 0

ZooKeeper集群环境搭建及客户端使用

ZooKeeper集群搭建(三台机器为例) 上传并解压到/usr/local目录下:tar -zxvf zookeeper-3.4.13.tar.gz -C /usr/local 重命名:mv zookeeper-3.4.13/ zookeeper 修改环境变量:vim /etc/profile export ZOOKEEPER_HOME=/usr/local/zookeeper export PATH=$PATH:$ZOOKEEPER_HOME/bin 刷新:source /etc/pro
分类: 其他 发布时间: 02-28 23:50 阅读次数: 0

ZooKeeper配置文件zoo.cfg详解

tickTime:基本事件单元,以毫秒为单位。这个时间是作为 Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每隔 tickTime时间就会发送一个心跳。 dataDir:存储内存中数据库快照的位置,顾名思义就是 Zookeeper 保存数据的目录,默认情况下,Zookeeper 将写数据的日志文件也保存在这个目录里。 clientPort:这个端口就是客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求。 init
分类: 其他 发布时间: 02-28 23:49 阅读次数: 0

ZooKeeper watch机制核心讲解

Watch ZooKeeper有watch时间,是一次性触发的【每次数据要发生变化之前都要手动创建watch】,当watch监视的数据发生时,通知设置了该watch的client,客户端即watcher。同样,其watcher是监听数据发送了某些变化,那就一定会有对应的事件类型和状态类型,一个客户端可以监控多个节点,在代码中体现在new了几个就产生几个watcher,只要节点变化都要执行一边process 事件类型:(znode节点相关的)【针对的是你所观察的一个节点而言的】 EventTyp
分类: 其他 发布时间: 02-28 23:49 阅读次数: 0

ZooKeeper安全认证

ZooKeeper的ACL(AUTH) 认证只是针对一个节点 ACL【Access Control List】,ZooKeeper作为一个分布式协调框架,其内部存储的都是一些关乎分布式系统运行时状态的元数据,尤其是涉及到一些分布式锁,Master选举和协调等应用场景。我们需要有效的保障ZooKeeper中的数据安全,ZooKeeper提供了三种模式。权限模式、授权对象、权限。 权限模式:Scheme,开发人员最多使用的如下四种权限模式: IP:IP模式通过IP地址粒度来进行控制权限,例如配置了
分类: 其他 发布时间: 02-28 23:49 阅读次数: 0

ZooKeeper的zkClient API 讲解

zkClient使用 zkClient是Datameer的工程师StefanGroschupf和Peter Voss一起开发的。在原生API的基础上进行了封装,简化了ZooKeeper的复杂性 创建客户端方法:ZKClient(Arguments) 参数1:zkServers ZooKeeper 服务器的地址,使用“,”分隔 参数2:sessionTimeout 超时会话,为毫秒,默认为30 000ms 参数3:connectionTimeout 连接超时会话 参数4:IZKConnectio
分类: 其他 发布时间: 02-28 23:48 阅读次数: 0

ZooKeeper的zkClientListener 讲解

问题: 我们发现在zkClient中并没有类似watcher,watch参数,这也就是说我们开发人员无需关心反复注册watcher的问题,zkClient给我们提供了一套监听方式,我们可以使用监听节点的方式进行操作,剔除了繁琐的反复watcher操作,简化了胆码的复杂程度 subscribeChildChanges方法: 参数1:path路径 参数2:实现了IZKChildListener接口的类(如:实例化IZKChildListener类)只需要重写其handleChildChanges(
分类: 其他 发布时间: 02-28 23:48 阅读次数: 0

ZooKeeper的Paxos算法

Paxos Paxos 这个算法是Leslie Lamport在1990年提出的一种基于消息传递的一致性算法 Paxos 算法解决的问题是一个分布式系统如何就某个值(决议)达成一致。 part-time parliament Paxos Made Simple里这样描述Paxos算法执行过程: prepare 阶段: proposer【申请人】 选择一个提案编号 n 并将 prepare 请求发送给 acceptors【接收者】 中的一个多数派; acceptor 收到 prepare 消息后
分类: 其他 发布时间: 02-28 23:47 阅读次数: 0

kafka与其他消息队列对比

RabbitMQ:分布式,支持多种MQ协议,重量级 ActiveMQ:与RabbitMQ类似 ZeroMQ:以库的形式提供,使用复杂,无持久化 Redis:单机、纯内存性好,持久化较差 Kafka:分布式,消息不是使用完就丢失【较长时间持久化】,吞吐量高【高性能】,轻量灵活 ------------------------------------------------------------------- RabbitMQ 也是常见的消息对列,它支持多种MQ的协议,JMS,等多种协议等等,它
分类: 其他 发布时间: 02-28 23:47 阅读次数: 0

PyCharm使用Anaconda中的tensorflow

一 .粗略流程 File->setting->Project:项目名->Project Interpreter->add->Conda Environment->Existing environment->python.exe
分类: 其他 发布时间: 02-28 23:46 阅读次数: 0

Django安装mysqlclient

更新pip, easy_install -U pip 安装mysqlclient 安装下载好的mysqlclient-1.3.13-cp35-cp35m-win_amd64.whl https://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml
分类: 其他 发布时间: 02-28 23:46 阅读次数: 0

Django 对已存在的model进行更改

1.删除app下的migrations中的数据库操作的.py记录 2.删除数据库django_migrations中相应记录 3.python manage.py makemigrations yourappname 4. python manage.py migrate yourappname
分类: 其他 发布时间: 02-28 23:46 阅读次数: 0

《统计学习方法》第1章 统计学习方法概论 1.1 统计学习

《统计学习方法》第1章 统计学习方法概论 1.1 统计学习 1.统计学习的特点 2.统计学习的对象 3.统计学习的目的 4.统计学习的方法 5.统计学习的研究 6.统计学习的重要性 1.1 统计学习 1.统计学习的特点 统计学习: 计算机基于数据构建概率统计模型并运行模型对数据进行预测与分析的一门学科,也成为统计机器学习(statistical machine learning)。 主要特点:(1)与计算机及网络为平台;(2)以数据为研究对象,是数据驱动的学科;(3)目的是对数据进行预测与分析
分类: 其他 发布时间: 02-28 23:46 阅读次数: 0

《统计学习方法》第1章 统计学习方法概论 1.2 监督学习

《统计学习方法》第1章 统计学习方法概论 1.2 监督学习 1.2.1 基本概念 1.输入空间、特征空间与输出空间 2.联合概率分布 3.假设空间 1.2.2 问题的形式化 1.2 监督学习 监督学习的任务就是学习一个模型,使模型能够对任意给定的输入,对其相应的输出做出一个好的预测。 1.2.1 基本概念 1.输入空间、特征空间与输出空间 (1)输入空间和输出空间:输入与输出所有可能取值的集合分别成为输入空间(input space)和输出空间(output space)。输入和输出空间可以是
分类: 其他 发布时间: 02-28 23:45 阅读次数: 0

码云使用方法

码云使用方法 1.本地初始化一个项目 2.完成第一次提交 .gitignore总结 1.本地初始化一个项目 //git的基础配置,告诉git用户信息 git config --global user.name git config --global user.email //在需要初始化版本库的文件夹中执行以下命令 git init git remote add origin <项目地址> //注:项目地址形式为:http://gitee.com/xxx/xxx.git 或者 git@git
分类: 其他 发布时间: 02-28 23:45 阅读次数: 0

《统计学习方法》第1章 统计学习方法概论 1.3 统计学习的三要素

《统计学习方法》第1章 统计学习方法概论 1.3统计学习的三要素 1.3.1 模型 1.3.2 策略 1.损失函数和风险函数 1.3统计学习的三要素 方法=模型+策略+算法 1.3.1 模型 在监督学习中,模型就是所要学习的条件概率分布或决策函数。 (1)当假设空间定义为决策函数的集合时: (2)当假设空间定义为条件概率分布时: 1.3.2 策略 1.损失函数和风险函数 损失函数度量模型一次预测的好坏,风险函数度量平均意义下模型的好坏。 (1)损失函数 用损失函数(loss function)
分类: 其他 发布时间: 02-28 23:45 阅读次数: 0

《统计学习方法》第三章k近邻法

《统计学习方法》第三章 k近邻法 3.1 k近邻算法 k近邻模型 3.2.1 模型 3.2.2 距离度量 3.2.3 k值的选择 3.2.4 分类决策规则 3.3 k近邻法的实现:kd树 3.3.1 构造kd树 3.3.2 搜索kd树 k近邻法(k-nearest neighbor, k-NN)是一种基本的分类与回归方法。可以进行多类的分类。 k近邻法不具有显式的学习过程,利用训练数据集对特征向量空间进行划分。 三个基本要素:k值的选择、距离度量和分类决策规则。 3.1 k近邻算法 给定一个训
分类: 其他 发布时间: 02-28 23:44 阅读次数: 0