您的位置:首页 > 运维架构 > Linux

linux 安装dubbo+zookeeper

2017-08-01 11:24 453 查看
Linux 下安装dubbo+zookeeper

一、linux下单机版zookeeper安装
(0)预备
安装Java环境,并配置好java相关的环境变量$JAVA_HOME

(1)下载最新的稳定版并解压
从人人下载吧:
wget wget http://download.csdn.net/detail/wujiaohua888168/8686491

tar -zxvf zookeeper-3.4.6.tar.gz
可执行文件都在bin/目录下,配置都在conf/目录下

(2)生成配置
conf/目录下有个zoo_sample.cfg,是样板配置文件
复制一份成zoo.cfg
里面有两个比较重要的配置:
dataDir=/var/lib/zookeeper # 数据存放位置,可根据需要修改
clientPort=2181 # 服务监听端口,可根据需要修改

(3)启动服务
bin/zkServer.sh start
如果未启动成功,一个检查JAVA_HOME是否正确设置,二个看端口是否冲突

(4)启动客户端测试
启动命令:
bin/zkCli.sh -server 127.0.0.1:2181

重启zookeeper 命令
zk@PC0021:~/zookeeper-3.3.5/bin> zkServer.sh 
restart

二安装dubbo

 (1)下载dubbo-admin-2.4.1.war包,在Linux的tomcat部署,先tomcat的ROOT下文件都删除,把dubbo-admin-2.4.1.war放在tomcat的webapps/ROOT下,然后进行解压:

        #tar zxvf  dubbo-admin-2.4.1.war

    (2)然后到webapps/ROOT/WEB-INF下,有一个dubbo.properties文件,里面指向Zookeeper ,使用的是Zookeeper 的注册中心,如图所示:



 (3)然后启动tomcat服务,用户名和密码:root,并访问服务,显示登陆页面,说明dubbo-admin部署成功,如图所示:

启动完成,http://localhost:8080 访问测试,默认的用户名和密码:root/root



下面是项目中application.properties文件的配置

jdbc.driver=com.MySQL.jdbc.Driver

jdbc.url=jdbc:mysql://172.16.2.59:3306/OMS_GB?useUnicode=yes&characterEncoding=UTF8&allowMultiQueries=true 

jdbc.username=admin

jdbc.password=admin

jdbc.pool.minIdle=10

jdbc.pool.maxIdle=20

jdbc.pool.maxActive=150

#当前应用名称

dubbo.application.name=oms

#当前应用负责人

dubbo.application.owner=jiaohua.wu

#当前应用负责人组织

dubbo.application.organization=winit

#dubbo.registry.protocol=multicast

#dubbo.registry.address=224.5.6.7:1234

#注册中心地址协议

dubbo.registry.protocol=zookeeper

#注册中心地址

dubbo.registry.address=172.16.2.78:2181

#dubbo.registry.address=172.16.2.59:2181

#服务注册类型  false:静态类型(监控中心管理上下线) true:自动管理

dubbo.registry.dynamic=true

#服务协议 dubbo、rmi、hessian、http、webservice、thrift、memcached、Redis

#缺省配置为dubbo协议,该采用单一长连接和NIO异步通讯,适合于小数据量大并发的服务调用,以及服务消费者机器数远大于服务提供者机器数的情况。

dubbo.protocol.protocol=dubbo

#服务数据通信端口

dubbo.protocol.port=20810

#all 所有消息都派发到线程池,包括请求,响应,连接事件,断开事件,心跳等。

#direct 所有消息都不派发到线程池,全部在IO线程上直接执行。

#message 只有请求响应消息派发到线程池,其它连接断开事件,心跳等消息,直接在IO线程上执行。

#execution 只请求消息派发到线程池,不含响应,响应和其它连接断开事件,心跳等消息,直接在IO线程上执行。

#connection 在IO线程上,将连接断开事件放入队列,有序逐个执行,其它消息派发到线程池。

dubbo.protocol.dispatcher=all

#fixed 固定大小线程池,启动时建立线程,不关闭,一直持有。(缺省)

#cached 缓存线程池,空闲一分钟自动删除,需要时重建。

#limited 可伸缩线程池,但池中的线程数只会增长不会收缩。(为避免收缩时突然来了大流量引起的性能问题)。

dubbo.protocol.threadpool=limited

#初始化线程池数量

dubbo.protocol.threads=200

#provider服务超时(建立provider端设置,consumer端不建议设置)

dubbo.timeout=60000

#consumer启动试不检查provider

dubbo.check=false

#provider是否验证参数

dubbo.validation=true

#provider并发数

dubbo.executes=500

#集群模式 failover:失败自动切换(默认)、ailfast:一次调用失败、failsafe:失败安全、failback:失败恢复定时重发、broadcast:广播调用一台失败即失败

dubbo.cluster=failover

#失败重试次数

dubbo.retries=2

#负载平衡  random:随机、roundrobin:轮循、leastactive:最少活跃调用数、consistenthash:一致hash值

dubbo.loadbalance=random
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: