python 云计算 (kafka) PXE MHA集群 redis

1.PXE安装一台服务器  域名(example.cn)

 主机名: 个人姓名全拼 (比如:个人姓名全拼.example.cn)

  zhangjianxin.example.cn

 IP地址:

 MAC地址:

 IP地址和mac地址见: 高可用0308.xlsx   (每位同学的vip与mac地址唯一)

 1) /etc/dhcp/dhcdp.conf   # 将ip地址和mac地址进行绑定

 2) /var/named/example.cn.zone  # 正向解析

    /var/named/200.15.10.in-addr.arpa # 反向解析    (记得改完各个配置 重启服务)

 注意: 装机时 虚拟机 需要手动写入mac地址

2.关于kafka相关需求

1)keepalived+haproxy实现zookeeper端口号2181端口号的高可用

 keepalived: ha01 (提供vip)

  vip: Excel表格中分配的为准

 haproxy: 给zookpeer的2181端口提供负责分发

 node01,node02,node03三个节点:

  kafka zookeeper:

2)创建一个消费者--topic 每个人姓名的拼音全拼 比如: zhangjianxin (姓名全拼)

3)模拟生产者和消费者

 生产者发送的消息为:  每个人姓名的拼音全拼_pass

  比如: zhangjianxin_pass

3.haproxy实现7层代理 根据不同的域名 将请求发送到不同的服务器

  前端haproxy提供负责均衡:

  node01台提供: app.example.cn的服务

  node02台提供: bbs.example.cn的服务

  node03台提供: *.example.cn   # default

郭洋洋   10.15.200.93    00:0c:59:8f:2b:3c

首先在GW网管主机上修改为配置文件

Vim  vim /etc/dhcp/dhcpd.conf(设置主机名)

修改完保存退出并重启服务

Systemctl restart dhcpd

vim /var/named/example.cn.zone(正向解析)

修改完保存退出

vim /var/named/200.15.10.in-addr.arpa(反向解析)

修改完保存退出并重启服务

Systemctl restart named

先试试解析下

Ok没有问题

开始装机

 

开始装机

查看下是否正确

Ok装机完成!!!

2

首先打开ha01主机下载keepalived服务

去网关将配置文件下载下来

修改配置文件

重启服务并查看vip

三台服务器节点node01,node02,node03开启http服务

在ha01主机上下载haproxy服务

从网关上下载配置文件

启动服务

查看vip

访问下管理页面

keepalived+haproxy实现zookeeper端口号2181端口号的高可用

首先查看下node01,02,03主机上面下载安装包kafka,zookeeper-3.4.14.tar.gz

前提: node01 node02 node03通过gw能够上网

01主机

02主机

03主机

node01 node02 node03 系统时间与gw同步

三台主机进行以下相同操作

下载java

创建两个目录并且将两个包解压

在node01上下载对应的配置文件:

在node02上下载对应的配置文件:

在node03上下载对应的配置文件:

在node01 node02 node03 分别重启zookeeper服务

Node3为管理主机

安装kafka:  在node01 node02 node03分别安装

手动创建一个目录  在所有节点  node01 node02 node03

mkdir -p /data/kafka_log_9092

启动服务

创建一个消费者 guoyangyang(node01主机)

模拟生产者和消费者 生产者发送的消息为:  guoyangyang_pass

模拟生产者(node02主机)

模拟消费者(node03主机)

结果

keepalived+haproxy实现zookeeper端口号2181端口号的高可用

测试主机为node05

在node05主机上下载安装包

分别连接kafka的三个节点进行测试

这个时候查看node02主机为管理主机

模拟node02主机宕机

查下管理主机

可以看出管理主机变成node03了成功!!!

haproxy实现7层代理 根据不同的域名 将请求发送到不同的服务器

需要以下主机: ha01,node01,node02,node03,一台windows虚拟机(网关为vmnate3)

Ha01上面下载haproxy服务

去GW网关主机中下载配置文件

修改配置文件

在GW网关上修改下文件

保存退出重启服务并开启

访问hoproxy管理页面(账号:admin  密码:admin)

在windows虚拟机上面验证:

首先域名访问app.example.cn

域名访问bbs.example.cn

域名访问随便一个

完成!!!

第4题: 4.ansbile通过role部署一个http php网站 访问http出现如下内容

  1. role的名字: 个人姓名拼音全拼_role 比如: zhangjianxin_role

查看roles名

  1. 在node03节点 安装httpd php服务

