存在的问题:闪退
解决:首先需要在系统变量上添加Classpath环境变量,可以输入“.;C:\Program Files\Java\jdk1.5.0_06\lib\tools.jar; C:\Program Files\Java\jdk1.5.0_06\lib\dt.jar” 翻看zkServer.cmd命令发现需要Classpath
setlocal
call "%~dp0zkEnv.cmd"
set ZOOMAIN=org.apache.zookeeper.server.quorum.QuorumPeerMain
set ZOO_LOG_FILE=zookeeper-%USERNAME%-server-%COMPUTERNAME%.log
echo on
call %JAVA% "-Dzookeeper.log.dir=%ZOO_LOG_DIR%" "-Dzookeeper.root.logger=%ZOO_LOG4J_PROP%" "-Dzookeeper.log.file=%ZOO_LOG_FILE%" "-XX:+HeapDumpOnOutOfMemoryError" "-XX:OnOutOfMemoryError=cmd /c taskkill /pid %%%%p /t /f" -cp "%CLASSPATH%" %ZOOMAIN% "%ZOOCFG%" %*
endlocal
为什么需要Classpath环境变量?
如果将Java执行环境比喻为操作系统,如果设置Path变量是为了让操作系统找到指定的工具程序(以Windows来说就是找到.exe文件),则设置Classpath的目的就是让Java执行环境找到指定的Java程序(也就是.class文件)。
接下来,编辑zkServer.cmd文件末尾添加pause。这样运行出错就不会退出,会提示错误信息,方便找到原因。
报错最关键的就是;
第一个解压出来没有lib文件加,需要将第二个压缩包解压出来,将lib复制粘贴到,第一个压缩包解压的zookeeper目录下。
double默认端口号20281
clientPort=2181 //zookeeper默认端口号
注意几个重要位置:
dataDir=./临时数据存储的目录(可写相对路径)
clientPort=2181 zookeeper的端口号
在安装目录下面新建一个空的 data 文件夹文件夹:
修改 zoo.cfg 配置文件,将 dataDir=/tmp/zookeeper 修改成 zookeeper 安装目录所在的 data 文件夹,数据日志的配置默认添加了
如何永久占用8080端口,将tomcat作为后台服务即可
类似mysql的服务安装命令 mysqld -install
ls /:列出zookeeper根下保仔的所有节点,注意空格
create -e /map abc:创建一个map节点,值为abc,注意空格
get /map 获取map节点的值
dubbo本身并不是一个服务软件。它其实就是一个jar包,帮你的java程序连接到zookeeper,并利用zookeeper消费、提供服务。
但是为了让用户更好的管理监控众多的dubbo服务,官方提供了一个可视化的监控程序dubbo-admin,不过这个监控即使不装也不影响使用。dubbo是一个监控管理后台~查看我们注册了哪些服务,哪些服务被消费
下载dubbo-admin开发版本(新版本):地址用idea导入项目后打开
先启动zookeeper(E:\software\apache-zookeeper-3.7.1\bin\zkServer.cmd),然后将dubbo-admin-server这个module启动运行或着是打包后用命令行运行
遇到的问题:dubbo+zookeeper占用8080端口
zookeeper从某个版本开始内置了jetty,所以是zookeeper里还有jetty在占用8080端口
修改zookeeper的配置文件zoo.cfg:
添加一条配置信息:admin.serverPort=8008
由于dubbo-admin develop开发版本不稳定,我们最好使用dubbo-admin master 0.2.0版本
server.port=7001
spring.velocity.cache=false
spring.velocity.charset=UTF-8
spring.velocity.layout-url=/templates/default.vm
spring.messages.fallback-to-system-locale=false
spring.messages.basename=i18n/message
spring.root.password=root
spring.guest.password=guest
#注册中心zookeeper
dubbo.registry.address=zookeeper://127.0.0.1:2181
mvn clean package -Dmaven.test.skip=true
那么就用idea将下载下的dubbo-admin-master-0.2.0项目导入,用idea对dubbo-admin进行clean和打包,注意要修改项目的jdk编译版本为1.8
执行dubbo-admin\target下的dubbo-admin-0.0.1-SNAPSHOT.jar
java -jar dubbo-admin-0.0.1-SNAPSHOT.jar
【注意:zookeeper的服务一定要打开!】