分布式配置管理平台-disconf部署

应开发需要,搭建个简要的disconf环境。

--------------------------------------------------

参考:http://blog.csdn.net/zhu_tianwei/article/details/49512751

--------------------------------------------------

系统环境:centos6.4

--------------------------------------------------

#jdk-1.7  因为都是使用最新版本,所以建议下载较新版本jdk,经测试1.6不能支撑编译
--------------------
[[email protected] opt]# rpm -Uvh jdk-7u79-linux-x64.rpm
[[email protected] opt]# tail -n 5 /etc/profile
#set java environment
export JAVA_HOME=/usr/java/jdk1.7.0_79
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME CLASSPATH PATH
[[email protected] opt]# source /etc/profile
[[email protected] opt]# java -version
java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)
-----------------------------------------------------------
#maven环境,第一次接触,记载详细些
--------------------
[[email protected] ~]# wget http://apache.opencas.org/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz
[[email protected] ~]# tar -zxf apache-maven-3.3.9-bin.tar.gz -C /usr/local/
[[email protected] ~]# cd /usr/local/apache-maven-3.3.9/
[[email protected] apache-maven-3.3.9]# pwd
/usr/local/apache-maven-3.3.9
[[email protected] apache-maven-3.3.9]# cat >> /etc/profile << EOF
> MAVEN_HOME=/usr/local/apache-maven-3.3.9
> export MAVEN_HOME
> PATH=$MAVEN_HOME/bin:$PATH
> export PATH
> EOF
[[email protected] apache-maven-3.3.9]# source /etc/profile
[[email protected] apache-maven-3.3.9]# mvn -version
which: no javac in (/usr/local/apache-maven-3.3.9/bin:/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)
Warning: JAVA_HOME environment variable is not set.
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T00:41:47+08:00)
Maven home: /usr/local/apache-maven-3.3.9
Java version: 1.8.0_65, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.65-0.b17.el6_7.x86_64/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "2.6.32-358.el6.x86_64", arch: "amd64", family: "unix"
----------------------------------------------------------------------------------
#disconf
#此应用托管在github上
--------------------------
[[email protected] opt]# yum install git -y
[[email protected] opt]# git clone https://github.com/knightliao/disconf.git
[[email protected] opt]# ls disconf/
disconf-client  disconf-core  disconf-web  LICENSE  pom.xml  README.md
[[email protected] opt]# mkdir -p /usr/local/disconf/{source,war}
[[email protected] opt]# cat >> /etc/profile << EOF
> ONLINE_CONFIG_PATH=/usr/local/disconf/source
> WAR_ROOT_PATH=/usr/local/disconf/war
> export ONLINE_CONFIG_PATH
> export WAR_ROOT_PATH
> EOF
[[email protected] disconf]# mvn clean install
[[email protected] disconf]# cd disconf-web/
[[email protected] disconf-web]# cp src/main/resources/jdbc-mysql.properties application-demo.properties redis-config.properties zoo.properties /usr/local/disconf/source/
[[email protected] resources]# cd /usr/local/disconf/source/
[[email protected] source]# mv application-demo.properties  application.properties
[[email protected] source]# more redis-config.properties
redis.group1.retry.times=2

redis.group1.client1.name=BeidouRedis1
redis.group1.client1.host=127.0.0.1
redis.group1.client1.port=6379
redis.group1.client1.timeout=5000

redis.group1.client2.name=BeidouRedis2
redis.group1.client2.host=127.0.0.1
redis.group1.client2.port=6380
redis.group1.client2.timeout=5000

redis.evictor.delayCheckSeconds=300
redis.evictor.checkPeriodSeconds=30
redis.evictor.failedTimesToBeTickOut=6
[[email protected] source]# more zoo.properties         ####此处配置地址为zookeeper地址,不能为127.0.0.1,需为具体IP地址,开发调用的时候会出线问题。

hosts=127.0.0.1:8581