2) 拷贝httpd.conf文件到指定的服务器

       httpd.conf模板文件见: /etc/ansible/roles/http_php/files/httpd.conf

       httpd端口号: 见 高可用0308_实验题.xlsx

3) 个人姓名拼音全拼.php 内容如下: 放于 /var/www/html/目录下面

src文件名: zhangjianxin.php

目的文件名: /var/www/html/zhangjianxin.php

    src: zhangjianxin.php     (每个同学: 个人姓名拼音全拼)

    dest: /var/www/html/zhangjianxin.php

<?php

echo gethostname();

echo PHP_EOL;

echo "hello 个人

姓名拼音全拼_pass";

echo PHP_EOL;

?>

  1. httpd (服务为启动状态, 同时设置为开机启动)

5) 访问结果 类似如下:

http://10.15.200.103:3721/zhangjianxin.php

node03.example.cn hello zhangjianxin_pass    # 个人

验证:访问http://10.15.200.103:8093/guoyangyang.php

完成实验!!!

       评分标准:

              1) role名字与个人名字不匹配                          此实验记为0分

              2) http端口号表格中的不匹配                          此实验记为0分

              3) src与dest文件文件名字不匹配                       此实验记为0分

              4) 在node03节点, 安装此实验题, 如果其它节点            此实验记为0分

              5) 此实验结果显示的node节点名字 及 内容任意一个不匹配    此实验记为0分

5. 搭建一个redis集群(3主3从或3主):

       redis实验: 要求: 创建一个key: 名字为mylike  内容为: 姓名全拼

实现: 3主 3从

       node01: 1主1从

       node02: 1主1从

       node03: 1主1从

安装redis 所有节点(以下node01,node02,node03都要操作)

创建一个文件夹

安装集群相关软件包

从GW网关主机中下载相应的配置文件

Node01

Node02

Node03

启动服务 (node01 node02 node03)

查看端口号(node01 node02 node03)

配置集群Cluster

下载软件包redis-3.2.2.gem(node01操作)

Node02,node02操作)

Node01上操作

下载redis包redis-3.2.12.tar.gz

解压

创建集群(显示报错)

修改配置文件

(保存退出)

在试下之前的命令

登录

查询集群和集群信息

测试

创建一个key: 名字为mylike  内容为: guoyangyang

登陆查看

Okok

6. MHA MMM  集群模式二选一

       MHA集群: 自定义

实验环境:GW为网关主机,node01,node02,node03节点主机(三主)node05测试主机

node01为主服务器 node02为从服务器 node03为从服务器

所有节点(node01 node02 node03 node05) 清空之前实验的相关数据  (删除之前实验环境数据 清空yum旧缓存 更新yum新缓存<node01,node02,node03都操作>

安装mysql-community-5.7

下载mysql配置文件

node01:

node02:

node03:

在所有节点 安装MHA

主节点: node01 安装数据库 启动服务  配置用户名和密码(node01上操作)

修改root密码 创建用户复制用户repl及mha管理用户mha

创用户

Node02操作

Node03上也是一样的

node02上配置从服务器:

保存下再查看

在主库master上绑定VIP(node01上操作)

在node02上ping vip(10.15.200.118)

(可以ping通)

在测试主机node05安装管理节点

yum install mha4mysql-node-0.58 mha4mysql-manager-0.58 -y

mkdir -p /etc/mha/scripts

wget http://10.15.200.8/files/mha/master_ip_failover -O /etc/mha/scripts/master_ip_failover

wget http://10.15.200.8/files/mha/master_ip_online_change -O /etc/mha/scripts/master_ip_online_change

wget http://10.15.200.8/files/mha/send_report -O /etc/mha/scripts/send_report

chmod 744 /etc/mha/scripts/*

wget http://10.15.200.8/files/mha/app.cnf -O /etc/mha/app.cnf

wget http://10.15.200.8/files/mha/masterha_default.cnf -O /etc/masterha_default.cnf

node05上面赋予脚本执行权限:

用 masterha_check_ssh 命令检查 ssh 互信是否成功

使用 masterha_check_repl 命令检查 mysql 主从是否正常

启动MHA:

通过日志检查MHA是否启动成功:

检查MHA集群状态:(打断node05的第二个终端在上面操作)

将node01的mysql服务停止:

在node05动态的查看日志:(打断node05上的第一个终端并在这里操作)

虚拟IP已经漂移到node02  node02由从的角色 提升为主的角色

在node02上查看下虚ip

此时发现 node03的主服务器由node01变为node02(node03上操作

此时再次查看集群的状态 为失效的状态:(node05上操作)

实验完成!!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

数据库从删库到跑路

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值