惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Hacker News: Ask HN
Hacker News: Ask HN
H
Help Net Security
Microsoft Azure Blog
Microsoft Azure Blog
B
Blog RSS Feed
Jina AI
Jina AI
Stack Overflow Blog
Stack Overflow Blog
量子位
博客园_首页
Vercel News
Vercel News
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Forbes - Security
Forbes - Security
IT之家
IT之家
N
News and Events Feed by Topic
S
Security Affairs
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Webroot Blog
Webroot Blog
Recorded Future
Recorded Future
L
LangChain Blog
Y
Y Combinator Blog
AI
AI
MyScale Blog
MyScale Blog
大猫的无限游戏
大猫的无限游戏
小众软件
小众软件
Know Your Adversary
Know Your Adversary
AWS News Blog
AWS News Blog
Help Net Security
Help Net Security
Cyberwarzone
Cyberwarzone
L
Lohrmann on Cybersecurity
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Google Online Security Blog
Google Online Security Blog
V2EX - 技术
V2EX - 技术
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
PCI Perspectives
PCI Perspectives
I
Intezer
T
Tenable Blog
G
Google Developers Blog
Application and Cybersecurity Blog
Application and Cybersecurity Blog
T
Troy Hunt's Blog
L
LINUX DO - 最新话题
云风的 BLOG
云风的 BLOG
C
CXSECURITY Database RSS Feed - CXSecurity.com
有赞技术团队
有赞技术团队
O
OpenAI News
P
Proofpoint News Feed
TaoSecurity Blog
TaoSecurity Blog
C
Check Point Blog
Last Week in AI
Last Week in AI
S
Schneier on Security
Simon Willison's Weblog
Simon Willison's Weblog
Blog — PlanetScale
Blog — PlanetScale

博客园 - 追风浪子

linux修改系统时间为北京时间(CentOS) 构建第一个Spring Boot2.0应用之application.properties和application.yml(八) 构建第一个Spring Boot2.0应用之集成mybatis、Druid(七) 构建第一个Spring Boot2.0应用之集成mybatis(六) 构建第一个Spring Boot2.0应用之RequestMapping(四) 构建第一个Spring Boot2.0应用之Controller(三) 构建第一个spring boot2.0应用之项目启动运行的几种方式(二) 构建第一个Spring Boot2.0应用之项目创建(一) C++ 强制类型转换(转载) 【Android】ContentProvider android图片缩放平移 Android实现程序前后台切换效果 android 调试卡在:Waiting for Debugger - Application XXX is waiting for the debugger to Attach" 解决方法 将DataTable 数据插入 SQL SERVER 数据库 android adb shell 命令大全 三种方法实现Javascript控制ScrollBar(滚动条) 从零开始学习jQuery之你必须知道的JavaScript 快速判断JavaScript对象是否存在的十个方法 jQuery插件
构建第一个Spring Boot2.0应用之集成dubbo上---环境搭建(九)
追风浪子 · 2018-06-12 · via 博客园 - 追风浪子

一、环境:

     Windows:

     IDE:IntelliJ IDEA 2017.1.1

     JDK:1.8.0_161

      Maven:3.3.9

      springboot:2.0.2.RELEASE

      Linux(CentOS Linux release 7.2.1511 (Core)):

      dubbo:dubbo-admin-2.0.0

       zookeeper:zookeeper-3.4.10

二、部署zookeeper(集群方式)

   准备三台机器或虚拟机,IP为192.168.254.3(节点1)、192.168.254.4(节点2)、192.168.254.5(节点3)。

    1.下载zookeeper-3.4.10.tar.gz

     地址:http://mirror.bit.edu.cn/apache/zookeeper/

   2.解压zookeeper

     解压gz文件,在下载的zookeeper-3.4.10.tar.gz存放目下,执行tar -zxvf zookeeper-3.4.10.tar.gz,等待命令运行完成,则生成解压后的目录为zookeeper-3.4.10,进入文件夹,文件列表如下。

    设置zookeeper的安装目录为/usr/local,则将解压后的目录文件夹移动到此,即执行mv  zookeeper-3.4.10 /usr/local 

   3.安装配置

    (1)进入/usr/local/zookeeper/conf,复制zoo_sample.cfg文件的并命名为 zoo.cfg

   (2)编辑zoo.cfg

     vim zoo.cfg

     

    添加dataLogDir,设置日志目录;修改数据目录dataDir。

     zookeeper有三个重要端口,默认分别为2181、2888、3888,分别是为客户端服务端口、集群内部通信端口、选举leader使用端口。这三个端口可以根据实际情况自行修改,只要是端口未被其他一个用占用都可以使用,此处故意修改三个端口为3181、12888、13888。

