范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

HA服务器架构基于CentOS7

  linux文件夹含义
  /bin - 重要的二进制 (binary) 应用程序
  /boot - 启动 (boot) 配置文件
  /dev - 设备 (device) 文件
  /etc - 配置文件、启动脚本等 (etc)
  /home - 本地用户主 (home) 目录
  /lib - 系统库 (libraries) 文件
  /lost+found - 在根 (/) 目录下提供一个遗失+查找(lost+found) 系统
  /media - 挂载可移动介质 (media),诸如 CD、数码相机等
  /mnt - 挂载 (mounted) 文件系统
  /opt - 提供一个供可选的 (optional) 应用程序安装目录
  /proc - 特殊的动态目录,用以维护系统信息和状态,包括当前运行中进程 (processes) 信息
  /root - root (root) 用户主文件夹,读作"slash-root"
  /sbin - 重要的系统二进制 (system binaries) 文件
  /sys - 系统 (system) 文件
  /tmp - 临时(temporary)文件
  /usr - 包含绝大部分所有用户(users)都能访问的应用程序和文件
  /var - 经常变化的(variable)文件,诸如日志或数据库等 centos7防火墙操作永久打开一个80端口 firewall-cmd --zone=public --add-port=80/tcp --permanent  firewall-cmd --reload  启动一个服务: systemctl start firewalld.service 关闭一个服务: systemctl stop firewalld.service 重启一个服务: systemctl restart firewalld.service 显示一个服务的状态: systemctl status firewalld.service 在开机时启用一个服务: systemctl enable firewalld.service 在开机时禁用一个服务: systemctl disable firewalld.service 查看服务是否开机启动: systemctl is-enabled firewalld.service 查看已启动的服务列表: systemctl list-unit-files|grep enabled 查看启动失败的服务列表: systemctl --failed  keeplievedkeeplieved的简介
  Keepalived的作用是检测服务器的状态,如果有一台web服务器宕机,或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后Keepalived自动将服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的服务器 keepalievd安装Keepalived:192.168.3.206 HA1 Keepalived:192.168.3.207 HA2关闭selinux ### 查看 [root@dev-server ~]# getenforce Disabled [root@dev-server ~]# /usr/sbin/sestatus -v SELinux status:                 disabled  ### 临时关闭 ##设置SELinux 成为permissive模式 ##setenforce 1 设置SELinux 成为enforcing模式 setenforce 0  ###永久关闭 vim /etc/selinux/config  ###SELINUX=enforcing改为SELINUX=disabled   下载或者上传 压缩包 wget http://www.keepalived.org/software/keepalived-1.3.9.tar.gz 解压 &编译 tar -xzvf keepalived-1.3.9.tar.gz #编译 cd keepalived-1.3.9/ ./configure   make   make install 修改Master主机配置
  vim /usr/local/etc/keepalived/keepalived.conf global_defs {    notification_email {      heyapenggz@163.com #管理员邮箱列表    }    notification_email_from root@localhost    smtp_server 127.0.0.1    smtp_connect_timeout 30    router_id HA1 #主机名 }  vrrp_instance VI_1 {     state MASTER #角色     interface ens33 #网卡编号     virtual_router_id 51     priority 100 #权重     advert_int 1     authentication {         auth_type PASS         auth_pass 1111     }     virtual_ipaddress {         192.168.3.210/24 #VIP     } } 修改BACKUP主机配置 vim /usr/local/etc/keepalived/keepalived.conf global_defs {    notification_email {      heyapenggz@163.com    }    notification_email_from root@localhost    smtp_server 127.0.0.1    smtp_connect_timeout 30    router_id NodeB }  vrrp_instance VI_1 {     state BACKUP     interface ens33     virtual_router_id 51     priority 90     advert_int 1     authentication {         auth_type PASS         auth_pass 1111     }     virtual_ipaddress {         192.168.3.140/24     } }    设置开机启动 Centos6 cp /usr/local/keepalived/sbin/keepalived /usr/sbin/  cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/keepalived  cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/  mkdir -p /etc/keepalived  cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf  chmod +x /etc/init.d/keepalived  chkconfig –add keepalived  chkconfig keepalived on
  Centos 7 mkdir -p /etc/keepalived/ cp  /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/  systemctl enable keepalived.service  常见问题OpenSSL is not properly installed on your system.   !!! OpenSSL is not properly installed on your system. !!!   !!! Can not include OpenSSL headers files.            !!!
  解决办法:     yum -y install openssl-devel error: no acceptable C compiler found in $PATH error: no acceptable C compiler found in $PATH
  解决办法: yum install gcc  Mysql双主双复制集群mysql安装
  1.删除系统自带数据库 yum remove mariadb*  安装mysql5.6 rpm -ivh MySQL-server-5.6.21-1.el6.x86_64.rpm 设置开机启动 并启动mysql chkconfig mysql on  service mysql start 登录root账户并修改root密码 cat /root/.mysql_secret  mysql -u root -p set password =PASSWORD("eshu2017");  配置共同账户 CREATE USER "ha"@"%" IDENTIFIED BY "eshu2017";  GRANT ALL ON *.* TO "ha"@"%";  flush privileges;  配置HA1主服务器 server-id = 1 log-bin=mysql-bin  binlog-do-db = ha binlog-ignore-db = mysql #主-主形式需要多添加的部分 log-slave-updates sync_binlog = 1 auto_increment_offset = 1 auto_increment_increment = 2 replicate-do-db = ha replicate-ignore-db = mysql,information_schema 配置HA2主服务器 server-id = 2 log-bin=mysql-bin  replicate-do-db = ha replicate-ignore-db = mysql,information_schema,performance_schema        #主-主形式需要多添加的部分 binlog-do-db = ha binlog-ignore-db = mysql log-slave-updates sync_binlog = 1 auto_increment_offset = 2 auto_increment_increment = 2
  8.重启两台服务器 并配置复制账户 修改HOSTS vim /etc/hosts  在HA1 mysql上运行 grant replication slave on *.* to "replicate"@"HA2" identified by "eshu2017";  在HA2 mysql上运行 grant replication slave on *.* to "replicate"@"HA1" identified by "eshu2017";  配置复制(分别配置为另一台服务器的slave) show master status;  #记录下来file   Position 两个值供子节点的 master_log_file =  master_log_pos= 使用  stop SLAVE        change  master to master_host="192.168.3.207",master_user="ha",master_password="eshu2017",master_log_file="mysql-bin.000001",master_log_pos=817;   start slave  fastDFS下载
  包含两部分 一部分为lib 一部分为fastDFS https://github.com/happyfish100/libfastcommon/releases  	 https://github.com/happyfish100/fastdfs/releases  安装安装lib tar xf libfastcommon-1.0.7.tar.gz cd libfastcommon-1.0.7 ./make.sh ./make.sh install  安装fastDFS tar xf fastdfs-5.09.tar.gz cd fastdfs-5.09 ./make.sh ./make.sh install
  3.配置 配置文件路径 cd /etc/fdfs cp storage.conf.sample storage.conf cp tracker.conf.sample tracker.conf  tracker节点配置 tracker.conf #绑定IP bind_addr= #端口 port=22122 #连接超时时间 connect_timeout=30 #日志数据路径 base_path=/data/fdfs_tracker #上传文件时选择group的方法 #0:轮询,1:指定组,2:选择剩余空间最大 store_lookup=2 #如果上面的配置是1,那么这里必须指定组名 store_group=group2 #上传文件时选择server的方法 #0:轮询,1:按IP地址排序,2:通过权重排序 store_server=0 #storage上预留空间 reserved_storage_space = 10%  storage节点 storage.conf #storage server所属组名 group_name=group1 #绑定IP bind_addr= #storage server的端口 port=23000 #连接超时时间 connect_timeout=30 #日志数据路径 base_path=/data/fdfs_storage/base #storage path的个数 store_path_count=2 #根据store_path_count的值,就要有storage0到storage(N-1)个 store_path0=/data/fdfs_storage/storage0 store_path1=/data/fdfs_storage/storage1 #跟踪服务器 tracker_server=192.168.1.222:22122 tracker_server=192.168.1.233:22122   创建文件夹 mkdir -p /data/fdfs_storage/base mkdir -p /data/fdfs_storage/storage0 mkdir -p /data/fdfs_storage/storage1 mkdir -p /data/client  打开防火墙端口 firewall-cmd --zone=public --add-port=22122/tcp --permanent  firewall-cmd --zone=public --add-port=23000/tcp --permanent   配置客户端 cd /etc/fdfs cp client.conf.sample client.conf vi client.conf #存放日志目录 base_path=/data/client #跟踪服务器 tracker_server=192.168.1.222:22122 tracker_server=192.168.1.233:22122  启动服务并设置开机启动systemctl start fdfs_trackerd.service systemctl start fdfs_storaged.service  systemctl enable fdfs_storaged.service systemctl enable fdfs_trackerd.service 测试文件上传 echo "12345678" >> /data/1.txt fdfs_upload_file /etc/fdfs/client.conf /data/1.txt 文件下载 fdfs_download_file /etc/fdfs/client.conf group1/M00/00/00/wKgB3li3a2mAejYPAAAADok0NhY177.txt 追加 echo "hello" >> /data/2.txt fdfs_upload_appender /etc/fdfs/client.conf /data/1.txt fdfs_append_file /etc/fdfs/client.conf group1/M00/00/00/wKgB3li3bxCEAcqhAAAAAIk0NhY869.txt /data/2.txt  删除 fdfs_delete_file /etc/fdfs/client.conf group1/M00/00/00/wKgB3li3a2mAejYPAAAADok0NhY177.txt  查看文件信息 fdfs_file_info /etc/fdfs/client.conf group1/M00/00/00/wKgB3li3a2mAejYPAAAADok0NhY177.txt 查看集群 fdfs_monitor /etc/fdfs/client.conf  常用命令 fdfs_appender_test fdfs_appender_test1 fdfs_append_file fdfs_crc32 fdfs_delete_file fdfs_download_file fdfs_file_info fdfs_monitor fdfs_storaged fdfs_test fdfs_test1 fdfs_trackerd fdfs_upload_appender fdfs_upload_file    两台服务器,各启动三个实例,形成三主三从
  实验机器IP: 192.168.3.206 192.168.3.207
  系统环境:centos 7 1、安装所需环境和工具yum -y install wget vim tcl gcc make 2、下载redis 压缩包并解压cd /usr/local/ wget http://download.redis.io/releases/redis-4.0.1.tar.gz tar -zxvf redis-4.0.1.tar.gz 3、编译redis源文件cd redis-4.0.1 make & make install  # 测试:make test
  (如果 /usr/local/bin/ 文件夹内没有 redis-server 那几个文件,就从 /usr/local/redis-4.0.1/src/ 中拷贝过去,命令:cp redis-server redis-cli redis-sentinel redis-benchmark redis-check-aof redis-check-rdb /usr/local/bin/) 4、配置内核参数
  配置 vm.overcommit_memory 为1,这可以避免数据被截断 sysctl -w vm.overcommit_memory=1 5、创建多实例的文件夹,用来存放不同实例的配置文件cd /usr/local/ mkdir cluster cd cluster mkdir 7000 7001 7002 6、修改配置文件vim /usr/local/redis-4.0.1/redis.conf  bind 192.168.2.247(需要不同服务器的节点连通,就不能设置为 127.0.0.1) protected-mode no(需要不同服务器的节点连通,这个就要设置为 no) daemonize yes(设置后台运行redis) cluster-enabled yes cluster-node-timeout 5000 appendonly yes  # 根据不同端口需要设置的地方 port 7000 pidfile /var/run/redis_7000.pid logfile /var/log/redis/redis_7000.log dbfilename dump_7000.rdb appendfilename "appendonly_7000.aof" cluster-config-file nodes_7000.conf  7、复制配置文件到各个实例文件夹,并修改相应端口号和参数cp -f /soft/redis-4.0.1/redis.conf /usr/local/cluster/7000/ cp -f /soft/redis-4.0.1/redis.conf /usr/local/cluster/7001/ cp -f /soft/redis-4.0.1/redis.conf /usr/local/cluster/7002/  mkdir /var/log/redis/  8、启动各个实例cd /usr/local/redis-4.0.1/src/ ./redis-server /usr/local/cluster/7000/redis.conf & ./redis-server /usr/local/cluster/7001/redis.conf & ./redis-server /usr/local/cluster/7002/redis.conf &
  使用 ps -ef|grep redis 查看是否都启动成功,IP和端口号都正确 9、防火墙开通端口号策略(这里用centos7默认的firewall-cmd)firewall-cmd --zone=public --add-port=7000-7002/tcp --permanent firewall-cmd --zone=public --add-port=17000-17002/tcp
  --permanent(必须开集群总线端口,集群总线端口=端口号+10000,例:7000的集群总线端口是17000。这个集群总线端口不开放,集群的时候外部服务器的节点添加不进来) firewall-cmd --reload
  #彻底关闭防火墙 systemctl stop firewalld.service  systemctl disable firewalld.service
  ================================================================================== ====================== 1~9都是要在两台服务器中操作的 =========================== ================================================================================== 10、测试两台服务器是否都能 telnet 得通另一台的 7000~7002 和 17000~17002yum isntall telnet -y  telnet 192.168.3.206 7000  11、安装 ruby 环境yum -y install ruby rubygems 12、更新gem源,国外的会被墙,所以换一个国内的gem sources --remove https://rubygems.org/ --remove https://ruby.taobao.org/ -a https://gems.ruby-china.org gem source -l  gem cleanup gem list  13、使用gem安装 redis和 ruby接口gem install redis (或 gem install redis --version 4.0.1) 14、创建集群 cd /usr/local/redis-4.0.1/src/ ./redis-trib.rb create --replicas 1 192.168.3.206:7000  192.168.3.206:7001 192.168.3.206:7002 192.168.3.207:7000  192.168.3.207:7001 192.168.3.207:7002 留意屏幕,会有一句(type "yes" to accept),输入 yes ,回车,就是接受自动分配的三主三从 如果最后出现 [OK] All nodes agree about slots configuration. >>> Check for open slots... >>> Check slots coverage... [OK] All 16384 slots covered.
  说明成功了。
  如果是出现 Waiting for the cluster to join........... 一直有 "."出现,说明另一台服务器的端口策略没通,一直在等那边的节点加入集群,那么恭喜你,要悲剧了..... 15、验证集群节点数cd /usr/local/redis-4.0.1/src/ ./redis-cli -h 192.168.2.247 -c -p 7000
  CLUSTER NOTES 设置密码
  如果集群要设置密码,集群启动后要在各个节点下设置: config set masterauth abc config set requirepass abc config rewrite  16、常见问题redis requires Ruby version >= 2.2.2       gem install redis  其中 gem install redis命令执行时出现了:   redis requires Ruby version >= 2.2.2的报错,查了资料发现是Centos默认支持ruby到2.0.0,可gem 安装redis需要最低是2.2.2  解决办法是 先安装rvm,再把ruby版本提升至2.3.3  gpg2 --keyserver hkp://keys.gnupg.net --recv-keys D39DC0E3     curl -L get.rvm.io | bash -s stable     find / -name rvm -print                    source /usr/local/rvm/scripts/rvm            rvm list known              rvm install 2.3.3       rvm use 2.3.3       rvm use 2.3.3 --default       rvm remove 2.0.0       ruby --version   snmp安装snmp简介snmp安装yum install -y net-snmp  yum install -y net-snmp-devel  yum install -y net-snmp-libs    配置修改配置文件
  /etc/snmp/snmpd.conf/etc/snmp/snmpd.conf 配置防火墙 firewall-cmd --zone=public --add-port=161/udp --permanent  配置开机启动 nginx 及 FastDfs-nginx-modle安装
  分别解压两个文件包 tar -xzvf nginx-1.12.2.tar.gz  tar -xzvf fastdfs-nginx-module_v1.16.tar.gz
  修改 vim /home/data/bin/fastdfs-nginx-module/src/config CORE_INCS="$CORE_INCS /usr/local/include/fastdfs /usr/local/include/fastcommon/" #去掉local
  编译  cd  nginx-1.12.2/ ./configure --add-module=../fastdfs-nginx-module/src make  make install
  配置插件
  cd /home/data/bin/fastdfs-nginx-module/src vim mod_fastdfs.conf tracker_server=192.168.3.206:22122 url_have_group_name = true  store_path_count=2 store_path0=/data/fdfs_storage/storage0 store_path1=/data/fdfs_storage/storage1
  复制fastdfs文件 cp mod_fastdfs.conf /etc/fdfs  cd /home/data/bin/fastdfs-5.11/conf cp anti-steal.jpg http.conf mime.types /etc/fdfs/
  配置nginx
  vim /usr/local/nginx/conf/nginx.conf
  在web中增加配置 location /group1/M00 {     ngx_fastdfs_module; }
  启动 /usr/local/nginx/sbin/nginx  注意
  在已经安装过 Nginx 的服务器上安装配置 fastdfs-nginx-module 模块?我们直接进入 Nginx 的存放目录,进行配置后编译,就不需要执行最后安装make install这一步了,接着重启就行了。

华为P50曝光,硬件配置能对小米OPPO旗舰手机产生威胁吗?文小伊评科技先说一个结论,对于现阶段的华为旗舰机型来说,只要是正常发挥,就绝对不愁卖(况且每一年的P系列机型也确实没让我们失望)。因为在高端手机市场,华为和OPPO,小米,VIVO互联网各路炒币信息推波助澜虚拟货币虚火全靠托?中国互联网金融协会中国银行业协会中国支付清算协会明确要求,互联网平台企业会员单位不得为虚拟货币相关业务活动提供网络经营场所商业展示营销宣传付费导流等服务,但上海证券报记者近日注意到vivo凭什么登顶国内手机市场第一?说到手机行业的引领创新,很多人都会联想到苹果。但是有一家国产手机厂商却一直在被人们所忽视,那就是vivo。以前总有人表示,买vivo的都不懂手机,然而vivo现在却成为了国内手机市手机相机的专业模式怎么用?HDR是什么意思?手机相机的专业模式怎么用?HDR是什么意思?分别来看手机相机的专业模式和HDR。专业模式手机相机的专业模式。手机相机的专业模式,即可手动控制快门速度感光度测光模式对焦模式白平衡曝光人工智能画的照片,比相机拍的还真实!艺术家要失业了?一幅绘画作品,远看是河流拱桥水边的树木与路灯下的行人,近看画面是由一个个细胞和小眼睛组成。这是一个由自然人和机器共同创造的作品,由艺术家丹尼尔安布罗西(DanielAmbrosi)出门旅游相机只挂一只镜头,拍风光和人像照,应该选那只镜头?感谢邀请。看了几个回答,其中一位摄影师的答案我表示不敢苟同,这位朋友首先排除24105f4,最后推荐2470f2。8,个人意见正好相反,作为旅游来说不推荐2470f2。8。首先必须2021年了,不升级5G会比别人落后吗?4G和5G的区别究竟在哪里?自从5G概念出现之后,话题度一直居高不下,人们对5G生活充满期待。然而如果谈起4G和5G的区别,可能大家多少会不知道从何说起。也许在我们对它寄予期待和我们的生活相融合之前,我们有必币圈崩没崩?文财经国家周刊记者王亭亭爆仓了,亏了7000万元。我只亏了几百万,已经算幸运了。交易所拔网线了?怎么完全无法操作?过去24小时,全球虚拟货币投资者的心情经历了一场过山车式的崩塌价格东风除了是导弹制造商,造豪华性能新能源SUV也是拿手好戏太平洋汽车网评测频道自从新能源市场火爆以来,韭菜就再也不是一种普通的食品了。由于市面上优秀的新能源汽车品牌少之又少,所以用户似乎都一直被那几个头部品牌割韭菜,而作为老牌传统汽车制造一芯难求,芯片紧缺的问题到底什么时候可以得到解决?现在芯片有多紧缺你知道嘛?先是汽车行业今年产量就减少了390万,更是有很多汽车型号因为芯片不足而导致停产,其中就包括大众起亚等汽车,甚至早在2018年的时候时任北汽集团的董事长徐和无人驾驶智能家居远程医疗等必须得有5G才能实现吗?1。此前5G被过度宣传的原因,估计通信行业内的人都清楚是谁起的头,直到因为众所周知的原因导致有企业的收入下降营销费用被削减,5G的宣传热度才下降,再加上前财长楼继伟站出来说话,对5
人工智能与动物对话机器学习算法可以窃听动物语言吗?乌干达的这些黑猩猩可以像2岁的孩子一样学习理解人类语言圈养的黑猩猩懂英语,和2岁的孩子一样,并使用人类手语的符号。海豚共同协调他们的动作来打开容器并把国产车卖到80万,对标ModelX,详解高合HiPhiX的三电系统在传统燃油车领域,中国汽车起步较晚,所以在品牌技术工业体系等方面,自主品牌车型与国外车型的差距一直都是存在的。不过,随着智能化电动化技术的发展,这种状况在新能源市场得到了较明显的改一文读懂地球科学引擎PIEEngine让遥感腾云驾雾导语PIEEngine地球科学引擎是航天宏图自主研发的一套基于容器云技术构建的面向地球科学领域的专业PaaSSaaS云计算服务平台,基于自动管理的弹性大数据环境,多源遥感数据处理分东数西算之计算机设备篇我们之前讲了一下东数西算受益的行业,其中受益最直接和最广泛的肯定是数据中心设备提供商和软件服务商。所以我们今天来看看计算机设备行业的公司,哪些是跟东数西算有关系的,哪些关系不大。然俄罗斯希望在监狱中招募IT专家对乌克兰的袭击导致俄罗斯前所未有的人才流失数以万计的电子和IT行业的科学家和工程师外流。为了保持俄罗斯高科技经济的运转,目前正在考虑采取严厉措施在俄罗斯监狱中,将在IT领域被判处劳美斥资促进电动车电池生产据路透社5月2日报道,美国官员2日说,拜登政府将划拨超过30亿美元基础设施资金,用于资助电动汽车动力电池制造。这笔资金将由能源部从拜登总统去年签署的一万亿美元基础设施法案中划拨。能win11大更新,新功能也太骚了吧话说,最近Win11还挺活跃的,印象中似乎一直在更新,果然,Windows在更新频率上从不会让我们失望不过嘛,虽然每次更新可能会给我们带来一些或大或小的bug,但是也会有一些新功能零售百货生鲜配送扩张医疗健康大发展为了可以正常的长期分享,我还是保持只总结一些比较简洁的内容,分享实属不易希望大家点点关注点点赞。内容有好有普通主要就是要持续观看,我会长期分享,给大家带来一定的帮助。从短期来看,考CORS跨域资源共享CrossOriginResourceSharing一CORS是如何工作的?基于Web的资源共享涉及到两个基本的角色,即资源的提供者和消费者。针对我们前面演示的应用场景,即显示在浏览器中的某个Web页面通过调用WebAPI的方式来获毕业季就业季放眼量为什么数字经济将成为提升大学生就业质量的重要途径?央广网北京5月4日消息(记者唐婧)据中央广播电视总台经济之声天下财经报道,经济之声特别报道毕业季就业季,本期推出第四篇放眼量为什么数字经济将成为提升大学生就业质量的重要途径?今年春汽车行业鏖战2022之4月篇汽车行业的竞争激烈程度,已经到了月初比销量和新交付量的关键时间段,随着5月到来,汽车行业,特别是新能源汽车行业的新造车势力,都陆续发布了自身的销售量和交付量,以及累计交付量。从数据