linux下配置zookeeper注册中心及运行dubbo服务
dubbo和zookeeper的关系
简单来说打个比方:dubbo就是动物园的动物,zookeeper是动物园。如果游客想看动物的话那么就去动物园看。比如你要看老虎,那么动物园有你才能看到。换句话说我们把很多不同的dubbo(动物)放到zookeeper(动物园中)提供给我们游客进行观赏。这个过程中三个关键:场所、供给者、消费者。
1. Zookeeper的作用:
zookeeper用来注册服务和进行负载均衡,哪一个服务由哪一个机器来提供必需让调用者知道,简单来说就是ip地址和服务名称的对应关系。当然也可以 通过硬编码的方式把这种对应关系在调用方业务代码中实现,但是如果提供服务的机器挂掉调用者无法知晓,如果不更改代码会继续请求挂掉的机器提供服务。 zookeeper通过心跳机制可以检测挂掉的机器并将挂掉机器的ip和服务对应关系从列表中删除。至于支持高并发,简单来说就是横向扩展,在不更改代码 的情况通过添加机器来提高运算能力。通过添加新的机器向zookeeper注册服务,服务的提供者多了能服务的客户就多了。
2. dubbo:
是管理中间层的工具,在业务层到数据仓库间有非常多服务的接入和服务提供者需要调度,dubbo提供一个框架解决这个问题。
注意这里的dubbo只是一个框架(项目),至于你架子上放什么是完全取决于你的,就像一个汽车骨架,你需要配你的轮子引擎。这个框架中要完成调度必须要有一个分布式的注册中心,储存所有服务的元数据,你可以用zk,也可以用别的,只是大家都用zk。
zookeeper运行环境:
ZooKeeper服务器是用Java编写创建,它运行在JVM。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
配置说明
1:文件下载:
zookeeper-3.4.8.tar.gz包,
jdk-7u80-linux-x64.tar.gz包,
apache-tomcat-7.0.68.tar.gz包,
dubbo-admin-2.5.3.war管理项目,
注意Zookeeper版本要与jdk版本兼容
2:通过Filezilla或别的工具连接Linux,并将以上下载的文件放入路径/usr/local/tmp下
3:打开Xshell连接linux
跳转:cd /usr/local/tmp
4:jdk及tomcat安装配置:
解压--->移动--->配置环境变量
tar zxvf jdk-7u80-linux-x64.tar.gz
cp -r jdk-7u80-linux-x64 ../jdk
tar zxvf apache-tomcat-7.0.68.tar.gz
cp -r apache-tomcat-7.0.68 ../tomcat
vim /etc/profile
在profile文件中配置jdk及Tomcat环境变量
export JAVA_HOME=/usr/local/jdk
export PATH=$JAVA_HOME/bin:$PATH
export TOMCAT_HOME=/usr/local/tomcat
export CATALINA_HOME=/usr/local/tomcat
:wq保存退出后使修改的文件生效
source /etc/profile
5:Zookeeper安装配置
tar zxvf zookeeper-3.4.8.tar.gz
cp -r zookeeper-3.4.8 ../zookeeper
5.1 到zookeeper目录创建一个data文件夹
cd /usr/local/zookeeper
mkdir data
5.2 在zookeeper下的conf目录下复制一份zoo_sample.cfg并改为zoo.cfg
cp -r zoo_sample.cfg zoo.cfg
5.3 修改zoo.cfg配置文件中dataDir属性为dataDir=/usr/local/zookeeper/data
vim zoo.cfg
dataDir=/usr/local/zookeeper/data
留意:clientPort=2181为zookeeper端口号
保存退出
6:设置防火墙放行2181及8080的端口(后面Tomcat启动使用的是8080端口)
vim /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 2181 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
:wq回车
server iptables restart 重启防火墙服务
7:启动zookeeper服务
cd /usr/local/zookeeper/bin
./zkServer.sh start(查看启动状态./zkServer.sh status)
8:启动Tomcat服务
cd /usr/local/tomcat/bin
./startup.sh
9:部署管理项目到Tomcat下
cd /usr/local/tmp
cp -r dubbo-admin-2.5.3.war ../tomcat/webapps
此时Tomcat会自动创建一个dubbo-admin-2.5.3文件夹
10:关闭Tomcat,删除war包,将dubbo-admin-2.5.3改名为dubbo
[root@192 tmp]# ../tomcat/bin/shutdown.sh
cd ../tomcat/webapps
mv -r dubbo-admin-2.5.3 dubbo
11:修改项目的注册中心地址
cd /usr/local/tomcat/webapps/WEB-INF
vim dubbo.properties
dubbo.registry.address=zookeeper://127.0.0.1:2181
:wq退出
12:重启Tomcat,访问dubbo管理项目地址
cd /usr/local/tomcat/bin
./startup.sh
http://192.168.48.130:8080/dubbo
用户名密码均为 root