修改完成后保存zoo.cfg。

   (3)复制zookeeper-3.4.10目录到其他服务器

        scp -r root@ zookeeper-3.4.10/ 192.168.254.4:/usr/local

        scp -r root@ zookeeper-3.4.10/ 192.168.254.5:/usr/local

      如果直接复制需要输入其他机器帐户密码,则需要在集群机器之间配置SSH免密登录。

   (4)集群各节点配置myid 

      将zookeeper目录复制到集群各节点后,按照上面zoo.cfg中配置的dataDir、dataLogDir中配置的实际路径,在zookeeper-3.4.10根目录下建立data、logs目录(mkdir data、mkdir logs)。

     配置后,在集群节点1进入data目录,建立myid文件,并在文件中输入1,保存

     节点1(192.168.254.3)                                              

   同理在集群节点2、节点3中分别进入data目录,建立myid文件,在文件中分别输入2、3,保存。

  节点1(192.168.254.4)                                              

   节点1(192.168.254.5)                               

   这里各节点myid文件中设置的数字,与zoo.cfg中配置集群节点的数字对应。          

   

 (5)集群节点启动和验证

     在节点1,启动集群# ./bin/zkServer.sh start

     

     同样,在节点2、节点3启动zookeeper。

     在三个节点都启动完成后,分别查看状态: 

       节点1:   ./bin/zkServer.sh status               

       节点2:   ./bin/zkServer.sh status               

        节点3:   ./bin/zkServer.sh status               

     可以看出,集群节点启动后,节点2被选举为leader。

  对于集群,也可以通过编写脚本批量一键启动集群节点。

      在任意一个节点zookeeper的安装目录下,新建zkBatchServer.sh,打开并编写如下内容: 

#!/bin/bash
#参数传递
usage="Usage: $0 (start|stop|status)"
if [ $# -lt 1 ]; then
    echo $usage
    exit 1
fi
behave=$1
echo "$behave zkServer cluster"

#主机名称
SERVERS="master1-hadoop master2-hadoop slave1-hadoop"
for SERVER in $SERVERS
do
#使用ssh进行启动
     echo "当前"$SERVER "正在"$behave"-----------------------"
     ssh root@$SERVER "source /etc/profile; /usr/local/zookeeper-3.4.10/bin/zkServer.sh $behave"
     echo $SERVER $behave "结束------------------------------"
done

设置完后,修改权限 chmod u+x  zkBatchServer.sh

zookeeper目录文件如下

批量启动集群 

# ./zkBatchServer.sh start

启动后,查看集群节点状态

# ./zkBatchServer.sh status

    (6)连接ZooKeeper的集群     

      通过192.168.254.3连接zookeeper集群,

        # ./bin/zkCli.sh -r -server 192.168.254.3:3181

上面是通过zkCli.sh连接指定的节点ip和端口连接到zookeeper集群。  

二、部署dubbo

 (1)下载编译     

dubbo项目地址https://github.com/apache/incubator-dubbo,最新的源码项目为2.6.2,不过从2.6.1后dubbo-admin已经被分离出去了,因此要部署dubbo-admin则需在           https://github.com/apache/incubator-dubbo-ops下载 。

     下载解压后,进入项目录下(即incubator-dubbo-ops-master),项目工程结构如下

     

   打开dubbo-admin\src\main\webapp\WEB-INF下的dubbo.properties,内容为:

dubbo.registry.address=zookeeper://127.0.0.1:2181
dubbo.admin.root.password=root
dubbo.admin.guest.password=guest

将注册中心的地址更改为上面配置的zookeeper集群的地址,即

dubbo.registry.address=zookeeper://192.168.254.3:3181?backup=192.168.254.4:3181,192.168.254.5:3181
dubbo.admin.root.password=root
dubbo.admin.guest.password=guest

  导入项目到idea

   或直接在项目目录控制台执行命令:mvn package -Dmaven.skip.test=true

  

执行成功后,进入incubator-dubbo-ops-master\dubbo-admin\target目录,

 

 (2)安装dubbo-admin

    将上面生成的war包拷贝到tomcat的webapps目录

    启动tomcat后,自动解压war,生成项目目录

    

     通过URL即可访问dubbo-admin

      http://192.168.254.3:8686/dubbo-admin-2.0.0/

    登录用户名密码参考dubbo.properties,其里面配置的两个账户,每个账户的用户名与密码一样

登录后可以看到管理界面如下

    这篇主要学习了一下结成dubbo的环境配置,为真正集成应用做一些准备工作,下篇通过具体的代码实例学习编写服务如何注册、调用。