一、linux下zookeeper安装

 1.安装java环境并配置好java相关的环境变量$JAVA_HOME。

  jdk-6u27-linux-i586.bin           运行环境包

  yum -y install   glibc.i686     glibc-devel.i686

chmod    +x    jdk-6u27-linux-i586.bin

./jdk-6u27-linux-i586.bin

mv    jdk1.6.0_27      /usr/local/jdk


[root@test01 jdk]# /usr/local/jdk/bin/java   -version

java version "1.6.0_27"

Java(TM) SE Runtime Environment (build 1.6.0_27-b07)

Java HotSpot(TM) Client VM (build 20.2-b06, mixed mode, sharing)


root@test01 jdk]#  vim /etc/bashrc

export  JRE_HOME=/usr/local/jdk

export  JAVA_BIN=/usr/local/jdk/bin

export  PATH=$JRE_HOME/bin:$PATH

export  CLASSPATH=.:$JRE_HOME/lib/dt.jar:$JRE_HOME/lib/tools.jar

export  JRE_HOME    JAVA_BIN    PATH    CLASSPATH

:wq


[root@test01 jdk]#source  /etc/bashrc

或者下载java软件包

tar -zxvf java.tar 

mv java /usr/local/

root@test01 jdk]#  vim /etc/bashrc

export  JRE_HOME=/usr/local/java

export  JAVA_BIN=/usr/local/java/bin

export  PATH=$JRE_HOME/bin:$PATH

export  CLASSPATH=.:$JRE_HOME/lib/dt.jar:$JRE_HOME/lib/tools.jar

export  JRE_HOME    JAVA_BIN    PATH    CLASSPATH

2.安装tomcat软件包 (apache-tomcat-7.0.70.tar.gz)

解压软件包

tar -zxvf apache-tomcat-7.0.70.tar.gz 

mv apache-tomcat-7.0.70 /usr/local/tomcat

webapps/ROOT/      网页目录

logs  日志目录

conf配置文件

bin  可以执行命令

shutdown.sh   停止服务

startup.sh         启动服务


启动tomcat 服务 默认监听8080端口

netstat -untlalp | grep :8080

3.安装zookeeper-3.4.8.tar.gz 包

(1)解压软件包

tar -zxvf zookeeper-3.4.8.tar.gz 

可执行文件都在bin/目录下,配置都在conf/目录下

(2)生成配置
conf/目录下有个zoo_sample.cfg,是样板配置文件

 cp -p zoo_sample.cfg zoo.cfg 

复制一份成zoo.cfg
里面有两个比较重要的配置:
dataDir=/usr/local/zookeeper/data # 数据存放位置,可根据需要修改
clientPort=2181 # 服务监听端口,可根据需要修改

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

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

二、安装dubbo

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

 rm -rf /usr/local/tomcat/webapps/ROOT/*

 mv dubbo-admin-2.8.4a.war /usr/local/tomcat/webapps/ROOT/

unzip dubbo-admin-2.8.4a.war 查看文件有以下内容

crossdomain.xml  css  dubbo-admin-2.8.4a.war  favicon.ico  p_w_picpaths  js  META-INF SpryAssets  WEB-INF

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

linux 安装dubbo+zookeeper_dubbo

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

[root@localhost WEB-INF]# /usr/local/tomcat/bin/startup.sh 

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

linux 安装dubbo+zookeeper_keeper_02

linux 安装dubbo+zookeeper_dubbo_03


linux 安装dubbo+zookeeper_dubbo_04



下面是项目中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