# zookeeper\u7684\u524D\u7F00\u8DEF\u5F84\u540D
zookeeper_url_prefix=/disconf
[[email protected] source]# cd /opt/disconf/disconf-web/
[[email protected] disconf-web]# sh deploy/deploy.sh
[[email protected]host disconf-web]# ls /usr/local/disconf/war/
disconf-web.war  html  jpaas_control  META-INF  Release  WEB-INF
--------------------
#mysql数据库,安装到了本地
--------------------
[[email protected] ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
[[email protected] ~]# yum install gcc gcc-c++ make vim -y
[[email protected] ~]# yum install mysql mysql-server mysql-devel -y
[[email protected] sql]# /etc/init.d/mysqld start
[[email protected] sql]# pwd
/opt/disconf/disconf-web/sql
[[email protected] sql]# mysql < 1-init_table.sql
[[email protected] sql]# mysql < 2-data.sql
[[email protected] sql]# mysql < 20141201/disconf.sql
[[email protected] sql]# mysql < 20141226/disconf.sql
[[email protected] sql]# mysql < 20150101/disconf.sql
[[email protected] sql]# mysql < 20150320/disconf.sql
[[email protected] sql]# mysql
mysql> grant all on *.* to ‘root‘@‘192.168.110.2‘ identified by "123456" with grant option;
[[email protected] sql]# mysqladmin -u root -p password "123456"
Enter password:                 #####此处直接回车
-------------------------------------------------------------
#tomcat---disconf-web工程
------------------------------------------
[[email protected] ~]# wget http://apache.opencas.org/tomcat/tomcat-8/v8.0.30/bin/apache-tomcat-8.0.30.tar.gz
[[email protected] opt]# tar -zxf apache-tomcat-8.0.30.tar.gz -C /usr/local/
[[email protected] apache-tomcat-8.0.30]# pwd
/usr/local/apache-tomcat-8.0.30
[[email protected] apache-tomcat-8.0.30]# rm -rf webapps/* && rm -rf work/*
[[email protected] apache-tomcat-8.0.30]# vim conf/server.xml
      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
      <Context path="" docBase="/usr/local/disconf/war"></Context>  ###此处为添加disconf目录
[[email protected] classes]# pwd
/usr/local/disconf/war/WEB-INF/classes
[[email protected] classes]# grep File log4j.properties
log4j.appender.dailyRolling=org.apache.log4j.DailyRollingFileAppender
log4j.appender.dailyRolling.File=/usr/local/apache-tomcat-8.0.30/log/disconf-log4j.log
[[email protected] classes]# grep property logback.xml
    <property name="log.base" value="/usr/local/apache-tomcat-8.0.30/log/disconf-web"/>
    <property name="log.monitor" value="/usr/local/apache-tomcat-8.0.30/log/monitor"/>

--------------------------------------------------------------------------------------------------------

#nginx 直接使用tengine,配置文件参考官方文档

参考链接:https://github.com/knightliao/disconf/tree/master/disconf-web

--------------------------------------------------------------------------------------------------------

#redis  或者redis-cluster

--------------------------------------------------------------------------------------------------------

#zookeeper单节点或集群

参考链接:http://www.cnblogs.com/linjiqin/archive/2013/03/16/2962597.html

--------------------------------------------------------------------------------------------------------

时间: 2024-10-12 19:22:04

分布式配置管理平台-disconf部署的相关文章

disconf-web 分布式配置管理平台

disconf-web 分布式配置管理平台1.安装mysql2.tomcat3.安装nginx4.安装zookeeper5.安装redis6.下载disconf安装包(1)下载disconf包git clone https://github.com/knightliao/disconf.git (2)配置disconf配置文件 2.1 创建两个文件夹online-resources和war mkdir /usr/local/disconf/war #设置War包将要被部署的地址mkdir /us

分布式配置管理平台——xxl-cfg(业余时间写的,完善中)

前提: 一般情况下,web项目的resource目录下,通常会配置一堆的properties配置文件或txt配置文件等等,例如jdbc.mail.memcached.redis和业务所需的属性配置文件等等. 但是,在集群环境,配置变更时,会导致两个问题: 1.需要修改每个集群节点下项目的配置文件,甚至需要重新编译打包: 2.需要重启服务器: 3.RD/QA/PRODUCTION,各个环境通常需要维护不同的配置: 此文主要是为了解决上述几个问题,在分布式环境中,统一管理项目配置文件: 简介:xxl

Zabbix分布式监控平台安装部署

Zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案. Zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通知机制以让系统管理员快速定位.解决存在的各种问题. Zabbix监控平台部署 安装zabbix之前需要LAMP架构,为了快速上手,我们这里采用yum安装LAMP,如果你想尝试,也可以使用源码版LAMP,效果是一样,都是为了解析zabbix php代码.执行如下命令安装LAMP环境: yum install httpd httpd-d

搭建部署 分布式ELK平台 (一)

搭建部署 分布式ELK平台 ELK 是什么 ? ELK 其实并不是一款软件,而是一整套解决方案,是三个软件产品的首字母缩写 – Elasticsearch:负责日志检索和储存 – Logstash:负责日志的收集和分析.处理 – Kibana:负责日志的可视化 这三款软件都是开源软件,通常是配合使用,而且又先后归于 Elastic.co 公司名下,故被简称为 ELK ELK 能做什么? ? ELK组件在海量日志系统的运维中,可用于解决: – 分布式日志数据集中式查询和管理 – 系统监控,包含系统

淘宝分布式配置管理服务Diamond

在一个分布式环境中,同类型的服务往往会部署很多实例.这些实例使用了一些配置,为了更好地维护这些配置就产生了配置管理服务.通过这个服务可以轻松地管理这些应用服务的配置问题.应用场景可概括为: zookeeper的一种应用就是分布式配置管理(基于ZooKeeper的配置信息存储方案的设计与实现).百度也有类似的实现:disconf. Diamond则是淘宝开源的一种分布式配置管理服务的实现.Diamond本质上是一个Java写的Web应用,其对外提供接口都是基于HTTP协议的,在阅读代码时可以从实现

分布式云平台基础服务

Net 分布式云平台基础服务建设说明概要 1)  背景 建设云平台的基础框架,用于支持各类云服务的业务的构建及发展. 2)  基础服务 根据目前对业务的理解和发展方向,总结抽象出以下几个基础服务,如图所示 3)  概要说明 基础服务的发展会根据业务的发展,调整和完善,也会不断的改进,演变及完善:当然根据目前公司的现状和对基础服务的迫切程度,基础服务各模块的定位和发展预期将如下所述. 1)     数据库中间件 公司现状: 1)     对多种类型数据库的支持需求迫切,如同时支持mysql,orc

