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台了

浙公网安备 33010602011771号