Zookeeper集群安装
1.解压
tar -zxvf zookeeper-3.4.10.tar.gz
2.环境变量配置
vim /etc/profile
在文件末尾添加以下环境变量配置:
export ZOOKEEPER_HOME=/usr/local/java/zookeeper3.4.10
export PATH=$PATH:${JAVA_PATH}:$MAVEN_HOME/bin:$ZOOKEEPER_HOME/bin
3.修改配置文件
初次使用 ZooKeeper 时, 需要将 $ZOOKEEPER_HOME/conf 目录下的 zoo_sample.cfg 重命名为 zoo.cfg, zoo.cfg 修改添加配置如下:
dataDir=/usr/local/java/zookeeper3.4.10/data
dataLogDir=/usr/local/java/zookeeper3.4.10/logs
server.1=accsdk1:2888:3888
server.2=accsdk2:2888:3888
server.3=accsdk3:2888:3888
4.创建myid文件
在 dataDir 指定的目录下 (即 /usr/local/java/zookeeper3.4.10/data 目录) 创建名为 myid 的文件。
每个服务器的 myid 内容都不同, 且需要保证和自己的 zoo.cfg 配置文件中 "server.id=host:port:port" 的 id 值一致。
cd /usr/local/java/zookeeper3.4.10
mkdir data
vim myid
5.集群配置
在每台主机的/etc/hosts中添加如下三行即可:
192.168.1.2 accsdk1
192.168.1.3 accsdk2
192.168.1.4 accsdk3
按照相同步骤, 为 accsdk2 和 accsdk3 配置 zoo.cfg 和 myid 文件。zoo.cfg文件内容相同, accsdk2 的 myid
文件内容为 2, accsdk3 的 myid 文件内容为 3。
6.集群启动
在集群中的每台机器上bin目录执行以下启动命令:
zkServer.sh start
mysql 执行数据schema初始化
数据库 y2accountsdk
create database y2accountsdk default charset utf8;
use y2accountsdk
source /db.sql
部署java项目
消费者
1.修改zookeeper配置文件
vim y2Account_consumer.jar\BOOT-INF\classes\comsumer.xml
address 为zookeeper集群地址端口,逗号隔开
<dubbo:registry protocol="zookeeper" address="accsdk1:2181,accsdk2:2181,accsdk3:2181" client="zkclient" />
生产者
1.修改zookeeper配置文件
vim y2Account_provider.jar\BOOT-INF\classes\provider.xml 中address 为zookeeper集群地址端口,逗号隔开
<dubbo:registry protocol="zookeeper" address="accsdk1:2181,accsdk2:2181,accsdk3:2181" client="zkclient"/>
2.修改mysql配置文件
vim y2Account_provider.jar\BOOT-INF\classes\application-prod.properties
spring.datasource.url=jdbc:mysql:/127.0.0.1:3306/y2accountsdk?characterEncoding=utf8&autoReconnect=true&failOverReadOnly=false&allowMultiQueries=true
spring.datasource.username=root
spring.datasource.password=root
启动
1.命令启动(先启动生产者)
/provider 生产者 启动命令 nohup java -jar y2Account_provider.jar --spring.profiles.active=prod &
/consumer 消费者 启动命令 nohup java -jar y2Account_consumer.jar --spring.profiles.active=prod &
2.脚本 启动jar包 start.sh
chmod +x start.sh
#! /bin/sh
java -jar act-1.0.1-SNAPSHOT.jar >/usr/local/beta/nohup.out&
tail -40f nohup.out
>/usr/lcoal/beta/nohup.out&指定日志输出
停止jar包 stop.sh
#! /bin/sh
pid=`ps -ef |grep act-1.0.1-SNAPSHOT.jar | grep -v grep | awk '{print $2}'`
kill -9 $pid