Liu-Cheng Xu

温故知新

使用 Shell 脚本进行 Hadoop Spark 集群的批量安装

虽然有一些自动化安装的工具,但是功能越多,越专业的工具,可能也需要越高的学习成本,而我们并非专业运维,但是又必须做这些事情的话,不妨选择用 Shell 脚本来完成集群的安装。当然了,现在也有很多使用 docker 的做法,安装与部署也非常方便。整个过程其实很简单,就是对安装过程中的一些手动操作使用...

2017-08-30 21:52:49

阅读数:515

评论数:0

可移植的 Makefile 教程

在我写 Makefile 的头 10 年里,我养成了一个非常不好的习惯 – 完全严格使用 GNU Make 的扩展名。过去我并不知道, GNU Make 与 POSIX 所保证的可移植特性之间的区别与联系。通常情况,它并不十分重要,但是当在非 Linux 系统上进行构建时,比如在各种 BSD ...

2017-08-23 19:21:03

阅读数:362

评论数:0

Tendermint: 共识概览

Tendermint 是一个易于理解,大部分操作为异步的 BFT 共识协议。下图是一个简单的状态机,它展示了协议遵循的规则:协议中的参与者叫着 “验证人”(validator)。他们轮流对交易区块进行提议,并对这些区块进行投票。区块会被提交到链上,每一个块占据一个“高度”(height)。提交块可...

2017-08-15 19:20:27

阅读数:4224

评论数:0

编译器入门

编译器(compiler)就是一个翻译其他程序的程序而已。传统的编译器将源代码翻译为计算机能够理解的可执行机器代码(有一些编译器将源代码翻译为另一种编程语言。这些编译器叫做从源码到源码的翻译器,source-to-source translators or transpilers)。LLVM 是一...

2017-08-14 22:21:46

阅读数:4424

评论数:0

Tendermint: 什么是 ABCI (应用区块链接口)

区块链应用接口(Application BlockChain Interface,ABCI)允许应用的拜占庭容错复制可以由任意一种编程语言编写。Motivation至今为止,所有的区块链“栈”(比如,比特币)都有着大一统的设计。这就是说,每个区块链栈都是一个单一的程序,这个程序处理了去中心化账本的...

2017-08-13 15:01:48

阅读数:2016

评论数:0

设置 jupyter notebook 可远程访问

首先是要 安装 Anaconda 。默认情况下,安装好 Anaconda 后打开 jupyter notebook, 访问本地 localhost:8888 即可。但是如果要访问另一台机器,比如远端服务器上的 notebook, 即默认是不支持 172.104.105.119:8888 这样的...

2017-08-09 17:08:08

阅读数:8091

评论数:0

Tendermint 与其他技术的比较

Tendermint 大体上与两类软件很类似。第一类包含了分布式的键值存储,比如 Zookeeper,etcd 和 consul,它们都使用了非拜占庭容错共识。第二类就是 “区块链技术”,它既包括了像比特币和以太坊这样的加密货币,也包括了像 Hyperledger Burrow 这样的分布式账本设...

2017-08-07 09:52:05

阅读数:592

评论数:0

什么是 Tendermint?

Tenermint 是一个软件,用于在多台机器安全一致地复制一个应用。所谓安全,指的是即使有多达 1/3 的机器出现任意故障的情况下, Tendermint 仍然能够正常工作。所谓一致,指的是每一个正常工作的机器都会有着同样的交易日志,计算相同的状态。安全一致的复制是分布式系统中一个至关重要的问题...

2017-08-06 18:13:05

阅读数:1779

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