Redis部署文档

Redis部署文档

最小部署

一、ip规划

功能 IP
mysq+cc+lvs+influxdb 129.211.109.110
ccagent1 172.17.16.41
ccagent2 172.17.16.94
ccagent3 172.17.16.134
ccagent4 172.17.16.68

二、MySQL部署

#1.安装服务端与客户端
yum install mariadb mariadb-server -y


#2.启动mysql 加入开机自启
systemctl start mariadb.service
systemctl enable mariadb.service


#3.将mysql初始化 修改密码为myPassword
mysql_secure_installation


#4.登录mysql授权
MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'myPassword' WITH GRANT OPTION;


#5.测试登录
mysql -h129.211.109.110 -uroot -pmyPassword

三、cc+lvs+influxdb部署

cc

#1.cc下载mysql客户端
yum install mariadb -y


#2.创建必要的目录
mkdir Tstack


#3.进入目录并解压所需文件
cd Tstack
tar zxvf ted.redis.tar.gz


#4.进入目录
cd ted.redis/product/product-redis-cc_ccagent/module-redis-control-center/config


#5.修改配置文件
vim db_config.py
DB_TYPE = "mysql"                      ##数据库类型
DATABASE_HOST = "129.211.109.110"        ##数据库地址
DATABASE_PORT = 3306                   ##数据库端口
DATABASE_USER = "root"                 ##数据库账号名
DATABASE_PASSWD = "myPassword"         ##数据库密码
DATABASE_NAME = "newcc_1001"           ##管控数据库名


vim cluster_watcher.properties
# 监控数据库账号:密码@tcp(host:port)/监控数据库名
dburl=root:password@tcp(129.211.109.110:3306)/monitor_1001
# 监控数据库账号:密码@tcp(host:port)/监控数据库名
monitordburl=root:password@tcp(129.211.109.110:3306)/monitor_1001
# 管控数据库账号:密码@tcp(host:port)/管控数据库名
ccdburl=root:password@tcp(129.211.109.110:3306)/newcc_1001
# 不需要修改
sharkdburl=mysql_user:mysql_passwd@tcp(10.24.0.13:22001)/redis_oss  
# 不需要修改
setId=1001


vim dbinit.sh
MYSQL客户端配置:
MYSQL_CLIENT_PATH=mysql
注:默认配置mysql,如果没有将mysql命令加入系统搜索路径,请配置绝对路径,例     如:/usr/local/mysql/bin/mysql,否则数据库初始化会失败

配置管控数据库信息:
CC_DB_HOST=129.211.109.110                # IP地址
CC_DB_PORT=3306                          # 端口
CC_DB_USER=root                          # 用户名
CC_DB_PASS=myPassword                    # 密码 
CC_DB_NAME=newcc_1001                    # 管控数据库名

配置监控数据库信息:
MONITOR_DB_HOST=129.211.109.110            # IP地址
MONITOR_DB_PORT=3306                     # 端口
MONITOR_DB_USER=root                     # 用户名
MONITOR_DB_PASS=myPassword               # 密码
MONITOR_DB_NAME=monitor_1001             # 监控数据库名


#6.执行服务安装脚本
cd ..
cd TCE
sh -x install.sh all
sh -x check.sh
输出信息:control_center is ok. 即为服务安装启动成功

influxdb

#1.登录influxdb服务器 解压文件包
mkdir Tstack
cd Tstack
tar zxvf ted.redis.tar.gz


#2.进入目录 安装服务并检查
cd ted.redis/product/product-redis-cc_ccagent/module-redis-influxdb/TCE/
sh -x install.sh all
sh -x check.sh

lvs

#1.登录lvs服务器 解压文件包
mkdir Tstack
cd Tstack
tar zxvf ted.redis.tar.gz


#2.进入目录
cd ted.redis/product/product-redis-cc_ccagent/module-redis-lvs-keepalived/config/
    

