精华内容
下载资源
问答
  • 金仓数据库V8版本的部署文档 v8 版本需要在Linux 系统下运行 建议使用R2 版本 金仓数据库V8版本的部署文档 v8 版本需要在Linux 系统下运行 建议使用R2 版本
  • Cloudera Manager双机部署操作手册.docxCloudera Manager双机部署操作手册.docx
  • 双机部署session共享

    2018-10-24 15:08:15
    Redis部署解决共享session问题,解决session不同步问题
  • Nginx 和 Tomcat的项目双机部署以及均衡负载 意义: (一)项目的双机部署,能防止一台服务器发生宕机时,另一台服务器能继续提供服务。 (二)均衡负载和双机的部署,能减轻部署项目的服务器压力,同时能提升用户...

    意义:
    (一)项目的双机部署,能防止一台服务器发生宕机时,另一台服务器能继续提供服务。
    (二)均衡负载和双机的部署,能减轻部署项目的服务器压力,同时能提升用户访问应用的良好体验。
    (三)适用于目前的企业项目部署导向和应用需求。

    双击部署
    部署准备:
    1、准备下载两台tomcat服务器,建议部署版本8以上,分别配置使用不同的端口号,避免启动冲突闪退。
    2、准备下载一个Nginx服务器,建议部署版本4以上。

    部署操作:
    1、在安装的目录下,修改(如D:\testDeploy\nginx-1.14.2\conf)nginx-1.14.2的nginx.conf配置,
    在这里插入图片描述
    注意:配置Nginx和tomcat的连接超时时间为 1s ,可以提升用户的良好体验使用。
    在这里插入图片描述

    #keepalive_timeout  0;
        keepalive_timeout  65;
    
        #gzip  on;
    	
    	#配置两台服务器的均衡负载
    	upstream tomcatserver {
        server 127.0.0.1:8081 weight=1;
        server 127.0.0.1:8082 weight=2;
    }
    
        server {
            listen       80;
            server_name  localhost;
    
            #charset koi8-r;
    
            #access_log  logs/host.access.log  main;
    
            location / {
    			proxy_pass http://tomcatserver;
    			proxy_redirect  default;
    			proxy_connect_timeout 1;
    			proxy_read_timeout 1;
    			proxy_send_timeout 1;
    
            }
    
            #error_page  404              /404.html;
    
            # redirect server error pages to the static page /50x.html
            #
    

    2、tomcat的端口配置,在安装的目录下(如 D:\Tomcat\apache-tomcat-7.0.96\conf),修改Tomcat的配置
    在这里插入图片描述
    在这里插入图片描述
    完成以上的配置部署,就可以完成项目的双机部署,以及Nginx的均衡负载。
    若遇到以上问题,可以留言帮忙解决(1145382675@qq.com)。

    展开全文
  • 因为硬件原因之前在做OpenStack环境搭建的时候,各种各样的错误,限制于自己的技术水平和当时太稚嫩,将...Q版OpenStack安装部署一、官方文档二、基础环境虚机硬件:1、配置信息:2、网络配置2.1、为什么不将网卡模式.
     因为笔记本硬件原因之前在做OpenStack环境搭建的时候,各种各样的错误,限制于自己的技术水平和当时太稚嫩,将环境搭建失败的原因归结于硬件原因。 正好最近升级了下自己的笔记本,回想起之前搭建了那么多次,没有一次是完完整整的成功的 ,有点遗憾,所以将OpenStack在重新搭建一遍,顺带记录下过程,和搭建中间碰到的各种的问题。 
    
    PS:本文保证,你只要是按照我的步骤一步步来的,保证可以搭建成功!

    一、官方文档

    首先将官方文档放上来,本文安装流程是以官方文档为准,因为我也是按照官方文档一步步搭建的,所以搭建环境的时候打开官方文档对照着查看还是有必要的。

    Q版官方文档直达地址

    PS:官方文档还是看默认英文的吧,如果你切换成中文的就会发现只有M版和L版,

    在这里插入图片描述
    默认英文状态下你就可以看到Q版的官方文档了,甚至还有最新的U版的,

    在这里插入图片描述

    二、基础环境

    首先介绍下基础环境,这个是非常重要的,如果你基础环境都准备不好,那么你在搭建OpenStack各个服务的时候会遇到各种奇葩的问题。后期搭建服务的时候出问题大部分都是前面的基础操作没有做好,比如主机名、本地DNS解析、selinux没关、防火墙firewalld没有设置开机自动关闭等等。

    虚机硬件:

    我使用的是vmware的虚机,操作系统是centos7.4版本,准备两台,
    ——》一个作为controller控制节点;
    ——》一个作为compute数据节点;

    1、配置信息:

    角色主机名硬件配置
    controllervlinx1440101 cpu 4Gmem 20Gdisk
    conputevlinx1440111 cpu 4Gmem 20Gdisk

    这个根据你的实际情况来进行划分,上面这个只是通过OpenStack官方文档建议的最小的配置来设置的,因为两台机器用途是不同的,
    ——》controller 控制节点,上面会安装很多的软件启动很多的服务,甚至数据库都在他上面,内存可以给多点;
    ——》compute数据节点,他主要是用来提供硬件资源,启动虚机的,他本身启动的服务就是个nova、neutron和我复用在上面的cinder,他主要就是为创建的虚机来提供硬件资源,所以在搭建过程中不需要给太大

    在部署的初期的时候controller控制节点上面2CPU 4G内存足够了,而在compute节点上2CPU2G内存绰绰有余,当你环境搭建好之后可以在手动的给compute节点来提升资源。

    这是我后期部署好之后两台机器的配置:
    controller节点:

    在这里插入图片描述
    compute节点:

    在这里插入图片描述

    2、网络配置

    注意,基础环境的网络配置是非常重要的,非常重要的,非常重要,敲黑板!!!

    根据官方文档中的介绍,
    “所有节点都需要互联网访问,用于管理目的,如包安装、安全更新、DNS和NTP。 在大多数情况下,节点应该通过管理网络接口获得互联网接入。 为了突出网络分离的重要性,示例体系结构为管理网络使用私有地址空间,并假设物理网络基础设施通过NAT或其他方法提供Internet访问。”
    而在基础配置的时候说准备两块网卡:
    ——》一块网卡配置10.0.0.0/24网络地址作为管理网络来使用;
    ——》另外一块网卡,连接外网,不配置地址,留着后面创建neutron的时候使用;

    我的配置也是两块网卡:
    ——》一块网卡配置192.168.144.0/24网段地址,作为管理网络来使用,在vmware中设置为仅主机模式;
    ——》另一块网卡设置为NAT模式,IP地址自动划分,网段是192.168.223.0/24,通过他连接外网,后期neutron使用的也是这块网卡;

    官方文档第二块网卡也就是连接外网的网卡是不需要配置地址的设置为none模式,等着neutron服务使用就可以了,但是前期安装软件的时候就是需要来进行联网的,所以我又加了一块桥接模式的网卡,通过他联网来进行软件的安装,而且我按照配置走了一遍到后期的时候创建provider网络是没法分配地址的,导致创建虚机无法连接外网。
    索性我就将连接外网的这块网卡设置为NAT模式通过vmware自带的DHCP划分地址来进行使用,前面上网安装软件,后期提供neutron服务使用都是他。

    2.1、为什么不将网卡模式设置为桥接模式呢?

    NAT模式可以连接外网但是桥接模式模式也是可以连接外网啊!为什么使用NAT模式呢?

    ——》首先桥接模式连接往外的方式是找外界的路由器获取一个地址,配置在自己的网卡上来进行外网通信,但是你不确定你的外网路由器的情况是什么样子的,他是不可测的;

    比如:路由器的DHCP地址池有多少个地址、你每次得到的地址是不是同一个、当你在创建provider网络时是需要占用路由器作为DHCP网段的一部分地址分配给虚机的,你没法确定他的范围!

    ——》接着NAT模式,他是通过SNAT源地址和DNAT目的地址解析,使用的IP地址还是本地的网络,没有申请新的外网路由器的地址,只是在数据包出去的时候改下源地址,数据包回来的时候改下目标地址,以这样的方式来进行外网访问,

    主要就是NAT模式下分配给虚机的网段是vmware自己分配的,我们可以自己定义,后期再创建provider网络的时候可以随便给,

    下面是我虚机中NAT网络的配置:

    在这里插入图片描述

    完成

    两个虚机创建好的后截图,

    controller虚机:
    配置:2CPU+4Gmem+20Gdisk
    在这里插入图片描述

    compute虚机:

    配置:2cpu+2Gmem+20disk
    PS1:这里我们在cpu部分将半虚拟化打开,这个是配置nova的时候需要设置的,提前设置好。
    PS2:这里我们多添加了一块硬盘5G的,这个是给cinder组件来使用的,现在添加上来就好。

    在这里插入图片描述

    虚机软件

    1、配置主机名设置本地DNS解析

    controller:

    这里主要是将主机名设置好,因为后期通过xshell连接的时候就是通过他来判断自己到底是在哪台主机上面。
    还有就是在本地DNS解析文件中将192.168.144.10的主机名解析多加一个controller,设置好这个在配置文件中就不用了写IP地址了,一个主机名就可以了。
    最后测试下能够通过controller主机名ping通就可以了。

    # hostname
    vlinx144010.com
    # cat /etc/hosts
    192.168.144.10	vlinx144010.com	vlinx144010 controller
    192.168.144.11	vlinx144011.com	vlinx144011
    
    # ping -c2 controller 
    

    在这里插入图片描述

    compute:
    在compute节点上一样的操作就是主机名是vlinx144011.com

    hostname
    

    在这里插入图片描述

    2、关闭selinux和firewalld

    controller和compute两台机器上都要执行,

    setenforce 0
    sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
    getenforce 
    
    systemctl disable firewalld
    systemctl stop firewalld
    systemctl status firewalld
    

    在这里插入图片描述

    3、时间同步

    OpenStack的节点时间是需要进行同步的,但是我使用的是两台机器,而且都是可以进行联网的,完全可以都通过网络源来进行时间同步,但是我还是将controller和网络源同步时间,然后compute 和controller同步时间。

    controller:

    yum install chrony.x86_64
    
    vim /etc/chrony.conf 
      3 server 0.centos.pool.ntp.org iburst		#将四个网络源留下一个就好
     27 allow 192.168.144.0/24					#配置允许访问的客户端列表
     31 local stratum 10						#本地的优先级
    

    在这里插入图片描述
    查看时间同步并设置开机启动:

    chronyc sources -v
    systemctl enable --now chronyd
    

    在这里插入图片描述

    compute:

    compute上安装软件并指定时间同步源是controller节点,

    yum install chrony.x86_64 
    vim /etc/chrony.conf 
    
    server controller iburst
    

    在这里插入图片描述
    启动服务并查看时间同步:

    systemctl start chronyd
    systemctl enable --now chronyd
    chronyc sources -v
    

    在这里插入图片描述

    4、配置yum源

    下载yum源到本地,controller和compute都要执行

    wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
    yum repolist 
    

    在这里插入图片描述
    接着安装Q版的仓库

    yum install centos-release-openstack-queens.noarch
    

    在这里插入图片描述
    安装Q版仓库可以查看下,
    在这里插入图片描述

    5、更新内核

    我查看了下内核的参数,我现在是安装好之后是没有进行update更新的状态,看内核版本安装Q版本是可以的,所以我没有进行更新,
    如果你的内核版本低于这个就需要进行update更新了!

    cat /etc/centos-release
    

    在这里插入图片描述
    然后安装OpenStack客户端,验证下能否正常安装软件:(两个节点都要安装)

    yum install python-openstackclient -y
    

    必要软件:

    1、MySQL数据库(controller)

    在OpenStack环境中使用mysql数据库来存储各个服务的基础数据,

    因为mysql已经商用默认源中是没有他的软件包的,所以可以使用mariadb,mariadb和mysql没啥区别,他是开源的,就在我们的centos7源中有软件包直接安装就可以了。

    数据库服务通常运行在控制器节点上。

    安装MySQL软件

    yum install mariadb mariadb-server python2-PyMySQL
    

    在这里插入图片描述

    编辑配置文件
    创建一个[mysqld]部分,并将bind-Address键设置为控制器节点的管理IP地址,以使其他节点能够通过管理网络访问。
    设置附加键以启用有用的选项和UTF-8字符集:

    vim /etc/my.cnf.d/openstack.cnf
    
    [mysqld]
    bind-address = 192.168.144.10
    default-storage-engine = innodb
    innodb_file_per_table = on
    max_connections = 4096
    collation-server = utf8_general_ci
    character-set-server = utf8
    

    设置开机自动启动并启动服务查看状态

    systemctl enable mariadb.service 
    systemctl start mariadb.service 
    systemctl status mariadb.service
    

    在这里插入图片描述
    通过运行mysql_secure_installation脚来对数据库进行初始化操作。

    执行这个脚本会依次询问你:

    1. 是否设置root密码?——》Y,直接设置root密码——》Xylong_000
    2. 是否删除匿名用户?——》Y,
    3. 不允许root用户远程登录?——》Y,
    4. 是否删除测试数据库?——》Y,
    5. 是否重新加载授权表?——》Y,

    PS:我认为这个脚本最方便的就是可以直接修改root密码,剩下的知道干啥就行,一路Y就可以了。

    在这里插入图片描述

    验证:

    在这里插入图片描述

    2、安装rabbitMQ消息队列(controller)

    在OpenStack环境中各个服务的操作和状态都是通过rabbitMQ来协调的,有的时候当我们无法正常执行命令的时候,可以尝试重启下rabbitMQ服务,也许有效果。

    因为我们的控制节点、数据节点、存储节点,相互之间是需要进行通信的,通信的时候需要借用些消息的传递,rabbitMQ就是为他们提供消息的传递,节点之前传递消息的时候会存放到rabbitMQ中,其他节点再到rabbitMQ中调取消息。

    消息队列服务通常运行在控制器节点上。

    OpenStack支持的消息队列有很多,包括Rabbit MQ、Qpid和Zero MQ。 但是,包OpenStack的大多数发行版都支持特定的消息队列服务。

    安装软件

    yum install rabbitmq-server
    

    在这里插入图片描述
    设置开机启动并启动服务

    systemctl enable rabbitmq-server.service
    systemctl start rabbitmq-server.service
    

    对于rabbitMQ的配置就是创建一个用户设置好权限,这里为了好记密码设置的是123,后面创建OpenStack服务的时候,密码也都是123,

    rabbitmqctl add_user openstack 123
    rabbitmqctl set_permissions openstack ".*" ".*" ".*"
    

    在这里插入图片描述

    验证

    我们可以启动rabbitMQ的web管理,通过页面访问来查看rabbitMQ的状态,

    rabbitmq-plugins list
    rabbitmq-plugins enable rabbitmq_management
    

    浏览器地址:http://controller:15672/
    用户名和密码都是:guest

    在这里插入图片描述

    3、memcache(controller)

    在OpenStack环境中keystone服务颁布的令牌就是使用memcache来缓存的,也就是缓存用户的验证信息。

    memcached服务通常运行在控制器节点上。

    安装软件

    yum install memcached python-memcached
    

    在这里插入图片描述

    配置服务使用控制器节点的管理IP地址。 这是为了使其他节点能够通过管理网络访问:

    vim /etc/sysconfig/memcached 
    

    在这里插入图片描述
    设置开机启动并启动服务

    systemctl enable memcached.service 
    systemctl start memcached.service 
    systemctl status memcached.service 
    

    在这里插入图片描述

    验证:

    通过配置文件可以知道它开启的是11211端口,看下端口是否启动

    在这里插入图片描述

    4、etcd(controller)

    OpenStack服务可以使用ETCd,这是一个分布式的可靠的键值存储,用于分布式密钥锁定、存储配置、跟踪服务的动态性和其他场景。
    在控制器节点上运行etcd服务。

    yum install etcd
    

    在这里插入图片描述
    编辑/etc/etcd/etcd.conf文件,并将ETCD_INITIAL_CLUSTER,ETCD_INITIAL_ADVERTISE_PEER_URLS,ETCD_ADVERTISE_CLIENT_URLS设置为控制器节点的管理IP地址,以使其他节点能够通过管理网络访问:

    vim /etc/etcd/etcd.conf 
    
    #[Member]
    ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
    ETCD_LISTEN_PEER_URLS="http://controller:2380"
    ETCD_LISTEN_CLIENT_URLS="http://controller:2379"
    ETCD_NAME="controller"
    

    在这里插入图片描述

    #[Clustering]
    ETCD_INITIAL_ADVERTISE_PEER_URLS="http://controller:2380"
    ETCD_ADVERTISE_CLIENT_URLS="http://controller:2379"
    ETCD_INITIAL_CLUSTER="controller=http://controller:2380"
    ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster-01"
    ETCD_INITIAL_CLUSTER_STATE="new"
    

    在这里插入图片描述
    设置开机启动并启动服务

    systemctl enable etcd
    systemctl start etcd
    

    在这里插入图片描述

    报错:

    启动服务失败,通过journal -xe命令查看无法访问http://controller:2380
    error verifying flags, expected IP in URL for binding (http://controller:2380). See ‘etcd --help’.

    在这里插入图片描述
    估计是配置文件中得写入IP地址,写入设置的主机名是不生效的,回配置文件修改下,

    vim /etc/etcd/etcd.conf 
    
    #[Member]
    ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
    ETCD_LISTEN_PEER_URLS="http://192.168.144.10:2380"
    ETCD_LISTEN_CLIENT_URLS="http://192.168.144.10:2379"
    ETCD_NAME="controller"
    
    #[Clustering]
    ETCD_INITIAL_ADVERTISE_PEER_URLS="http://192.168.144.10:2380"
    ETCD_ADVERTISE_CLIENT_URLS="http://192.168.144.10:2379"
    ETCD_INITIAL_CLUSTER="controller=http://192.168.144.10:2380"
    ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster-01"
    ETCD_INITIAL_CLUSTER_STATE="new"
    

    在这里插入图片描述
    接着在启动服务就没问题了,

    systemctl start etcd
    systemctl status etcd
    

    在这里插入图片描述

    验证:

    查看etcd服务的端口是打开的,

    在这里插入图片描述

    总结:

    现在基础环境就都安装完成了,大体说下做了什么操作,

    1. 首先是准备好两个centos7.4的虚机,根据担当的角色不同分为controller和compute,controller上面会跑大量的服务所以内存可以大一点,compute会在上面启动虚机,所以对CPU的要求大一些,
    2. 然后网络方面两台机器都是需要两块网卡,一块是是仅主机模式作为控制网络也作为内部通信;一块设置为NAT模式,前期用来连接外网进行软件包安装,后期用来neutron服务使用,创建实例想联通外网都是需要通过他做的。
    3. 接着是基础设置,配置网络、设置主机名、添加本地的DNS解析,安装chrony服务用于时间同步,关闭selinux和firewalld防火墙
    4. 最后安装必要的软件,mariadb数据库、rabbitMQ详细队列、memcache缓存服务、etcd存储键值对
    systemctl is-active chronyd mariadb.service rabbitmq-server.service memcached.service etcd.service 
    

    在这里插入图片描述

    现在基础环境就搭建好了,我们可以重启下看看服务会不会自动启动,然后可以做个快照作为备份,避免后面的误操作导致环境损坏而需要重新搭建,可以直接恢复快照从这一步开始,安装软件还是比较依赖网络的,在安装mariadb的时候一个mariadb.server的包安装灰常的慢,简直让我怀疑人生。

    三、节点部署

    OpenStack中的必须节点有keystone、glance、nova、neutron四个节点,
    首先,keystone应该是第一个进行安装的节点,其他节点进行通信的时候都是需要通过keystone节点;
    接着,glance节点,负责image镜像,启动实例的时候提供镜像服务,负责存储各个不同操作系统的镜像;
    接着,nova节点,负责管理实例,创建、删除、管理等操作;
    最后,neutron节点,负责网络,二层和三层网络,通过linuxbridge网桥来镜像连接;
    其实最小化的OpenStack环境这四个节点都完全足够了,有他们就可以创建出来一个实例了,
    接着,dashboard就是提供一个图形界面,只要在web页面上点点就可以启动一个实例,创建网络等等操作;
    最后,cinder节点,提供一个额外的volume存储卷,启动实例的时候可以创建卷给他绑定上去,自己搭建的玩,有没有都行;

    OpenStack Q版双机部署-keystone

    OpenStack Q版双机部署-glance

    OpenStack Q版双机部署-nova

    OpenStack Q版双机部署-neutron

    OpenStack Q版双机部署-dashboard

    OpenStack Q版双机部署-cinder

    四、启动实例

    OpenStack Q版双机部署-启动实例

    展开全文
  • 提前准备两台机器(200M+内存),假定为A、B ●要求:在A,B上分别安装部署mysql双实例,端口为3306,3307。 ●要求: 完成3306端口A--->B的mysql主从同步(replication) 完成3307端口B--->A的mysql主从同步...

    提前准备两台机器(200M+内存),假定为A、B  ●要求:在A,B上分别安装部署mysql双实例,端口为3306,3307。  ●要求:       完成3306端口A--->B的mysql主从同步(replication)       完成3307端口B--->A的mysql主从同步(replication)

    时间30分钟提示:mysql可事先操作到make install完成。

    测试准备:

    服务器A:192.168.1.77      服务器B:182.168.1.66

    ====================================================================================●●测试:3306端口A--->B的mysql主从同步●●

    ◆主库操作:(192.168.1.77)

    [root@pangpang 3306]# mysql -u root -p'pangpang' -S /data/3306/mysql.sock    # 登录3306数据库

    mysql> grant replication slave on *.* to 'ryanrep'@'192.168.1.%' identified by 'ryanrep';   # 建立用于同步的账号ryanrep

    mysql> flush tables with read lock;    # 锁表只读

    mysql> show master status;   # 查看master状态当前日志文件名和二进制日志偏移量+----------------------+----------+--------------+------------------+| File                 | Position | Binlog_Do_DB | Binlog_Ignore_DB |+----------------------+----------+--------------+------------------+| mysql3306-bin.000001 |      627 |              |                  | +----------------------+----------+--------------+------------------+1 row in set (0.00 sec)

    单开新窗口,备份数据库:

    mysqldump -u root -p -S /data/3306/mysql.sock -A -B >/home/hackbase/ryannew3306.sql    # 备份3306数据库

    rsync -vzrtopg --progress -e 'ssh -p 52113' /home/hackbase/ryannew3306.sql hackbase@192.168.1.66:/home/hackbase/

    # 以上是用rsync把备份的3306数据库推送到192.168.1.66服务器的/home/hackbase目录下。

    mysql> unlock tables;   # 主库解锁,恢复可写。

    mysql> create database 3306test;   # 创建3306test数据库

    ◆从库操作:(192.168.1.66)

    mysql -u root -p'pangpang' -S /data/3306/mysql.sock

    [root@pangpang 3306]# vi my.cnf    # 编辑my.cnf文件

    删掉或注释 logbin,并修改id

    #log-bin=mysql3306-bin

    server-id = 2       # 把id改一下,可改成0-255之间的数字,只要和主库的不一样就行。

    [root@pangpang 3306]# /data/3306/mysql restart    # 重启从库

    [root@pangpang 3306]# mysql -u root -p'pangpang' -S /data/3306/mysql.sock   # 用以下命令在从库里和主库进行连接

    CHANGE MASTER TO  MASTER_HOST='192.168.1.77', MASTER_PORT=3306,MASTER_USER='ryanrep', MASTER_PASSWORD='ryanrep', MASTER_LOG_FILE='mysql3306-bin.000001',MASTER_LOG_POS=627;

    接着启动同步命令,并查看:(slave)

    mysql> slave start;

    mysql> show slave status\G      # 下面的两个显示Yes的话为成功

    Slave_IO_Running: Yes          Slave_SQL_Running: Yes

    ---------数据库主从同步测试--------------

    进入主库进行操作:(192.168.1.77)

    [root@pangpang 3306]# mysql -u root -p'pangpang' -S /data/3306/mysql.sock   # 登录3306数据库

    mysql> show databases;    # 显示所有数据库+--------------------+| Database           |+--------------------+| information_schema | | 3306test           | | mysql              | | test               | +--------------------+4 rows in set (0.01 sec)

    mysql> use 3306test    # 连接数据库

    mysql> create table hacker3306(name varchar(8));   # 创建表

    mysql> insert into hacker3306 value('hacker');   # 插入数据

    mysql> select * from hacker3306;    # 查看表里面的内容+---------+| name    |+---------+| hacker | +---------+1 row in set (0.00 sec)

    进入从库进行查看:(192.168.1.66)

    [root@pangpang 3306]# mysql -u root -p'pangpang' -S /data/3306/mysql.sock  # 登录3306数据库

    mysql> show databases;    # 显示所有数据库

    mysql> use 3306test     # 连接数据库

    mysql> show tables;   # 显示所有表

    mysql> select * from hacker3306;   # 查看表里面的内容

    可以看到已经同步过来了。

    ====================================================================================●●测试:3307端口B--->A的mysql主从同步●●

    ◆主库:(192.168.1.66)

    [root@pangpang 3307]# mysql -u root -p'pangpang' -S /data/3307/mysql.sock   # 登录3307数据库

    mysql> grant replication slave on *.* to 'ryanrep'@'192.168.1.%' identified by 'ryanrep';   # 建立用于同步的账号ryanrep

    mysql> flush tables with read lock;    # 锁表只读

    mysql> show master status;  # 查看master状态当前日志文件名和二进制日志偏移量+----------------------+----------+--------------+------------------+| File                 | Position | Binlog_Do_DB | Binlog_Ignore_DB |+----------------------+----------+--------------+------------------+| mysql3307-bin.000001 |      860 |              |                  | +----------------------+----------+--------------+------------------+1 row in set (0.00 sec)

    单开新窗口,备份数据库

    mysqldump -u root -p -S /data/3307/mysql.sock -A -B >/home/hackbase/ryannew3307.sql   # 备份3307数据库

    rsync -vzrtopg --progress -e 'ssh -p 52113' /home/hackbase/ryannew3307.sql hackbase@192.168.1.77:/home/hackbase/

    # 以上是用rsync把备份的3307数据库推送到192.168.1.77服务器的/home/hackbase目录下。

    mysql> unlock tables;    # 主库解锁,恢复可写。

    mysql> create database 3307test;   # 创建3307test数据库

    ◆从库操作:(192.168.1.77)

    mysql -u root -p'pangpang' -S /data/3307/mysql.sock

    [root@pangpang 3307]# vi my.cnf   # 编辑my.cnf文件

    删掉或注释 logbin,并修改id

    #log-bin=mysql3307-bin

    server-id = 3       # 把id改一下,可改成0-255之间的数字,只要和主库的不一样就行。(这里要注意不要和上面的重复)

    [root@pangpang 3307]# /data/3307/mysql restart   # 重启从库

    [root@pangpang 3307]# mysql -u root -p'pangpang' -S /data/3307/mysql.sock   # 用以下命令在从库里和主库进行连接

    CHANGE MASTER TO  MASTER_HOST='192.168.1.66', MASTER_PORT=3307,MASTER_USER='ryanrep', MASTER_PASSWORD='ryanrep', MASTER_LOG_FILE='mysql3307-bin.000001',MASTER_LOG_POS=860;

    启动同步命令,并查看:(slave)

    mysql> slave start;

    mysql> show slave status\G      # 下面的两个显示Yes的话为成功

    Slave_IO_Running: Yes          Slave_SQL_Running: Yes

    ---------数据库主从同步测试--------------

    进入主库进行操作:(192.168.1.66)

    [root@pangpang 3307]# mysql -u root -p'pangpang' -S /data/3307/mysql.sock   # 登录3307数据库

    mysql> show databases;    # 显示所有数据库+--------------------+| Database           |+--------------------+| information_schema | | 3306test           | | mysql              | | test               | +--------------------+4 rows in set (0.01 sec)

    mysql> create database hacker3307;   # 创建hacker3307数据库

    mysql> use hacker3307   # 连接hacker3307数据库

    mysql> create table 3307test(name varchar(8));  # 创建表

    mysql> insert into 3307test value('hacker');   # 插入数据

    mysql> select * from 3307test;    # 查看3307test表里面的内容+---------+| name    |+---------+| hacker | +---------+1 row in set (0.00 sec)

    进入从库进行查看:(192.168.1.77)

    [root@pangpang 3307]# mysql -u root -p'pangpang' -S /data/3307/mysql.sock

    mysql> show databases;    # 显示所有数据库

    mysql> use hacker3307   # 连接hacker3307数据库

    mysql> show tables;   # 显示所有表

    mysql> select * from 3307test;   # 查看3307test表里面的内容+---------+| name    |+---------+| hacker | +---------+1 row in set (0.01 sec)

    可以看到已经同步过来了。

    ====================================================================================

    小编推荐:欲学习电脑技术、系统维护、网络管理、编程开发和安全攻防等高端IT技术,请 点击这里注册账号,公开课频道价值万元IT培训教程免费学,让您少走弯路、事半功倍,好工作升职加薪!

    免责声明:本站系公益性非盈利IT技术普及网,本文由投稿者转载自互联网的公开文章,文末均已注明出处,其内容和图片版权归原网站或作者所有,文中所述不代表本站观点,若有无意侵权或转载不当之处请从网站右下角联系我们处理,谢谢合作!

    展开全文
  • 中山中学采用两台梭子鱼高端型号产品BSF600作为邮件网关,对垃圾邮件进行过滤,在使用的半年间,系统平均负荷在5%左右,大大超出预期,双机部署提供了更大的处理性能。同时,利用DNS轮询作负载的均衡,两台BSF设置为...
  • sqlserver2008双机部署

    2018-06-04 15:30:50
    sqlserver2008r2在windows2008r2下的双机安装配置过程
  • ACS双机部署测试总结

    2019-04-20 00:41:58
    对于ACS双机或多机集群部署的简要测试结果说明,以及故障恢复的操作建议。
  • windows+sql双机部署

    2018-01-02 16:38:46
    本文档详细描述了windows故障集群+sql双机部署过程。
  • Web服务器双机部署手册(HA)[收集].pdf
  • PostgreSQL9.1 双机部署配置(主备数据同步)PostgreSQL9.1 双机部署配置(主备数据同步)
  • 深信服应用交付AD_双机部署最佳实践_V708R3.pdf
  • 【AD】深信服负载均衡_双机部署指导_v7.0.5.pdf
  • 双机热备安装部署方案,IBM服务器,磁盘阵列,rose
  • 经验交流社保信息化应用系统中Oracle双机部署方案分析与比较发布日期:2018-07-23 来源:互联网 浏览次数:186【导读】:当前大部分社保信息化建设的应用系统中,所使用的关系型数据库通常都会选用ORACLE数据库,...

    当前位置:首页 > 经验交流

    社保信息化应用系统中Oracle双机部署方案分析与比较

    发布日期:2018-07-23 来源:互联网 浏览次数:186

    【导读】:当前大部分社保信息化建设的应用系统中,所使用的关系型数据库通常都会选用ORACLE数据库,对于ORACLE数据库的部署方案,需要根据能提供的软硬件条件,选择合适的部署方案,下面介绍三种ORACLE数据库部署方案,以供在项目实施过程中提供学习参考。

    当前大部分社保信息化建设的应用系统中,所使用的关系型数据库通常都会选用ORACLE数据库,对于ORACLE数据库的部署方案,需要根据能提供的软硬件条件,选择合适的部署方案,下面介绍三种ORACLE数据库部署方案,以供在项目实施过程中提供学习参考。

    方案一:双机热备

    使用Rose HA做Failover系统,即单机提供服务,另一台热备。能解决主机故障包括OS故障、主机网卡故障、单个主机的网络故障等,通过Rose HA将两台或者多台数据库主机绑定一个服务IP,所有的Data file、Contr File、Redo log等都存放于共享的存储上,主机HA集群通过一个服务IP对外提供服务,通过Rose HA的管理集群中的各个主机运行在Active/Standby方式下,当其中一台主机发送故障时,Rose HA会自动的检测到故障并且将提供服务的IP切换到正常的主机上提供服务,从而保证了数据库服务的连续性和故障的自动切换。

    基本结构:

    d6c138f787197f22fbf02ad93dcae7b7.png

    存在问题:

    A)        Oracle程序文件安装两份存储于本地磁盘,数据文件仅一份存储于外部存储中。

    B)        必须依赖外部存储,用来存储数据库文件。

    C)        主备切换时间较长,1-2分钟(根据时间情况略有不同)。

    优势:双机热备,消除单点故障。无需手动干预。

    结构较简单,便于维护。

    劣势:数据文件仅一份存储于外部存储中,没有数据文件级的冗余备份。

    必须依赖存储实现整个结构。

    方案二:双机负载(oracle RAC)

    Oracle Real Application Cluster(Oracle Rac),RAC通过不同的节点(node)使用一个(一般是一个)或者多个Oracle实例(Instance)与一个数据库(Database)连接,该数据库存放于多个节点的公用存储(Share Storage)上,通过高速缓存合并技术使得集群中的每个节点可以通过集群高效的同步其内存高速缓存,从而最大限度地减低磁盘IO,并且自动并行处理及均匀分布负载,当其中一个节点发生故障时可以自动容错和恢复能力来实现节点的故障切换(Failover),从而保证数据库7X24小时的高可用性。

    基本结构:

    64280ca22cace58be1d0b71aabbd556b.png

    存在问题:

    A)        Oracle Rac需要单独的  license,需要另外采购授权。

    B)        使用外部存储,用来存储数据库文件。

    优势:实现双机热备,消除单点故障

    提供双机负载均衡,提高数据库性能

    劣势:Oracle Rac需要单独采购  license,费用较高。

    RAC的Data file、Control file、Redo log等都存放到共享的存储上,RAC只具备主机、应用的保护和负载均衡,并不具备容灾的功能,如共享磁盘设备损坏或者不可预料的损失将导致RAC环境的不可使用。

    方案三:双机冷备(Standby database/Data Guard)

    Standby database/Data Guard在主节点和备用节点之间通过日志同步来保证数据同步,备用节点作为主节点的备份,可以实现快速的切换与灾难性恢复。Data Guard一般包括两套数据库环境,一台主数据库,一台备用数据库,与RAC不同的是,以一般情况下只有一个节点处于活动状态,所有应用都连接到主服务器上,只有当主服务器发送故障时才考虑切换到备用服务器。备用服务器一般不提供读写的操作,只有当需要时才提供只读的操作,或者当主站点出现故障时经过切换操作才变为主数据库,提供正常的读写操作,由于存在Active/Standby两套主机、存储环境,所以较RAC多了数据保护和容灾的功能。

    基本结构:

    5b2633584f7fbc712b02f19137ca2218.png

    存在问题:

    A)        不能实现自动切换。

    B)        数据库必须运行在归档模式下。

    优势:可以实现数据库主机及存储的完全冗余保护,该冗余甚至可以跨地域做成容灾保护。

    劣势:要求主备系统,操作系统、数据库版本一致。

    不能自动的故障切换,如果主站点损坏要切换到备用站点,则需要在切换前完全同步主站点当前的联机日志,否则会发生切换后数据丢失的现象。

    方案对比

    ea0780e2409d9db7b9977b05845a4dfb.png

    分享到:

    展开全文
  • weblogic12c,linux环境下双机集群部署手册,配详细图文
  • 4、进入控制台,部署应用时把部署的目标设置为集群中的所有服务器,之后单机下一步,选择“将此应用程序复制到每个目标”在点击完成,激活更改。   Session共享问题 1.编辑代理服务OracleProxy4_Base_...
  • 在网上,书上查阅的资料大多数都是单机模拟部署eurake。经过多次实验后感觉真机有所不同。 贴一下配置 server: port: 8000 eureka: client: register-withEureka: true fetch-registry: true spring: ...
  • 功能是定时给指定人员发送邮件。 双机部署状态下,定时任务执行了两次,发了两封同样的邮件,这个怎么办
  • 利用Rose实现的MSSQL双机
  • 利用Rose实现Oracle双机技术
  • mysql双机安装部署文档,具体简绍mysql数据库的安装部署过程,以及mysql主从数据库的安装及配置。
  • 概述随着通信全IP化的进程,现代企业中基于IP的语音、视频、会议、融合通信已广泛应用,企业部署的IPPBX作为通信系统最核心的部分,如何保证高可靠性与安全性尤为重要,也成了考验系统能力的一种标准。鼎信通达推出...
  • 概述 随着通信全IP化的进程,现代企业中基于IP的语音、视频、会议、融合通信已广泛应用,企业部署的IPPBX作为通信系统最核心的部分,如何保证高可靠性与安全性尤为重要,也成了考验系统能力的一种标准。 鼎信通达...
  • MySQL双机热备部署

    2021-02-03 17:28:48
    设置自动启动 /sbin/chkconfig mysql on 二两台服务器都装好后,进行双机热备的配置(主从关系) 约定环境:两台服务器的主机名最好不一样,如一个是db1(主),一个是db2(从)。 可以通过修改/etc/sysconfig/...
  • 数据库库往往会允许存在一个与主库同步的在线数据库服务器。当主数据库出现故障的时候,备库可以快速提升为主数据并且提供服务,实现数据库服务的高可用。  如果备份数据库在接收数据库同步数据的时候,不能提供...
  • 根据官方文档的顺序第三个安装的服务是placement,这个服务在OpenStack的S版本之前是在nova服务的时候一起部署的,现在单独的拿出来了, 一、简介 Placement提供了一个placement-api WSGI脚本,用于在Apache、nginx...
  • 本次部署一台电脑(A),一个虚拟机(B),A电脑上创建一个AdminServer (管理) 端口37001和Server1受管服务端口37003和IP是B的Server2受管服务端口37004 ![图片说明]...
  • ​ 另外,还需要考虑到三大运营商在大力推行5G部署,在实际部署中会对4G基站进行改造,改造过程中也会造成4G网速不稳定,这些都是必然的。改造完成后对网速的影响将会恢复至正常。 ​ 有专家印证说:“4G要软件升级...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 11,471
精华内容 4,588
关键字:

双机部署