1.环境准备

  使用CentOS7+Docker+Zookeeper3.4.10搭建dubbo微服务

1.1.安装docker容器

  (1).uname -r:docker要求CentOS的内核版本高于3.10,所以推荐使用CentOS7及以上版本。可以通过命令uname -r查看系统的内核版本

  

  

  (2).sudo yum update:确保yum包更新到最新

  

  (3).subo yum install docker-ce-17.12.0.ce:安装docker

  这种安装方式直接从centos中拉取,如果网络不好,很难拉取下来。那么可以通过设置安装源的方式从指定的位置下载

  例如:sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo。如果本地以及安装了docker,如果需要安装最新的docker,需要把原有的删掉,否则安装不上,删除旧版本命令:sudo yum remove docker  docker-common docker-selinux docker-engine。

  

  (4).sudo systemctl start docker:启动docker

  启动后,建议设置开机自启docker:sudo systemctl enable docker,并通过命令docker version验证docker是否安装成功,如果出现以下界面,就安装成功

  

 1.2.安装zookeeper

  zookeeper主要用作服务中心,而dubbo官网最新的demo对zk的版本有要求,我试过最新的zk,是不兼容dubbo官网的demo的,所以我下载了zk3.4.10

  

  (1).docker pull zookeeper:3.4.10:拉取zk

  这里也可能存在无法拉取下来的,有2种方式解决,

  a.自己下载一个zk,然后上传到centos上,再安装。

  b.设置zk的源

 

  (2).安装zk

  因为一个一个地启动 ZK 太麻烦了, 所以为了方便起见, 我直接使用 docker-compose 来启动 ZK 集群.在user/local下创建docker/zookeeper目录,然后创建一个名为 docker-compose.yml 的文件, 其内容如下:

  

  查看刚刚拉取的zk镜像,并启动

  

  

  这里docker-compose命令可能没有,那么需要安装:

  利用pip安装:

    1.安装pip:

      yum -y install epel-release
      yum -y install python-pip

    2.安装docker-compose

      pip install docker-compose

 

  (3).docker ps:查看docker容器中启动的zk

  

  zookeeper端口号说明:
  2181:客户端连接zookeeper集群使用的监听端口号
  3888:选择leader使用
  2888:集群内机器通讯使用(leader和follower之间数据同步使用的端口号,leader监听此端口)

  

  (4).查看docker的运行状态

  

  *主从节点是通过zk的选举机制选定的,这里2183的zNode设置的最大,所以被选为主节点是意料之中。

  状态和上述图片一致,就证明启动成功了。如果没有启动成功,需要手动设置配置文件,第一次安装zk,存在配置文件不会自动创建的情形,可以进入docker容器,查看zk的配置文件是否存在缺失

  

  docker中很多命令需要安装,否则没法使用。所以需要更新源apt-get update,但是docker的内核采用的是debian,服务器不在中国,基本上无法更新成功,那么这里就需要修改源,这里列举2个源,目前还能用:具体操作

  先要更新系统的软件源:
  sudo cp /etc/apt/sources.list /etc/apt/sources.list_bak #备份一下软件源
  sudo vi /etc/apt/sources.list(这列vi可能也没法用,可以使用cat > << EOF强制写入,记得备份)

  网易163更新服务器:
  deb http://mirrors.163.com/debian/ squeeze main non-free contrib
  deb http://mirrors.163.com/debian/ squeeze-proposed-updates main non-free contrib
  deb-src http://mirrors.163.com/debian/ squeeze main non-free contrib
  deb-src http://mirrors.163.com/debian/ squeeze-proposed-updates main non-free contrib

  sohu 更新服务器:
  deb http://mirrors.sohu.com/debian/ lenny main non-free contrib
  deb http://mirrors.sohu.com/debian/ lenny-proposed-updates main non-free contrib
  deb-src http://mirrors.sohu.com/debian/ lenny main non-free contrib
  deb-src http://mirrors.sohu.com/debian/ lenny-proposed-updates main non-free contrib

2.使用dubbo-admin控制台

  进入dubbo官网:http://dubbo.apache.org/zh-cn/docs/user/quick-start.html

  安装官网文档,下载并启动dubbo-admin:

  这个地方,dubbo-admin仓库很难下载,花了一周,把所有的jar包下下来了,我已经上传至百度云,欢迎下载

  链接:https://pan.baidu.com/s/1-JnuKgpMk3qRL-61oEF0xg
  提取码:o1bh

  在dos下启动,如下图,启动成功

访问控制台:

