• Disconf实践指南:安装篇


    Disconf是百度开源出来的一款基于Zookeeper的分布式配置管理软件。目前很多公司都在使用,包括滴滴、百度、网易、顺丰等公司。通过简单的界面操作就可以动态修改配置属性,还是很方便的。使用Disconf后发现的一大好处是省却应用很多配置,而且配置可以自动load,实时生效。

    Disconf优点总结如下:

    部署简单:同一个上线包,无须改动配置,即可在多个环境中上线 
    部署动态化:更改配置,无需重新打包或重启,即可实时生效 
    统一管理:提供web平台,统一管理多个环境多个产品的所有配置

    如果想直接了解如何使用Disconf,可直接阅读Disconf实践指南:使用篇,不过了解如何安装可以更深入了解Disconf的工作原理,同时方便以后代码的调试。

    需要安装Nginx、Tomcat、Zookeeper、Redis和MySQL。 
    Nginx:处理静态资源请求、动态请求转发到Tomcat 
    Tomcat:处理Nginx的请求 
    Zookeeper:管理Disconf配置信息,配置变更通过zk通知 
    Redis:用户session管理 
    MySQL:应用管理、用户管理、角色管理、环境管理、配置持久化

    一、安装Nginx 
    1、Nginx官网下载源码包 
    下载稳定版本:nginx-1.12.0.tar.gz

    2、安装到/usr/local/nginx

    tar -zxvf nginx-1.12.0.tar.gz 
    cd nginx-1.12.0 
    ./configure –prefix=/usr/local/nginx –with-zlib=../zlib-1.2.11 –with-pcre=../pcre-8.39 
    make 
    sudo make install

    3、修改监听端口

    server {
            listen       8091;
            server_name  localhost;
    
            index index.html;
            #charset koi8-r;
    
            #access_log  logs/disconf_access.log;
    
        location / {
                #root /Users/chubin/Applications/disconf-stable/disconf-web/html;
                root /usr/local/disconf/war/html;
            index index.html;
            }
        }

    4、启动Nginx

    cd /usr/local/nginx 
    启动 
    sudo sbin/nginx #ps aux | grep nginx或者访问localhost:8091 
    重启 
    sudo sbin/nginx -s reload 
    停止 
    sudo sbin/nginx -s stop

    5、将disconf-stable/disconf-web/html复制到/usr/local/disconf/war/

    6、修改Nginx代理配置和静态资源目录

    upstream disconf {
            server 127.0.0.1:8080; #tomcat服务器的地址
        }
    
        server {
            listen       8091; #监听端口
            server_name  localhost;
    
            index index.html;
        location / {
                root /usr/local/disconf/war/html; #静态资源目录
            index index.html;
            }
    
            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;
            }
         }

    二、安装Tomcat 
    1、Tomcat官网下载安装包 
    下载Tomcat 7.x以上的版本:apache-tomcat-8.5.15.tar.gz 
    2、安装到任意目录 
    /xxx/apache-tomcat-8.5.15 
    3、启动Tomcat

    ./catalina.sh start #访问浏览器localhost:8080

    三、安装Zookeeper 
    1、Zookeeper官网下载安装包 
    zookeeper-3.4.10.tar.gz 
    2、启动Zookeeper

    cd zookeeper-3.4.10/bin 
    ./zkServer start #ps aux | grep zoo验证进程是否起来 
    ./zkCli.sh #zk客户端

    四、安装Redis 
    1、下载Redis源码包,Redis官网 
    2、解压安装

    tar zxvf ../Downloads/redis-3.2.9.tar.gz 
    cd redis-3.2.9 
    make 
    make install #安装后在/usr/local/bin会有redis的脚本 
    cp redis.conf /etc 
    vi /etc/redis.conf ##将daemonize no改为daemonize yes 
    /usr/local/bin/redis-server /etc/redis.conf 
    ps aux | grep redis #如果启动成功会有redis的进程

    3、配置主从 
    由于Disconf至少需要配置两台redis-client,所以我们可以在一台机器(本机)上安装master/slave模式的redis集群

    cp /etc/redis.conf /etc/redis2.conf #redis2启动在6380端口 
    vi redis2.conf #配置slaveof 127.0.0.1 6379 
    sudo ./redis-server /etc/redis2.conf 
    ps aux | grep redis

    4、设置主从的shardname

    ./redis-cli #redis.conf 
    auth foobared 
    set name ‘BeidouRedis1’ 
    ./redis.cli #redis2.conf 
    auth foobared 
    set name ‘BeidouRedis2’

    五、安装MySQL 
    1、下载MySQL源码包,MySQL官网 
    2、安装MySQL

    tar zxvf ../Downloads/mysql-5.7.18-macos10.12-x86_64.tar.gz 
    sudo mv mysql-5.7.18 /usr/local/mysql #移动MySQL到安装目录 
    sudo support-files/mysql.server start #启动MySQL 
    ./mysqladmin -u root -p password 1234 #修改root用户初始密码 
    ./mysql -u root -p 1234 #自带客户端连接MySQL

    3、如果觉得麻烦,可以直接下载dmg安装文件,简单省事 
    4、导入disconf的sql脚本

    • 0-init_table.sql #建库建表
    • 1-init_data.sql #插入数据
    • 201512/20151225.sql #历史配置表

    5、最终数据库如下: 
    disconf

    六、安装Disconf 
    1、下载Disconf源码包,Disconf-stable 
    disconf-stable 
    2、导入IDEA,运行Disconf 
    到disconf-web目录,将online-resources下的配置文件拷贝一份到src/main/resources下,包含的文件有:

    application.properties #应用自身的配置文件 
    jdbc-mysql.properties #数据库配置 
    redis-config.properties #redis配置 
    zoo.properties #Zookeeper配置

    如果以上配置都OK的话,在IDEA启动本地Tomcat,访问http://localhost:8091,默认账户admin/admin。

    disconf1

    disconf2

    至此,全部安装结束,本地搭建Disconf成功,下一步就是让应用接入Disconf了。安装配置有任何问题欢迎评论O(∩_∩)O哈!

  • 相关阅读:
    邻接矩阵
    LeetCode
    LeetCode
    LeetCode
    LeetCode
    LeetCode
    LeetCode
    LeetCode
    LeetCode
    LeetCode
  • 原文地址:https://www.cnblogs.com/liuzy2014/p/7735746.html
Copyright © 2020-2023  润新知