这几天正好在学习搭建zookeeper+dubbo+tomcat
一 Dubbox简介
Dubbox 是一个分布式服务框架,其前身是阿里巴巴开源项目Dubbo ,被国内电商及互联网项目中使用,后期阿里巴巴停止了该项目的维护,当当网便在Dubbo基础上进行优化,并继续维护,为了与原有的Dubbo区分,故将其命名为Dubbox。
Dubbox 致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。简单的说,dubbox就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式的时候,才有dubbox这样的分布式服务框架的需求,并且本质上是个服务调用的东东,说白了就是个远程服务调用的分布式框架。
二 Zookeeper 介绍
官方推荐使用 zookeeper 注册中心。注册中心负责服务地址的注册与查找,相当于目录服务,服务提供者和消费者只在启动时与注册中心交互,注册中心不转发请求,压力较小。
Zookeeper 是 Apacahe Hadoop 的子项目,是一个树型的目录服务,支持变更推送,适合作为Dubbox 服务的注册中心,工业强度较高,可用于生产环境。
三 开始搭建环境
3.1准备工作
centOS 6.5 tomcat7 dubbo zookeeper-3.4.6
3.2开始安装
首先需要在虚拟机上安装centOS6.5 () +jdk
虚拟机的安装,以及操作系统的安装本文章不做介绍,下面开始介绍JDK的安装
在介绍JDK安装时,我们要知道secureCRT这款软件,因为在生产环境中,一般的程序员是接触不到服务器的,给我们的只有连接服务器的账号和密码,利用这款软件可以与虚拟机服务器相连.
我们可以先配置一个静态IP.避免每次ip地址更换都要重新创建Session登录
配置静态IP:cd /etc/sysconfig/network-scripts,vi ifcfg-ens33编辑配置 (在写入文件时,请把后面括号里的说明去掉)
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static (dhcp改成static)
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=e33d8122-8efc-49dc-b362-fa3f705acac9
DEVICE=ens33
ONBOOT=yes (no改成yes)
IPADDR=192.168.112.127 (此虚拟分配的IP)
NETMASK=255.255.255.0 (此虚拟机子网掩码)
GATEWAY=192.168.112.2 (此虚拟机对应的网关,也就是上一部设置的网关)
BOOTPROTO=static (dhcp改成static)
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=e33d8122-8efc-49dc-b362-fa3f705acac9
DEVICE=ens33
ONBOOT=yes (no改成yes)
IPADDR=192.168.25.128 (此虚拟分配的IP)
NETMASK=255.255.255.0 (此虚拟机子网掩码)
GATEWAY=192.168.112.2 (此虚拟机对应的网关,也就是上一部设置的网关)
window上传文件到Linux,首先打开要上传文件的位置 lcd + 要上传文件的路径
Linux打开要保存文件的位置
alt+P键 打开 带有 sftp>输入样式的
put + 文件名 ,上传JDK到/usr/local/software下,这个software是我自己创建的文件夹
tar -zxvf jdk-8u191-linux-x64.tar.gz 解压
解压完成后software文件夹中有两个文件,一个是解压后的文件夹,一个是解压前的压缩包
mv /usr/local/software/jdk1.8.0_191 /usr/local/src/java/jdk1.8.0_191
上面这句话是将jdk这个解压包移动到另一个地方(也可以不移动)
配置JDK环境变量
vi /etc/profile 采用全局设置方法,修改etc/profile,它是是所有用户的共用的环境变量
小插曲:reboot重启后查看 java -version 发现报错,原来自己安装的centos6.5是32位.安装的jdk是64位
getconf LONG_BIT 查看操作系统的位数
安装zookeeper
跟安装JDK时候一样,将zookeeper解压到Java中
进入 zookeeper-3.4.6 目录,创建 data 文件夹
进入conf目录 ,把 zoo_sample.cfg 改名为 zoo.cfg
cd conf
mv zoo_sample.cfg zoo.cfg
为了方便启动配置到Linux环境变量中
安装tomcat7 +dubbo
首先将tomcat和dubbo上传到centOS中
3.访问及防火墙
此时通过本机可以访问,如果从其他主机访问该8080端口,有可能因为防火墙问题而没有开放,如果是阿里云或者腾讯云,都可以在类似安全组中通过配置端口来达到目的,比如开放 tcp 8080 端口即可。如果是自己的主机,可以通过修改本机的防火墙加入8080即可。
vi /etc/sysconfig/iptables
/etc/rc.d/init.d/iptables save #永久保存当前开始的端口
最后把dubbo-admin.war 放入 tomcat的webapps下
关闭防火墙
关闭命令: service iptables stop
永久关闭命令: chkconfig iptables off
启动tomcat
访问
测试安装结果