Java微服务(一):dubbo-admin控制台的使用的更多相关文章

  1. 微服务框架Dubbo与Springcloud的区别

    微服务框架Dubbo与Springcloud的区别 微服务主要的优势如下: 1.降低复杂度 将原来偶合在一起的复杂业务拆分为单个服务,规避了原本复杂度无止境的积累.每一个微服务专注于单一功能,并通过定 ...

  2. Java微服务(二):服务消费者与提供者搭建

    本文接着上一篇写的<Java微服务(一):dubbo-admin控制台的使用>,上篇文章介绍了docker,zookeeper环境的安装,并参考dubbo官网演示了dubbo-admin控 ...

  3. Java微服务(二):负载均衡、序列化、熔断

    本文接着上一篇写的<Java微服务(二):服务消费者与提供者搭建>,上一篇文章主要讲述了消费者与服务者的搭建与简单的实现.其中重点需要注意配置文件中的几个坑. 本章节介绍一些零散的内容:服 ...

  4. 多云架构下,JAVA微服务技术选型实例解析

    [摘要] 本文介绍了基于开源自建和适配云厂商开发框架两种构建多云架构的思路,以及这些思路的优缺点. 微服务生态 微服务生态本质上是一种微服务架构模式的实现,包括微服务开发SDK,以及微服务基础设施. ...

  5. 从成本角度看Java微服务

    近年来,微服务因其良好的灵活性和伸缩性等特点备受追捧,很多公司开始采用微服务架构或将已有的单体系统改造成微服务.IBM也于近日开源了轻量级Java微服务应用服务器 Open Liberty .但是采用 ...

  6. Java微服务对UTC时间格式的处理

    一.背景 先说一下为什么要使用UTC时间.开发一个全球化的系统,服务端(Java微服务)集中部署在同一个地方,用户在全球通过浏览器.手机客户端访问.不同地区的时区是不一样的,同一个时间戳,不同的用户看 ...

  7. Java微服务框架一览

    引言:本文首先简单介绍了微服务的概念以及使用微服务所能带来的优势,然后结合实例介绍了几个常见的Java微服务框架. 微服务在开发领域的应用越来越广泛,因为开发人员致力于创建更大.更复杂的应用程序,而这 ...

  8. 现如今,最热门的13个Java微服务框架

    曾经的 服务器领域 有许多不同的芯片架构???有哪些芯片架构???和操作系统???,经过长期发展,Java的“一次编译,到处运行”使得它在服务器领域找到一席之地,成为程序员们的最爱. 本文,我们将和大 ...

  9. Java微服务 vs Go微服务,究竟谁更强!?

    前言 Java微服务能像Go微服务一样快吗? 这是我最近一直在思索地一个问题. 去年8月份的the Oracle Groundbreakers Tour 2020 LATAM大会上,Mark Nels ...

随机推荐

  1. 对于HTTP过程中POST内容加密的解决方案

    0x00前言 前几天我师傅和我提及了这件事情 正常情况下 抓包过程中遇到加密情况会很迷茫 昨天把这个都弄了一下 也感谢大佬中间的指导 我一开始看到密码的类型下意识的是base64 但是去解密发现不对 ...

  2. Hexo结合github制作博客

    https://blog.csdn.net/Hoshea_chx/article/details/78826689 hexo(themes) vuePress jekylly

  3. .net持续集成测试篇之Nunit that断言

    系列目录 that是Nunit的新语法,语义上不如简单断言,使用上也更加复杂,但是其功能更加强大. 其基本语法如下代码片段示: [Test] public void DemoTest() { bool ...

  4. Linux基础进程管理

    一.进程 了解如进程的: • PID,PPID • 当前的进程状态 • 内存的分配情况 • CPU和已花费的实际时间 • 用户UID,他决定进程的特权 (一).静态查看进程 # ps axu | le ...

  5. SpringMVC学习笔记之---简单入门

    SpringMVC简单入门 (一)什么是MVC设计模式 (1)model:模型数据,业务逻辑 (3)view:呈现模型,与用户进行交互 (3)controller:负责接收并处理请求,响应客户端 (二 ...

  6. web面试

    什么是面向对象? 程序中的事物都是用对象结构来描述的,所有的程序都是用面向对象的思想,管理数据和功能的. 面向对象三大特点:封装 继承 多态 什么是封装? 创建一个对象结构,用来保存一个事物的属性和方 ...

  7. iOS项目之多Targets和多环境配置

    项目中使用的同一套代码,但需要开发多个app,app中内容基本上相同,只有一些小小的区别,例如名称等等,每个app中又需要分开发环境(Dev).测试环境(Test).正式环境(Pro). 下面就开始搭 ...

  8. HashMap与ConcurrentHashMap在Java8的改进

    链接:http://www.cnblogs.com/huaizuo/archive/2016/04/20/5413069.html#undefined http://www.cnblogs.com/h ...

  9. mysql根据逗号将一行数据拆分成多行数据

    mysql根据逗号将一行数据拆分成多行数据 原始数据 处理结果展示 DDL CREATE TABLE `company` ( `id` ) DEFAULT NULL, `name` ) DEFAULT ...

  10. Django-内置用户系统

    Django自带的用户认证 我们在开发一个网站的时候,无可避免的需要设计实现网站的用户系统.此时我们需要实现包括 1.用户注册 2.用户登录 3.用户认证 4.注销 5.修改密码 Django作为一个 ...