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. 无法正常卸载pr

    控制面板找不到pr和ps,根本无法卸载,我试过官方工具没用,也试过ccleaner,也检测不到?

  2. Two types of people with high scores of English exams

    I believe that there are two types of people who get high scores in English exams: 1) have high inte ...

  3. Flink 源码解析 —— 深度解析 Flink 序列化机制

    Flink 序列化机制 https://t.zsxq.com/JaQfeMf 博客 1.Flink 从0到1学习 -- Apache Flink 介绍 2.Flink 从0到1学习 -- Mac 上搭 ...

  4. React Native 混合开发与实现

    关于 微信公众号:前端呼啦圈(Love-FED) 我的博客:劳卜的博客 知乎专栏:前端呼啦圈 前言 随着 React 的盛行,其移动开发框架 React Native 也收到了广大开发者的青睐,以下简 ...

  5. webgl(three.js)实现室内定位,楼宇bim、实时定位三维可视化解决方案

    (写在前面,谈谈物联网展会)上次深圳会展中心举行物联网展会,到了展会一看,80%以上的物联网应用都是在搞RFID,室内定位,我一度怀疑物联网落地方案的方向局限性与市场导向,后来多方面了解才明白,展会上 ...

  6. 洛谷 P1120 小木棍

    题意简述 给出n个数,求最小的l,使n个数可分成若干组,每组和都为l. 题解思路 暴力搜索+剪枝 代码 #include <cstdio> #include <cstdlib> ...

  7. 偏差和方差以及偏差方差权衡(Bias Variance Trade off)

    当我们在机器学习领域进行模型训练时,出现的误差是如何分类的? 我们首先来看一下,什么叫偏差(Bias),什么叫方差(Variance): 这是一张常见的靶心图 可以看左下角的这一张图,如果我们的目标是 ...

  8. Vue的冒泡事件

    由于业务需求需要,需要在一个元素中的子元素添加一个点击事件. 但是刚好父元素也有一个点击事件.这个时候我们就需要使用到Vue中的阻止事件冒泡了.

  9. 关于c++中的复合类型

    目录 数组 字符串 结构体 共用体 枚举 指针 数和指针的关系 常见的存储方式 数组替代品 一.数组 存储在每个元素中值的类型 数组名 数组中的元素数 通用格式:typename arrayname ...

  10. random库的使用

    一.random库介绍 random库是使用随机数的Python标准库 伪随机数:采用梅森旋转算法生成的(伪)随机序列中元素 random库主要用于生成随机数 使用random库:import ran ...