腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
返回腾讯云官网
蓝天
专栏作者
举报
526
文章
828800
阅读量
41
订阅数
订阅专栏
申请加入专栏
全部文章
其他
linux
编程算法
云数据库 Redis
https
人工智能
c++
shell
unix
http
安全
hadoop
node.js
云数据库 SQL Server
bash
打包
网络安全
java
javascript
github
apache
存储
grep
html
分布式
rpc
gcc
git
开源
ssh
windows
.net
数据库
bash 指令
zookeeper
kernel
大数据
c#
sql
正则表达式
udp
json
汇编语言
api
容器
缓存
hbase
nat
进程
php
lua
xml
ide
jdk
erp
dns
tcp/ip
ps
go
access
maven
ubuntu
容器镜像服务
运维
数据迁移
面向对象编程
ftp
数据分析
awk
free
glibc
ip
malloc
service
session
变量
函数
脚本
状态机
c 语言
python
ruby
bootstrap
jquery
makefile
oracle
nosql
mvc
ruby on rails
eclipse
svn
jar
nginx
apt-get
spring
命令行工具
TDSQL MySQL 版
全站加速网络
知识图谱
云推荐引擎
yarn
kubernetes
自动化
压力测试
html5
jvm
yum
jdbc
ntp
微信
数据结构
系统架构
架构设计
kafka
迁移
raft
flink
agent
cmd
directory
dispatcher
eval
file
fork
md5
pdf
pid
rss
send
sizeof
sleep
substr
thrift
volatile
编译器
程序
磁盘
代码质量
后台开发
集群
架构师
内核
软件
设计
系统
线程池
协议
性能
用户体验
优化
重构
搜索文章
搜索
搜索
关闭
Raft协议学习笔记
raft
编程算法
分布式
云数据库 Redis
zookeeper
常见的一致性协议主要有:PaxOS、Raft、ZAB、PacificA等。同PaxOS,Raft也不考虑拜占庭将军问题(Byzantine failures,注:比特币采用工作量证明PoW和股权证明PoS解决了拜占庭将军问题)。
一见
2019-03-14
1K
0
Zookeeper C++编程实战之配置更新
zookeeper
CZookeeperHelper: https://github.com/eyjian/libmooon/blob/master/include/mooon/net/zookeeper_helper.h CMainHelper: https://github.com/eyjian/libmooon/blob/master/include/mooon/sys/main_template.h
一见
2018-12-13
1.3K
0
Hadoop(HDFS、YARN、HBase、Hive和Spark等)默认端口表
node.js
http
https
zookeeper
网络安全
端口 作用 9000 fs.defaultFS,如:hdfs://172.25.40.171:9000 9001 dfs.namenode.rpc-address,DataNode会连接这个端口 50070 dfs.namenode.http-address 50470 dfs.namenode.https-address 50100 dfs.namenode.backup.address 50105 dfs.namenode.backup.http-address 50090 dfs.namenode.s
一见
2018-08-10
4.2K
0
ZooKeeper-3.4.6分布式安装指南
zookeeper
分布式
linux
hadoop
介绍ZooKeeper-3.4.6版本的分布式安装,力求细致,提供精确的安装指导。本文的安装环境是64位的SuSE 10.1 Linux,也适用于ZooKeeper-3.4.8。
一见
2018-08-10
1.1K
0
简单的主备切换方案
zookeeper
主备切换是很多高可用性系统都必须解决的问题,方法有很多,象基于ZooKeeper的主备切换就是一个很好的选择。
一见
2018-08-07
2.9K
0
基于zookeeper的主备切换方法
zookeeper
https
github
人工智能
继承CZookeeperHelper即可快速实现主备切换: https://github.com/eyjian/mooon/blob/master/mooon/include/mooon/net/zookeeper_helper.h zookeeper的ZOO_EPHEMERAL节点(如果ZOO_EPHEMERAL满足不了需求,可以考虑和ZOO_SEQUENCE结合使用),在会话关闭或过期时,会自动删除,利用这一特性可以实现两个或多节点间的主备切换。 实现方法: 1)在进程启动时调用zookeeper_init()初始化: bool X::init_zookeeper() { // 第一次调用时_clientid总是为NULL, // 状态为ZOO_EXPIRED_SESSION_STATE时,需要重新调用zookeeper_init, // 这个时候可传入的_clientid为前一次zookeeper_init()产生的_clientid // 请注意zookeeper_init()是一个异步调用,返回非NULL并不表示会话建立成功, // 只有当zk_watcher中的type为ZOO_SESSION_EVENT和state为ZOO_CONNECTED_STATE时, // 才真正表示会话建立成功。 _zhandle = zookeeper_init(zk_hosts, zk_watcher, 5000, _clientid, this, 0); if (NULL == _zhandle) { MYLOG_ERROR("init zookeeper failed: %s\n", zerror(errno)); return false; } MYLOG_INFO("init zookeeper(%s) successfully\n", zk_hosts); return true; } 2)进入工作之前,先尝试切换成主,只有成功切换成主后才进入work bool X::run() { while (true) { int num_items = 0; // 备机最简单的方法是每隔一定时间,如1秒就尝试转成master, // 如果不使用轮询,则可以采用监视_zk_path的方式 mooon::sys::CUtils::millisleep(1000); // 如果不是master,则尝试转成master,如果转成不成功则继续下一次尝试 if (!is_master() && !change_to_master()) continue; do_work(); } } bool X::is_master() const { return _is_master; } bool X::change_to_master() { static uint64_t log_counter = 0; // 打log计数器,备状态时的日志输出 // ZOO_EPHEMERAL|ZOO_SEQUENCE // _myip为本地IP地址,可以通过它来判断当前谁是master // _zk_path值示例:/master/test,注意需要先保证/master已存在 int errcode = zoo_create(_zhandle, _zk_path.c_str(), _myip.c_str(), _myip.size()+1, &ZOO_OPEN_ACL_UNSAFE, ZOO_EPHEMERAL, NULL, 0); // (-4)connection loss,比如为zookeeper_init()指定了无效的hosts(一个有效的host也没有) if (errcode != ZOK) { _is_master = false; // 减少为备状态时的日志输出 if (0 == log_counter++ % 600) { MYLOG_DEBUG("become master[%s] failed: (%d)%s\n", _zk_path.c_str(), errcode, zerror(er
一见
2018-08-02
1.9K
0
没有更多了
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
立即发文
Python精品学习库
代码在线跑,知识轻松学
立即查看
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
立即体验
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
立即查看
领券
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档