内容简介:从
etcd
是一个 golang
编写的分布式、高可用的一致性键值存储系统,用于提供可靠的分布式键值(key-value)存储、配置共享和服务发现等功能。 etcd
可以用于存储关键数据和实现分布式调度,在现代化的集群运行中能够起到关键性的作用。
etcd
基于 raft
协议,通过复制日志文件的方式来保证数据的强一致性。在 etcd
之前,常用的是基于 paxos
协议的 zookeeper
。
安装etcd
CentOS
yum install -y etcd
启动
# 设置开机自启动 $ sudo systemctl enable etcd # 启动etcd $ sudo systemctl start etcd # 查看etcd运行状态 $ sudo systemctl status etcd ● etcd.service - Etcd Server Loaded: loaded (/usr/lib/systemd/system/etcd.service; disabled; vendor preset: disabled) Active: active (running) since 二 2019-06-18 19:36:16 CST; 3s ago Main PID: 3188591 (etcd) Tasks: 33 Memory: 12.9M CGroup: /system.slice/etcd.service └─3188591 /usr/bin/etcd --name=default --data-dir=/var/lib/etcd/default.etcd --listen-client-urls=http://localhost:2379 6月 18 19:36:16 103-18-41-sh-100-D10.yidian.com etcd[3188591]: 8e9e05c52164694d received MsgVoteResp from 8e9e05c52164694d at term 2 6月 18 19:36:16 103-18-41-sh-100-D10.yidian.com etcd[3188591]: 8e9e05c52164694d became leader at term 2 6月 18 19:36:16 103-18-41-sh-100-D10.yidian.com etcd[3188591]: raft.node: 8e9e05c52164694d elected leader 8e9e05c52164694d at term 2 6月 18 19:36:16 103-18-41-sh-100-D10.yidian.com etcd[3188591]: setting up the initial cluster version to 3.3 6月 18 19:36:16 103-18-41-sh-100-D10.yidian.com etcd[3188591]: set the initial cluster version to 3.3 6月 18 19:36:16 103-18-41-sh-100-D10.yidian.com etcd[3188591]: enabled capabilities for version 3.3 6月 18 19:36:16 103-18-41-sh-100-D10.yidian.com etcd[3188591]: ready to serve client requests 6月 18 19:36:16 103-18-41-sh-100-D10.yidian.com etcd[3188591]: published {Name:default ClientURLs:[http://localhost:2379]} to cluster cdf818194e3a8c32 6月 18 19:36:16 103-18-41-sh-100-D10.yidian.com systemd[1]: Started Etcd Server. 6月 18 19:36:16 103-18-41-sh-100-D10.yidian.com etcd[3188591]: serving insecure client requests on 127.0.0.1:2379, this is strongly discouraged!
systemd配置
从 systemctl status etcd
命令的输出可以看到,etcd的 systemd配置文件位于 /usr/lib/systemd/system/etcd.service
,该配置文件的内容如下:
$ cat /usr/lib/systemd/system/etcd.service [Unit] Description=Etcd Server After=network.target After=network-online.target Wants=network-online.target [Service] Type=notify WorkingDirectory=/var/lib/etcd/ EnvironmentFile=-/etc/etcd/etcd.conf User=etcd # set GOMAXPROCS to number of processors ExecStart=/bin/bash -c "GOMAXPROCS=$(nproc) /usr/bin/etcd --name=\"${ETCD_NAME}\" --data-dir=\"${ETCD_DATA_DIR}\" --listen-client-urls=\"${ETCD_LISTEN_CLIENT_URLS}\"" Restart=on-failure LimitNOFILE=65536 [Install] WantedBy=multi-user.target
从上面的配置中可以看到,etcd的配置文件位于 /etc/etcd/etcd.conf
,如果我们想要修改某些配置项,可以编辑该文件。
MacOS
brew install etcd
etcdctl
etcdctl 是官方提供的客户端程序。我们可以通过 etcdctl 相关命令实现如下操作:
1. 添加key-value并设置ttl
$ etcdctl set --ttl 5 key 'Hello World' Hello World $ etcdctl get key Hello World $ etcdctl get key Error: 100: Key not found (/key) [7]
2.添加key-value
$ etcdctl set key 'Hello World' Hello World $ etcdctl update key 'Hello World2' Hello World2
3.获取key-value
$ etcdctl get key Hello World2
4.删除key-value
$ etcdctl rm key PrevNode.Value: Hello World2 $ etcdctl get key Error: 100: Key not found (/key) [10]
安装etcd webui
记得启动Etcd服务。
先安装node,git环境,然后clone。
安装node可以到 http://nodejs.cn/download/ 下载对应的 node 版本,之后双击安装即可。
git clone https://github.com/henszey/etcd-browser.git cd etcd-browser/ vim server.js
编辑server.js,修改内容如下:
var etcdHost = process.env.ETCD_HOST || '127.0.0.1'; # etcd 主机IP var etcdPort = process.env.ETCD_PORT || 4001; # etcd 主机端口 var serverPort = process.env.SERVER_PORT || 8000; # etcd-browser 监听端口
然后启动
node server.js
访问:http://127.0.0.1:8000/
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- Golang入门:从安装、部署以及GoLand的安装开始
- Win2016上安装SFB2015先决条件安装失败:RewriteModule
- mac:Go安装和配置+GoLand安装和使用之完整教程
- Pulsar本地单机(伪)集群 (裸机安装与docker方式安装) 2.2.0
- 如何将Rancher 2.1.x 从单节点安装迁移到高可用安装
- (教科书式教程!)在VMware Workstation 14 上安装CentOS 7 【送安装包】
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
渐进增强的Web设计
[美] Todd Parker、[英] Patty Toland、[英] Scott Jehl、[法] Maggie Costello Wachs / 牛化成 / 人民邮电出版社 / 2014-1 / 69.00
本书由全球著名Web设计公司Filament集团两位创始人和两位开发主力联手打造,其中Scott Jehl还是jQuery团队成员。四位作者具有多年的网站设计和开发经验,曾为网站、无线设备、Web应用设计过众多高度实用的用户界面,受到了高度赞扬。本书展示了如何利用渐进增强方法开发网站,从而获得最佳用户体验。本书既是理解渐进增强原则和益处的实用指南,也用详细的案例分析,目的是向设计师以及开发人员传授......一起来看看 《渐进增强的Web设计》 这本书的介绍吧!