Disconf是一个分布式配置管理平台,用于管理分布式系统配置文件。分布式系统越来越流行,随着节点的增加,配置文件修改起来也越来越困难,百度的分布式配置管理平台由此而生。它能够统一管理各个节点的配置文件,统一配置和修改。
安装Disconf需要的环境
安装Linux:CentOS7
安装Zookeeper:zookeeper-3.4.6
安装Redis:redis-3.0.0
安装Nginx:nginx-1.8.0
安装MySQL:mysql-community-release-el6-5.noarch.rpm
安装Tomcat:apache-tomcat-8.0.28
Disconf进行构建时需要maven命令,所以需要安装Maven。
安装Maven的命令:
yum -y install apache-maven |
如果提示没有wget命令,则用下面的命令来安装该命令:
yum install wget –y |
准备配置和构建
1、创建文件夹
(以下的文件夹路径读者可自行设置!)
配置文件所在路径:
/usr/local/disconf/resource |
源码所在路径:
/usr/local/disconf/src |
War包所在路径:
/usr/local/disconf/war |
创建好的文件夹结构如下图所示:
2、下载源码
进入到disconf/src下,在GitHub上面直接下载源码,利用下面的命令:
cd /usr/local/disconf/src |
如果提示没有git命令,执行下面的命令安装git命令:
yum install git -y |
3、拷贝配置文件
将/usr/local/disconf/src/disconf/disconf-web/profile/rd路径下的配置文件拷贝到/usr/local/disconf/resource(要将application-demo.properties文件改名为application.properties),并修改相应的配置文件。
拷贝命令:
cd /usr/local/disconf/src/disconf/disconf-web/profile/rd cp * /usr/local/disconf/resource cd /usr/local/disconf/resource mv ./application-demo.properties ./application.properties |
4、修改相应的配置文件
这些配置文件修改后,都需要重新进行系统构建。
jdbc-mysql.properties(数据库的配置):
将mysql的连接地址、用户名和密码改为相应数据库的信息。
redis-config.properties(配置redis的地址):
修改相应的host和port,如果redis是集群,可配置相应的节点;如果redis是单机版,也必须配置两个redis-client(否则会报错),两个redis-client配置相同的host和port即可。
zoo.properties(zookeeper的地址配置):
将Zookeeper集群的ip和端口号配置在hosts属性中即可,各节点地址之间用英文逗号隔开,其他不用修改。
日志文件的配置可以不用修改,如需修改参考网上log4j配置文件修改方式修改即可。
5、修改环境变量
修改环境变量,将创建的配置文件的路径和war包的路径配置在环境变量中。
vi /etc/profile |
按“i”开启编辑,将下面的内容添加到环境变量的最后面:
ONLINE_CONFIG_PATH=/usr/local/disconf/resource WAR_ROOT_PATH=/usr/local/disconf/war export ONLINE_CONFIG_PATH export WAR_ROOT_PATH |
按Esc结束编辑,使用“:x”命令退出,利用下面的命令使环境变量生效:
source /etc/profile |
6、构建
进入到disconf-web路径下,修改其pom文件:
cd /usr/local/disconf/src/disconf/disconf-web vi pom.xml |
将一下内容加入到pom文件的profiles结点下,如果JDK的版本低于1.8,则此步骤不需要执行:
<profile> <id>doclint-java8-disable</id> <activation> <jdk>[1.8,)</jdk> </activation> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <configuration> <additionalparam>-Xdoclint:none</additionalparam> </configuration> </plugin> </plugins> </build> </profile> |
如下图所示:
利用deploy/deploy.sh进行构建,构建过程会download很多东西,可能会有些慢,虚拟机要一直保持能上网的状态:
cd /usr/local/disconf/src/disconf/disconf-web sh deploy/deploy.sh |
构建完成后,在war目录下会生成相应的内容,主要的是加粗的那几项:
上线前的初始化工作
1、初始化数据库
在/usr/local/disconf/src/disconf/disconf-web/sql目录下有sql文件,将这些sql文件初始化到数据库中。这四个sql文件的执行是有顺序的,按照sql/readme.md文件中的顺序执行。
0-init_table.sql
1-init_data.sql
201512/20151225.sql
20160701/20160701.sql
2、配置Tomcat
将构建时打成的war包部署到Tomcat中,需要修改Tomcat的server.xml文件,在Host节点下设定Context:
<Context path="" docBase="/usr/local/disconf/war"></Context> |
3、部署前端
修改nginx.conf文件,将下面的内容添加进去:
upstream disconf { server 127.0.0.1:8085;#Tomcat的IP和端口号,这里改成了8085 }
server { listen 8080;#nginx监听的端口号 server_name disconf.com;#可自行定义,但必须与application.properties中的domain属性的值一样 access_log /home/work/var/logs/disconf/access.log; error_log /home/work/var/logs/disconf/error.log;
location / { root /usr/local/disconf/war/html;#html所在的路径 if ($query_string) { expires max; } }
location ~ ^/(api|export) { proxy_pass_header Server; proxy_set_header Host $http_host; proxy_redirect off; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Scheme $scheme; proxy_pass http://disconf; } } |
运行效果
登录页面(默认用户名和密码:admin/admin):
操作主界面:
总结
安装过程中,在构建时遇到了缺少jar包的问题,因为当时安装maven时,是采用的安装tar文件。后来将maven的安装过程改为了在线安装,也就是上面文档中的安装方式,该问题就不存在了。具体原因正在研究,过路的各位大牛如果有解决方案,麻烦在评论中告知,谢谢。
相关推荐
MariaDB是MySQL的一个分支,由MySQL的创始人Michael Widenius创建,旨在保持开源...通过离线部署文件"MariaDB-10.4.8.stable-CentOS7.x.zip",用户可以在没有网络连接的情况下完成安装,这对于网络受限的环境尤其重要。
centos7.x_ssh9.3p1_ssl1.1.1u升级脚本, 特点: 1、同时升级openssh与openssl,采用rpm包形式,一键快速升级版本,无需每台单独再次进行编译, 2、隐藏openssh-版本号 3、保留scp与ssh-copy-id命令 安装: 执行 ...
在本文中,我们将深入探讨如何在CentOS 7.x系统上进行安装以及相关的优化方法,特别是涉及systemd技术,启动技术对比,以及安装过程中的关键步骤。这些知识点对于理解和维护基于systemd的Linux系统至关重要。 首先...
这个名为"centos7.tar.gz"的压缩包,很可能是包含了与CentOS7系统相关的配置文件、软件包或者镜像文件,方便用户进行安装、维护或备份。 在Linux系统中,".tar.gz"是一种常见的文件打包格式,它结合了tar(用于打包...
CentOS 7.x系统安装步骤 以下是 CentOS 7.x 系统安装步骤的详细解释: 1. 安装前准备 在安装 CentOS 7.x 之前,需要准备好安装源 ISO 文件,CentOS 7.x 的最新版本为 CentOS 7.1。在服务器相关设置中,操作系统为...
mysql5.7.30在centos7.x系统和centos6.x系统上安装,本人亲测测试,里面是mysql5.7.30安装包和安装文档,mysql安装包是mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz
腾讯云上CentOS 7.x或者Linux系统下安装PostgreSQL12.x
Centos7.x虚拟机配置手册 学习Linux必备
Centos7.6.1810离线安装Nginx-所需依赖包 1、patch命令:patch-2.7.1-12.el7_7.x86_64.rpm 2、zlib-1.2.12.tar.gz 3、zlib-devel-1.2.7-20.el7_9.x86_64.rpm 4、pcre-8.32-17.el7.x86_64.rpm 5、pcre-devel-8.32-17....
ambari-2.7.4.0-centos7.tar.gz,HDP-3.1.4.0-centos7-rpm.tar.gz,HDP-UTILS-1.1.0.22-centos7.tar.gz,HDP-GPL-2.6.5.0-centos7-gpl.tar.gz
改压缩包中含了centos7.x离线安装redis-cluster的所有相关文件,包括ruby-2.4.1.tar.gz,rubygems-2.7.6.tgz,zlib-1.2.11.tar.gz,redis-4.0.2.gem,tcl8.6.8-src.tar.gz
虚拟机镜像_centos7.ova_可直接导入virtualbox 版本7.4.1708 (Core) 账号root密码root 已安装wget(配置阿里yum源需要用到) yum -y install wget 已配置阿里yum源 已安装vim 已关闭了防火墙 已配置了静态ip:192.168....
天龙八部游戏在CentOS Linux操作系统上的一键安装环境是一种自动化解决方案,旨在简化游戏服务器端在CentOS 7.x至8.x版本上的部署与配置流程。这类工具或脚本通常集成了游戏所需的多种服务和软件组件的安装与配置...
CentOS7.vmdk
脚本特点: 1、同时升级openssh与openssl,采用rpm包形式,一键快速升级...注意:centos7.x版本默认openssl版本使用1.1.1x版本,但是1.1.x版本也已停止维护了,可选使用3.0.x TLS长期支持版本及后续版本进行构建rpm包
在没有网络连接或者网络条件有限的情况下,离线安装是必要的,此时,HDP-UTILS-1.1.0.22-centos7.tar.gz这样的压缩包可以提供必要的依赖和工具。 HDP-UTILS是HDP平台的一部分,包含了多种实用工具,如Hadoop相关的...
Linux(CentOS6.x)安装过程图解Linux(CentOS6.x)安装过程图解Linux(CentOS6.x)安装过程图解
本教程将详细讲解如何在CentOS 7.x系统上离线安装Docker CE 20.10.12版本,包括其所有依赖包。 首先,我们需要理解Docker CE在CentOS 7中的作用。Docker CE提供了轻量级的虚拟化技术,使得应用程序可以在隔离的环境...
`CentOS-7-x86_64-Minimal-1708.iso` 就是这样的一个文件,用于在计算机上安装CentOS 7.4.1708的最小化版本。你可以使用虚拟机软件(如VirtualBox或VMware)或者通过物理机器上的光驱、USB驱动器来加载该ISO文件进行...
Centos6.x和Redhat6.x下安装docker1.7.1并升级到1.9.1以及docker-compose1.6.2安装 包括: 1.安装依赖; 2.docker 1.7.1; 3.docker 1.9.1; 4.docker-compose 1.6.2(docker1.9.1可以用的最高版本); 5.安装文档;