安装etcd

栏目: 后端 · 发布时间: 7年前

内容简介:从

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/

安装etcd

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

思考的技术

思考的技术

[日]大前研一 / 刘锦秀、谢育容 / 中信出版社 / 2010-11 / 32.00元

思路决定出路,没有了思路,也就没有了出路。 在充满危机与冒险的当下,我们缺乏的不是技巧而是揭发事务本质的动力和好奇心,缺少怀疑一切的心态和对固有模式的怠惰。 大前研一凭借他30多年的管理咨询经验,为我们提供了一种全新的可借鉴的思考方式。 企业和个人惟有改变既有的思考模式,放弃对过去成功经验的迷恋,学习有创意的思考方法,方能找到正确的经营思路。一起来看看 《思考的技术》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

SHA 加密
SHA 加密

SHA 加密工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具