.Net 分布式云平台基础服务

.Net 分布式云平台基础服务 1)  背景 建设云平台的基础框架,用于支持各类云服务的业务的构建及发展. 2)  基础服务 根据目前对业务的理解和发展方向,总结抽象出以下几个基础服务,如图所示 3)  概要说明 基础服务的发展会根据业务的发展,调整和完善,也会不断的改进,演变及完善:当然根据目前公司的现状和对基础服务的迫切程度,基础服务各模块的定位和发展预期将如下所述. 1)     数据库中间件 公司现状: 1)     对多种类型数据库的支持需求迫切,如同时支持mysql,orcale,s

.Net 分布式云平台基础服务建设说明概要

1)  背景 建设云平台的基础框架,用于支持各类云服务的业务的构建及发展. 2)  基础服务 根据目前对业务的理解和发展方向,总结抽象出以下几个基础服务,如图所示 3)  概要说明 基础服务的发展会根据业务的发展,调整和完善,也会不断的改进,演变及完善:当然根据目前公司的现状和对基础服务的迫切程度,基础服务各模块的定位和发展预期将如下所述. 1)     数据库中间件 公司现状: 1)     对多种类型数据库的支持需求迫切,如同时支持mysql,orcale,sqlserver这些数据库.最多

开源日志分析系统ELK平台搭建部署

开源日志分析系统ELK平台搭建部署 一.前言 日志主要包括系统日志.应用程序日志和安全日志.系统运维和开发人员可以通过日志了解服务器软硬件信息.检查配置过程中的错误及错误发生的原因.经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误. 通常,日志被分散的储存不同的设备上.如果你管理数十上百台服务器,你还在使用依次登录每台机器的传统方法查阅日志.这样是不是感觉很繁琐和效率低下.当务之急我们使用集中化的日志管理,例如:开源的syslog,将所有服务器上的日志收集汇总. 集中化管理