#3.修改配置文件
vim redis_lvs.conf
! Configuration File for keepalived
    global_defs {                               # 全局配置部分
router_id LVS_MASTER                            # 运行keepalived机器的一个标识
    }
    vrrp_instance VI_1 {                    # 设置vrrp组,唯一且同一LVS服务器组要相同
state MASTER                                # 备份LVS服务器设置为BACKUP
interface eth1                              # 设置对外服务的接口(根据实际情况修改)
virtual_router_id 51                        # 设置虚拟路由标识
priority 100                                # 设置优先级,数值越大,优先级越高,backup设置小于100,当master宕机后自动将backup高的变为master。
advert_int 1                                # 设置同步时间间隔
authentication {                            # 设置验证类型和密码,master和buckup一定要设置一样
auth_type PASS
auth_pass 1111
    }
    virtual_ipaddress {                    # 设置VIP,可以多个,每个占一行
             129.211.109.110
        }
    }
    include /data/redis/keepalived/etc/redis_lvs/*.conf

vim lvsmanger.conf
[mysql]
#管控数据库账号:密码@tcp(host:port)/管控数据库名                                            cc_dburl=root:w14i#t1NPW@tcp(129.211.109.110:3306)/newcc_1001   
[lvs]
lvs_conf=/data/redis/keepalived/etc/redis_lvs/redis_rs.conf    # 无需修改
[log]
dir=../log    # lvs log目录,根据实际情况配置
     
vim cc_rs.conf
virtual_server 129.211.109.110 6000 {  # VIP VPORT
    delay_loop 6
    lb_algo sed
    lb_kind NAT
    protocol TCP
   real_server 129.211.109.110 6000 {  # 管控机器IP和PORT
        weight 1
        TCP_CHECK {
            connect_timeout 8
            nb_get_retry 3
            delay_before_retry 3
            }
    }
   real_server 129.211.109.110 6000 {   # 管控机器IP和PORT
        weight 1
        TCP_CHECK {
            connect_timeout 8
            nb_get_retry 3
            delay_before_retry 3
            }
    }
}
    
    
#4.安装并检测
cd ted.redis/product/product-redis-cc_ccagent/module-redis-lvs-keepalived/TCE/
sh -x install.sh all
sh -x check.sh

注:以上测试不成功可以卸载服务 重新安装

进入TCE/目录,执行服务卸载脚本:sh -x uninstall.sh all

四、cache_agent部署

#1.传安装包给cache_agent
scp ted.redis.tar.gz 172.17.16.41:/root/Tstack


#2.解压安装包
tar zxvf ted.redis.tar.gz


#3.进入目录修改配置文件
cd ted.redis/product/product-redis-cc_ccagent/module-redis-cache-agent/config
vim mul_monitor_agent.conf
waterLogLevel 2                                   # 无需修改
    coloeLogLevel 2                               # 无需修改
    ShmChangeIntval 600                           # 无需修改
    reportIntval 60                               # 无需修改
    LOG_FILE log/monitor_agent_log                # 无需修改
    zkhost 10.24.0.10:2181,10.24.0.11:2181,10.24.0.12:2181
                                                  # 无需修改
    sysId 1001                                    # 无需修改
    cityid 1001                                   # 无需修改
    mulservers 129.211.109.110:55100
    # control_center机器IP/VIP:mulserver-port(默认使用55100
    # 注:此一配置项如果是最小部署就写真实的管控机器IP,如果是高可用部署就写VIP


#4.安装服务并检测
cd ted.redis/product/product-redis-cc_ccagent/module-redis-cache-agent/TCE
sh -x install.sh all
sh -x check.sh

当混部的时候 proxy和cache上架会冲突

可以在数据库中手动添加

mysql -h129.211.109.110 -uroot -pmyPassword

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| monitor_1001       |
| mysql              |
| newcc_1001         |
| performance_schema |
+--------------------+

use newcc_1001;

MariaDB [newcc_1001]> show tables;
+-----------------------+
| Tables_in_newcc_1001  |
+-----------------------+
| alarm_info_t          |
| alarm_template_t      |
| app_account_t         |
| app_misc_config_t     |
| config_state_t        |
| interface_machine_t   |
| interface_proc_t      |
| lnmp                  |
| machine_misc_config_t |
| machine_run_info      |
| maint_task_t          |
| proc_misc_config_t    |
| redis_l5_t            |
| redis_machine_t       |
| redis_procs_t         |
| resource_lock_t       |
| soft_info_t           |
| soft_version_t        |
| sys_misc_config_t     |
| task_queue_t          |
+-----------------------+
20 rows in set (0.00 sec)

MariaDB [newcc_1001]> select * from redis_machine_t;
+--------------+-------+--------+
| ip           | state | idc_id |
+--------------+-------+--------+
| 172.17.16.41 |     1 |      0 |
| 172.17.16.94 |     1 |      0 |
+--------------+-------+--------+
2 rows in set (0.00 sec)

MariaDB [newcc_1001]> select * from interface_machine_t;
+---------------+-------+--------+
| ip            | state | idc_id |
+---------------+-------+--------+
| 172.17.16.134 |     1 |      0 |
+---------------+-------+--------+

MariaDB [newcc_1001]> insert into redis_machine_t(ip,state,idc_id) values('172.17.16.134',1,0);
Query OK, 1 row affected (0.00 sec)

MariaDB [newcc_1001]> insert into interface_machine_t(ip,state,idc_id) values('172.17.16.41',1,0);
Query OK, 1 row affected (0.00 sec)

MariaDB [newcc_1001]> insert into interface_machine_t(ip,state,idc_id) values('172.17.16.94',1,0);
Query OK, 1 row affected (0.01 sec)
 cat /usr/local/services/standby_cc_for_tstack-1.0/redis/cc/src/resource_manager_v2/__init__.py 
from resource_manager_v2.instance import Instance
from resource_manager_v2.machine import Machine
from resource_manager_v2.metrics import Metric
from resource_manager_v2.process import Process

__all__ = ["Instance", "Machine", "Metric", "Process", "MinClusterInstanceNode", "ArbiterNodeMemory"]

# 最小集群节点数
MinClusterInstanceNode = 1
# arbiter节点指定容量
ArbiterNodeMemory = 1 * 1024 ** 2


可以改一下这个配置,就不用4台了
posted @ 2020-03-19 18:04  干瘪的柠檬  阅读(411)  评论(0)    收藏  举报