dubbo学习

来源:互联网 发布:暗黑战神源码 下载 编辑:程序博客网 时间:2024/06/02 05:30


Zookeeper注册中心安装 


1、修改操作系统中 /etc/host 文件中添加:

#zookeeper servers 

192.168.3.71 edu-provider-01


2、打开这个地址

http://archive.apache.org/dist/zookeeper/ 找到一个版本

可以用  wget  http://archive.apache.org/dist/zookeeper/zookeeper-3.4.8/zookeeper-3.4.8.tar.gz


3、解压

 tar -zxvf zookeeper-3.4.8.tar.gz


4、在/root/common_modules/zookeeper-3.4.8 创建以下目录

mkdir data

mkdir logs


5、将zookepper/conf目录下的zoo sample.cfg 拷贝一份,命名为zoo.cfg

mkdir logs添加数据、日志目录

在example sakes 下面有个默认的dataDir。修改成下面的

dataDir=/root/common_modules/zookeeper-3.4.8/data

logDir=/root/common_modules/zookeeper-3.4.8/logs

server.1=edu-provider-01:2888:3888 

2888是zookeeper 服务之间通信的端口。

3888是zookeeper与其他应用程序通信的端口。

edu-provider-01是hosts中映射了ip的主机名。 也可以写IP,没有区别。

initLimit:这个配置是用来配置zookeeper 接受客户端(这里所说的客户端不是用户链接zookeeper服务器的客户端,而是zookeeper 服务器集群中连接到 Leader 的 Follower 服务器) 初始化连接时最长能忍受多少个心跳时间间隔数。当已经超过10个心跳时间(也就是 tickTime)长度后zookeeper 服务器还没有收到客户端的返回信息,那么表明这个客户端连接失败。总的时间长度就是 5*2000=10秒。

syncLimit:这个配置项标识 Leader 与 Follower 之间发送消息,请求和应答时间长度,最长不能超过多少个 tickTime 的时间长度,总的时间长度就是 2*2000=4秒。

server.A=B:C:D 其中 A 是一个数字,表示这个是第几号服务;B 是这个服务器的 IP 地址或/etc/hosts 文件中映射了 IP 的主机名;C 表示的是这个服务器与集群中的 Leader 服务器交换信息的端口;D 表示是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一人新的 Leader ,而这个端口就是用来执行选举时服务器相互通信的端口。如果是伪集群的配置方式,由于 B 都是一样,所以不两只的 Zookeeper 实例通信端口号不能一样。所以要给它们分配不同的端口号。


7、在 dataDir=/root/common_modules/zookeeper-3.4.8/data 下创建myid文件。

编辑myid文件,并在对应的IP的机器上输入对应的编号(也就是那个 A )。如在zookeeper 上,myid文件内容就是1.如果只在单节点上进行配置,那么只有一个server.1


8、用户下修改 vim /home/lzq/.bash_profile,增加 zookepper 配置。

加在最下面就可以

#zookepper env

export ZOOKEEPER_HOME=/root/common_modules/zookeeper-3.4.8/

export PATH=$ZOOKEEPER_HOME/bin:$PATH

使配置文件生效

source/home/lzq/.bash_profile

这里如果改错了。 命令什么都不能用了。执行下面的命令再改回来

export PATH=/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin


9、在防火墙中打开要用到的端口 2128、2888、3888

切换到 root 权限,执行以下命令:

chkconfig iptables on

service iptables start 

vim /etc/sysconfig/iptables

增加以下3行(就是复制文件里,端口为22的那行。再改一下):

-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 2888 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3888 -j ACCEPT

重启防火墙

service iptables restart

查看状态

service iptables status


10、启动并测试 zookepper(不建议用root启)

(1) 到/root/common_modules/zookeeper-3.4.8/bin 目录中执行

zkServer.sh start(上面已经配置环境变量了,可以直接执行)

(2) 输入 jps 命令查看进程:

3017 Jps

3000 QuorumPeerMain

QuorumPeerMain是zookeeper进程,启动正常。

(3) 查看状态:

zkServer.sh status


(3) 查看zookeeper 服务输出信息

服务信息输出文件在 /root/common_modules/zookeeper-3.4.8/bin/zookeeper.out

tail -100f zookeeper.out


11、 停止 zookeeper 进程:

zkServer.sh stop


12、配置开机启动

编辑/etc/rc.local 文件,加入:

su - lzq -c '/root/common_modules/zookeeper-3.4.8/bin/zkServer.sh start'



Dubbo管理控制台的安装


Dubbo管控台可以对注册到zookeeper注册中心的服务或服务消费者进行管理,但管控台是否正常对Dubbo服务没有影响,管控台也不需要高可用,因此可以单节点部署。

 

IP: 192.168.32.128

部署容器:apache-tomcat-8.0.32

端口:8080

 

1、 下载最新版的Tomcat7:

$wget http://mirrors.hust.edu.cn/apache/tomcat/tomcat-8/v8.0.32/bin/apache-tomcat-8.0.32.tar.gz

 

2、 解压:

tar -zxvf apache-tomcat-7.0.57.tar.gz

mv apache-tomcat-7.0.57 dubbo-admin-tomcat

 

3、 移除/home/wusc/dubbo-admin-tomcat/webapps目录下的所有文件:

rm -rf *

 

4、 上传Dubbo管理控制台程序dubbo-admin-2.5.3.war

到/home/wusc/dubbo-admin-tomcat/webapps

 

5、 解压并把目录命名为ROOT:

unzip dubbo-admin-2.5.3.war -d ROOT

把dubbo-admin-2.5.3.war移到/home/wusc/tools目录备份

mv dubbo-admin-2.5.3.war /home/wusc/tools

6、 配置dubbo.properties:

vi ROOT/WEB-INF/dubbo.properties

dubbo.registry.address=zookeeper://192.168.32.128:2181

dubbo.admin.root.password=123.123

dubbo.admin.guest.password=123.123

(以上密码在正式上生产前要修改)

 

7、 防火墙开启8080端口,用root用户修改/etc/sysconfig/iptables,

vi /etc/sysconfig/iptables

增加:

## dubbo-admin-tomcat:8080

-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT

重启防火墙:

service iptables restart

8、 启动Tomat7

/home/wusc/dubbo-admin-tomcat/bin/startup.sh

 

9、 浏览http://192.168.32.128:8080/

 

 

10、 配置部署了Dubbo管控台的Tomcat开机启动:

在虚拟主机中编辑/etc/rc.local文件,加入:

su - wusc -c '/home/wusc/dubbo-admin-tomcat/bin/startup.sh'




0 0