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. HTML 第5章CSS3美化网页元素

    <span>标签: <span>标签是用来组合HTML文档中的行内元素,它没有固定的格式表示. 字体样式: 属性名                               ...

  2. Java基础的一些知识点(一):接口interface

    1.接口的含义 接口可以理解成统一的协议, 而接口中的属性也属于协议中的内容.但是接口的属性都是公共的,静态的,最终的. 接口的成员特点: 1.成员变量只能是常量,默认修饰符 public stati ...

  3. 如何搭建环境---初识mybatis

    一:mybatis概念1:简介       MyBatis本是apache的一个开源项目iBatis,2010年改名为 MyBatis,       MyBatis 是一个基于Java的持久层框架.( ...

  4. 简单设计企业级JOB平台

    前言 在企业级项目中有许多能够用到定时任务的场景例如: 在某个时间点统一给某些用户发送邮件信息 接口表数据发送 某月某日更新报表数据 ...... 目前我们使用SpringBoot快速整合Quartz ...

  5. 8.15 day33 进程池与线程池_协程_IO模型(了解)

    进程池和线程池 开进程开线程都需要消耗资源,只不过两者比较的情况线程消耗的资源比较少 在计算机能够承受范围之内最大限度的利用计算机 什么是池? ​ 在保证计算机硬件安全的情况下最大限度地利用计算机 ​ ...

  6. c语言实现基本的数据结构(一) 线性表

    #include <stdio.h> #include <tchar.h> #include <stdlib.h> #define LIST_INIT_SIZE 1 ...

  7. Elasticsearch6.x和7.x版本常用插件汇总

    elasticsearch插件汇总 基于es 7.3版本试用. 一.安全插件 1.x-pack a.介绍 包括安全(x-pack-security),监视(x-pack-watcher),警报(x-p ...

  8. 分布式系统的一致性级别划分及Zookeeper一致性级别分析

    最近在研究分布式系统的一些理论概念,例如关于分布式系统一致性的讨论,看了一些文章我有一些不解.大多数对分布式系统一致性的划分是将其分为三类:强一致性,顺序一致性以及弱一致性.强一致性(Strict C ...

  9. react native https

    1. ios解决方案 1.1 Xcode打开工程,Libraries -> RCTNetworking -> RCTHTTPRequestHandler.mm -> #pragma ...

  10. 多线程与高并发(五) Lock

    之前学习了如何使用synchronized关键字来实现同步访问,Java SE 5之后,并发包中新增了Lock接口(以及相关实现类)用来实现锁功能,它提供了与synchronized关键字类似的同步功 ...