linux下配置zookeeper注册中心及运行dubbo服务的更多相关文章
- linux 下配置多个tomcat同时运行
一个服务器上内存通常有2G或者更多,一个tomcat 运行管理这么多内存有点力不从心,并且貌似一个进程所能建立的线程数量是有限的,于是我们想要在一个服务器上运行多个tomcat.如下是摘抄自:http ...
- Linux 下配置zookeeper集群
我们首先准备三台服务器,IP地址分别如下(前提是要先安装JDK) 192.168.100.101 192.168.100.102 192.168.100.103 1.配置主机名到IP地址的映射(此步骤 ...
- Spring Cloud 系列之 ZooKeeper 注册中心
什么是注册中心 服务注册中心是服务实现服务化管理的核心组件,类似于目录服务的作用,主要用来存储服务信息,譬如提供者 url 串.路由信息等.服务注册中心是微服务架构中最基础的设施之一. 注册中心可以说 ...
- dubbo服务治理中间件,zookeeper注册中心 安装配置
对传统项目架构进行拆分: 集群概念: 面向服务分布式架构: 服务层提供被注册的对象需要实现序列化接口Serializable: 配置表现层和服务层: 依赖包: 服务层: <!-- 定义dubbo ...
- dubbo连接zookeeper注册中心因为断网导致线程无限等待问题【转】
最近维护的系统切换了网络环境,由联通换成了电信网络,因为某些过滤规则导致系统连不上zookeeper服务器(应用系统机器在深圳,网络为电信线路,zookeeper服务器在北京,网络为联通线路),因为我 ...
- Dubbo框架应用之(三)--Zookeeper注册中心、管理控制台的安装及讲解
我是在linux下使用dubbo-2.3.3以上版本的zookeeper注册中心客户端.Zookeeper是Apache Hadoop的子项目,强度相对较好,建议生产环境使用该注册中心.Dubbo未对 ...
- springcloud之服务注册与发现(zookeeper注册中心)-Finchley.SR2版
新年第一篇博文,接着和大家分享springcloud相关内容:本次主要内容是使用cloud结合zookeeper作为注册中心来搭建服务调用,前面几篇文章有涉及到另外的eureka作为注册中心,有兴趣的 ...
- Zookeeper注册中心的搭建
一.Zookeeper的介绍 Zookeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件.它是一个为分布式应用 ...
- Zookeeper 注册中心
一.Zookeeper的介绍 Zookeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件.它是一个为分布式应用 ...
随机推荐
- jquery 改变img的src
jQuery修改img的src的方法: $("#img_id").attr("src","new_src"); 此语句的功能是:修改id为i ...
- C# Asp.net中简单操作MongoDB数据库(二)
C# Asp.net中简单操作MongoDB数据库(一) , mongodb数据库连接可以回顾上面的篇幅. 1.model类: public class BaseEntity { /// < ...
- php优秀的库
PHP 是一种通用开源脚本语言.语法吸收了 C 语言.Java 和 Perl 的特点,利于学习,使用广泛,主要适用于 Web 开发领域,是大多数后端开发者的首选.PHP 作为最受欢迎的编程语言之一,经 ...
- php 解密小程序获取unionid
小程序代码 php代码 public function login2() { $post = input(); if (!empty($post)) { $appid = $this->wxap ...
- ReLU激活函数的缺点
训练的时候很”脆弱”,很容易就”die”了,训练过程该函数不适应较大梯度输入,因为在参数更新以后,ReLU的神经元不会再有激活的功能,导致梯度永远都是零. 例如,一个非常大的梯度流过一个 ReLU 神 ...
- cacheline基本理论
一.cacheline 1.cache:解决cpu频率与内存访问之间速度差距越来越大的问题 2.cacheline:cpu cache的最小单位,主流为64B 3.指导:访问数组数据在同一个cache ...
- 关于常用mysql的文件
这个一般在做项目的时候会用到,直接建立函数啥的,后部直接调用 代码: class_database.py import pymysql SERVER_HOST = "192.168.1.1& ...
- CLR 无法从 COM 上下文 0x208f68 转换为 COM 上下文 0x2090d8,这种状态已持续 60 秒
问题: CLR 无法从 COM 上下文 0x208f68 转换为 COM 上下文 0x2090d8,这种状态已持续 60 秒.拥有目标上下文/单元的线程很有可能执行的是非泵式等待或者在不发送 Wind ...
- 最新阿里云服务器免费SSL证书配置HTTPS的两种方法(图文教程二)
在大家学习如何利用免费SSL证书配置网站HTTPS之前,我们先要搞清楚为什么要开启HTTPS,这个绿色的小锁真的有用吗?所谓的HTTPS其实是(安全套接字层超文本传输协议)是以安全为目标的HTTP通道 ...
- Python之socketserver
import threading from socketserver import ThreadingTCPServer,BaseRequestHandler import sys import lo ...