CentOS install etcd 测试
来源:互联网 发布:基于相片三维重建软件 编辑:程序博客网 时间:2024/06/10 07:51
1,关于etcd
etcd是一个类似于zookeeper的,服务发现工具。
参考简介:
http://dockone.io/article/667
https://coreos.com/blog/performance-of-etcd.html
etcd性能对比:
2,搭建环境
在linux 下面:安装最新的3.1.1
https://github.com/coreos/etcd/releases/download/v3.1.1/etcd-v3.1.1-linux-amd64.tar.gz
解压缩。直接启动。
./etcd version
./etcd
我使用的是virtualbox安装的,因为是虚拟机。所以使用了NAT的网络。远程访问做了一个端口转发。
同时启动一个etcd需要绑定到ip 10.0.2.15 ,默认启动之后是绑定到了127.0.0.1这个ip。
./etcd --name test-etcd --advertise-client-urls http://10.0.2.15:2379 --listen-client-urls http://10.0.2.15:2379
不知道为啥要使用两次命令,没有直接叫 addr 的参数。
etcd 目前默认使用 2379 端口提供 HTTP API 服务,2380 端口和 peer 通信。
3,使用java客户端连接
https://github.com/coreos/jetcd
下载lib库。依赖google的 grpc,protobuf。
maven 下载比较慢,可以使用ali的镜像。
java代码:
import com.coreos.jetcd.EtcdClient;import com.coreos.jetcd.EtcdClientBuilder;import com.coreos.jetcd.EtcdKV;import com.coreos.jetcd.api.KeyValue;import com.coreos.jetcd.api.RangeResponse;import com.coreos.jetcd.exception.AuthFailedException;import com.coreos.jetcd.exception.ConnectException;import com.google.common.util.concurrent.ListenableFuture;import com.google.protobuf.ByteString;import java.io.UnsupportedEncodingException;import java.util.List;import java.util.concurrent.ExecutionException;/** */public class TestJetcd { public static void main(String[] args) throws ExecutionException, InterruptedException, UnsupportedEncodingException, AuthFailedException, ConnectException { EtcdClient client = EtcdClientBuilder.newBuilder().endpoints("http://localhost:2379").build(); EtcdKV kvClient = client.getKVClient(); System.out.println(kvClient); ByteString key = ByteString.copyFrom("test_key", "UTF-8"); ByteString value = ByteString.copyFrom("test_value", "UTF-8");// System.out.println(kvClient.get(key).get()); // put the key-value kvClient.put(key, value).get(); // List<KeyValue> list = kvClient.get(key).get().getKvsList(); //循环显示所有数据。 for (KeyValue keyValue : list) { //转换成utf-8 项目。 String tmpKey = keyValue.getKey().toStringUtf8(); System.out.println("key : " + tmpKey); String tmpVal = keyValue.getValue().toStringUtf8(); System.out.println("value : " + tmpVal); System.out.println("version : " + keyValue.getVersion()); } // delete the key //kvClient.delete(key).get(); }}
4,报错
Exception in thread "main" java.util.concurrent.ExecutionException: io.grpc.StatusRuntimeException: UNAVAILABLE at com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:476) at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:455)
有的时候会这样报错。就得检查下etcd服务启动没有。
看看virtualbox的端口通不通。
或者直接用http访问就行。
http://127.0.0.1:2379/version
就是一个http调用。
其他命令参考:
http://cizixs.com/2016/08/02/intro-to-etcd
这个哥们写的挺全的。
5,总结
本文的原文连接是: http://blog.csdn.net/freewebsys/article/details/56276386 未经博主允许不得转载。
博主地址是:http://blog.csdn.net/freewebsys
etcd 的性能还是非常的强悍的。
java的客户端使用的是grpc进行通信的。
- CentOS install etcd 测试
- centos下 etcd 简单使用
- Etcd 集群稳定性测试记录
- install centos
- install centos
- Centos Install
- ETCD
- etcd
- etcd
- etcd
- [Kubernetes] CentOS 7 Etcd 集群部署教程
- CentOS service install
- install qpidd on centos
- centos install ruby 1.9
- centos install vmtools
- Centos 6 install phpmyadmin
- Centos Install SonaType Nexus
- centos install lamp
- MYSQL数据库设计规范与原则
- Intellij IDEA 快捷键(windows)
- 初步使用OllyDbg感想
- Java监听器
- Ubuntu 14.04 搜狗输入法切换快捷键无效的解决方案
- CentOS install etcd 测试
- MAC微信小视频和图片等在本地保存位置地址
- #import <libxml/HTMLparser.h> 出错
- SQL SERVER安装教程
- Selenium3.0 文档——selenium.webdriver.common.alert
- javascript懒惰加载
- ADAS辅助驾驶_自动驾驶_技术点列表
- 算法训练 排序
- 浏览器中输入URL后发生了什么