一、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