内容简介:从
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 【送安装包】
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Professional JavaScript for Web Developers
Nicholas C. Zakas / Wrox / 2009-1-14 / USD 49.99
This eagerly anticipated update to the breakout book on JavaScript offers you an in-depth look at the numerous advances to the techniques and technology of the JavaScript language. You'll see why Java......一起来看看 《Professional JavaScript for Web Developers》 这本书的介绍吧!
Markdown 在线编辑器
Markdown 在线编辑器
html转js在线工具
html转js在线工具