[TOC] ## 1. 更换主控IP 首先登录官网修改授权的主控 IP,然后登录每个节点,执行下面的命令: ``` new_master_ip="这里替换为新主控IP" sed -i "s/ES_IP =.*/ES_IP = \"$new_master_ip\"/" /opt/cdnfly/agent/conf/config.py sed -i "s/MASTER_IP.*/MASTER_IP = \"$new_master_ip\"/g" /opt/cdnfly/agent/conf/config.py sed -i "s/hosts:.*/hosts: [\"$new_master_ip:9200\"]/" /opt/cdnfly/agent/conf/filebeat.yml supervisorctl restart filebeat supervisorctl restart agent supervisorctl restart task ``` ## 2. 如何搬迁主控 注意:下面的迁移步骤不包括迁移elasticsearch的数据 1) 备份旧主控数据 在旧主控执行如下命令开始备份(注意:备份前会停止旧主控的进程) ``` cd /root curl http://us.centos.bz/cdnfly/backup_master.sh -o backup_master.sh chmod +x backup_master.sh ./backup_master.sh ``` 这时候将在目录/root下,打包生成cdn.sql.gz文件,请把这个文件传输到新主控的/root/目录下,可以使用scp命令,命令如下: ``` cd /root scp cdn.sql.gz root@新主控IP:/root/ ``` 2)在新机器安装好主控程序 首先登录cdnfly.cn,更新授权为新主控ip,并清空机器码 登录旧主控机器,执行如下命令查看版本: ``` grep VERSION_NAME /opt/cdnfly/master/conf/config.py ``` 如下图,版本为v4.1.6: ![](https://img.kancloud.cn/5f/83/5f837559f2bb65a6405c99d75bb91870_1214x92.png =500x) 登录新机器,执行如下命令安装: ``` curl http://dl.cdnfly.cn/cdnfly/master.sh -o master.sh chmod +x master.sh ./master.sh --ver <这里替换为旧主控的版本> ``` 3)登录新主控,恢复备份 执行如下命令恢复 ``` cd /root curl http://us.centos.bz/cdnfly/restore_master.sh -o restore_master.sh chmod +x restore_master.sh ./restore_master.sh ``` 从旧主控下载/opt/cdnfly/master/conf/config.py上传到新主控覆盖 然后在新主控初始化es,重启新主控 命令为: ``` cd /tmp wget us.centos.bz/cdnfly/int_es.sh -O int_es.sh chmod +x int_es.sh ./int_es.sh supervisorctl restart all ``` 4)替换节点里的主控IP 一个个登录节点,执行如下命令替换 ``` new_master_ip="这里替换为新主控IP" sed -i "s/ES_IP =.*/ES_IP = \"$new_master_ip\"/" /opt/cdnfly/agent/conf/config.py sed -i "s/MASTER_IP.*/MASTER_IP = \"$new_master_ip\"/g" /opt/cdnfly/agent/conf/config.py sed -i "s/hosts:.*/hosts: [\"$new_master_ip:9200\"]/" /opt/cdnfly/agent/conf/filebeat.yml supervisorctl restart filebeat supervisorctl restart agent supervisorctl restart task ``` 5)迁移完成 登录新主控后台,在首页点击检查agent,如果没有错误,表示主控迁移完成。之后可以再次开启健康检查。 ## 3. 获取授权 如何授权到期,或者在授权前安装程序,可以登录主控,执行如下命令获取授权: ``` # 获取授权 source /opt/venv/bin/activate cd /opt/cdnfly/master/view ret=`python -c "import util;print util.get_auth_code()" || true` [[ $ret == "(True, None)" ]] && echo "已获取到授权" || echo "未授权,请先购买" deactivate ``` ## 4. 如何取消管理端域名绑定 在主控上执行如下命令 ``` mysql -uroot -p@cdnflypass cdn -e "update config set value='' where name='admin_domain';" ``` ## 6. 如何重置主控密码 执行如下命令,重置密码为cdnfly,用户名不变 ``` mysql -uroot -p@cdnflypass cdn -e 'update user set password="$2b$12$UV5ttpNQizMfO.tiBk9ereZ53hDBW0.kak3qa/GRP6aVBfNMB1NsK" where id=1' ``` ## 8. 如何初始化elasticsearch 当elasticsearch出现无法解决的异常,或者elasticsearch数据占满了硬盘,可以执行此操作来初始化elasticsearch,注意:初始化elasticsearch会清空其所有的数据。 执行如下命令初始化: ``` cd /tmp wget us.centos.bz/cdnfly/int_es.sh -O int_es.sh chmod +x int_es.sh ./int_es.sh ```