既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
🍤:事实证明大虾还是好吃的。
拓扑图
案例实施
1、环境配置
环境要求:如图所示配置IP地址,所有主机桥接到vmnet1,并关闭防火墙和Selinux。GFS两台服务器分别添加两块20G的磁盘,客户端使用宿主机。
1.1、配置IP地址
关于IP的配置这里以web1为例,只有web1和web2添加两块网卡,相对比其他服务器的配置只是多一块需要配置的网卡,其他服务器正常配置IP即可。
[root@web1 ~]# systemctl stop firewalld
[root@web1 ~]# systemctl disable firewalld
[root@web1 ~]# setenforce 0
[root@web1 ~]# cd /etc/sysconfig/network-scripts/
[root@web1 network-scripts]# vim ifcfg-ens33
......省略部分内容
BOOTPROTO=static
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.1.3
NETMASK=255.255.255.0
[root@web1 network-scripts]# cp ifcfg-ens33 ifcfg-ens36
[root@web1 network-scripts]# vim ifcfg-ens36
......省略部分内容
BOOTPROTO=static
NAME=ens36
DEVICE=ens36
ONBOOT=yes
IPADDR=200.0.0.3
NETMASK=255.255.255.0
[root@web1 network-scripts]# systemctl restart network
1.2、GFS添加磁盘
关于磁盘可以开机前添加,会自动识别磁盘。若开机后添加可以执行以下命令识别磁盘。
echo "- - -" >> /sys/class/scsi_host/host0/scan
echo "- - -" >> /sys/class/scsi_host/host1/scan
echo "- - -" >> /sys/class/scsi_host/host2/scan
到目前的配置,web1和web2可以ping通全网,而公网和私网则不能相互ping通。GFS1和GFS2每台服务器上都有一块sdb磁盘。
2、Keepalived
搭建Keepalived实现Lvs的双机热备。本次使用yum方式安装keepalived和ipvsadm管理工具。LVS1和LVS2都需要那种,这里以LVS1为例。
[root@lvs1 ~]# yum -y install keepalived ipvsadm
[root@lvs1 ~]# systemctl enable keepalived
2.1、配置主调度器
[root@lvs1 ~]# cd /etc/keepalived/
[root@lvs1 keepalived]# cp keepalived.conf keepalived.conf.back
[root@lvs1 keepalived]# vim keepalived.conf
! Configuration File for keepalived
global_defs {
......省略部分内容
router_id LVS1 //主调度器名称
}
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 {
200.0.0.100 //配置漂移地址
}
}
[root@lvs1 keepalived]# systemctl start keepalived
[root@lvs1 keepalived]# ip addr show dev ens33 //查看漂移地址
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:16:da:97 brd ff:ff:ff:ff:ff:ff
inet 200.0.0.1/24 brd 200.0.0.255 scope global ens33
valid_lft forever preferred_lft forever
inet 200.0.0.100/32 scope global ens33 //此时漂移地址在主调度器上
valid_lft forever preferred_lft forever
inet6 fe80::c3cf:e745:3647:394a/64 scope link
valid_lft forever preferred_lft forever
2.2、配置备份调度器
[root@lvs2 ~]# cd /etc/keepalived/
[root@lvs2 keepalived]# cp keepalived.conf keepalived.conf.bak
[root@lvs2 keepalived]# vim keepalived.conf
! Configuration File for keepalived
global_defs {
......省略部分内容
router_id LVS2 //备份调度器名称
}
vrrp_instance VI_1 {
state BACKUP //备份调度器的热备状态
interface ens33 //修改接口网卡
virtual_router_id 51
priority 99 //修改优先级别
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
200.0.0.100 //配置漂移地址
}
}
[root@lvs2 keepalived]# systemctl start keepalived
[root@lvs2 keepalived]# ip addr show dev ens33 //查看漂移地址
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:55:f7:8d brd ff:ff:ff:ff:ff:ff
inet 200.0.0.2/24 brd 200.0.0.255 scope global ens33
valid_lft forever preferred_lft forever
inet6 fe80::15ae:efbc:5794:874b/64 scope link
valid_lft forever preferred_lft forever
备份服务器仍处于备份状态,因此备份服务器不会为ens33接口添加VIP地址。当主服务器失效时,VIP地址才会过来,达到了双机热备的功能。
3、LVS-DR
3.1、负载均衡
两台LVS都需要配置选项3.1中的内容(关闭ICMP重定向,配置策略)。
3.1.1、关闭icmp重定向
[root@lvs1 ~]# vim /etc/sysctl.conf
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.ens33.send_redirects = 0
[root@lvs1 ~]# sysctl -p
3.1.2、配置负载分配策略
[root@lvs1 ~]# ipvsadm -C //清除原有策略
[root@lvs1 ~]# ipvsadm -A -t 200.0.0.100:80 -s rr
[root@lvs1 ~]# ipvsadm -a -t 200.0.0.100:80 -r 200.0.0.3 -g -w 1
[root@lvs1 ~]# ipvsadm -a -t 200.0.0.100:80 -r 200.0.0.4 -g -w 1
[root@lvs1 ~]# ipvsadm-save //保存策略
-A -t lvs1:http -s rr
-a -t lvs1:http -r 200.0.0.3:http -g -w 1
-a -t lvs1:http -r 200.0.0.4:http -g -w 1
[root@lvs1 ~]# systemctl enable ipvsadm
3.2、配置主调度器
通过配置文件添加两台web节点。
[root@lvs1 ~]# vim /etc/keepalived/keepalived.conf
vrrp_instance VI_1 { //在vrrp配置模块下面添加节点
......省略部分内容
virtual_ipaddress {
200.0.0.100
}
}
......省略部分内容
virtual_server 200.0.0.100 80 { //以下内容需要修改添加节点信息
delay_loop 15
lb_algo rr
lb_kind DR
protocol TCP
real_server 200.0.0.3 80 {
weight 1
TCP_CHECK {
connect_port 80
connect_timeout 3
nb_get_retry 3
delay_before_retry 4
}
}
real_server 200.0.0.4 80 {
weight 1
TCP_CHECK {
connect_port 80
connect_timeout 3
nb_get_retry 3
delay_before_retry 4
}
}
}
[root@lvs1 ~]# systemctl restart keepalived
3.3、配置备份调度器
相同的方法配置完主调度器后,接着配置备份调度器。
[root@lvs2 ~]# vim /etc/keepalived/keepalived.conf
vrrp_instance VI_1 { //在vrrp配置模块下面添加节点
......省略部分内容
virtual_ipaddress {
200.0.0.100
}
}
......省略部分内容
virtual_server 200.0.0.100 80 { //以下内容需要修改添加节点信息
delay_loop 15
lb_algo rr
lb_kind DR
protocol TCP
real_server 200.0.0.3 80 {
weight 1
TCP_CHECK {
connect_port 80
connect_timeout 3
nb_get_retry 3
delay_before_retry 4
}
}
real_server 200.0.0.4 80 {
weight 1
TCP_CHECK {
connect_port 80
connect_timeout 3
nb_get_retry 3
delay_before_retry 4
}
}
}
[root@lvs2 ~]# systemctl restart keepalived
4、GFS
4.1、web端
GFS的配置如下表所示,两台服务器实现复制卷,复制卷的名称为share。
在两个web服务器将share复制卷挂载到web服务器的/var/www/html下。
IP | 主机名 | 挂载盘 | 挂载目录 |
---|---|---|---|
192.168.1.1 | gfs1 | /dev/sdb(20G) | /b3 |
192.168.1.2 | gfs2 | /dev/sdb(20G) | /b3 |
4.1.1、web配置VIP
每个web服务器上都需要配置漂移地址(VIP)。
[root@web1 ~]# cd /etc/sysconfig/network-scripts/
[root@web1 network-scripts]# cp ifcfg-lo ifcfg-lo:0
[root@web1 network-scripts]# vim ifcfg-lo:0
DEVICE=lo:0
IPADDR=200.0.0.100
NETMASK=255.255.255.255
ONBOOT=yes
[root@web1 network-scripts]# ifup lo:0
[root@web1 network-scripts]# ifconfig lo:0
lo:0: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 200.0.0.100 netmask 255.255.255.255
loop txqueuelen 1 (Local Loopback)
[root@web1 network-scripts]# vim /etc/rc.local
......省略部分内容
/sbin/route add -host 200.0.0.100 dev lo:0 //添加一条路由
[root@web1 network-scripts]# route add -host 200.0.0.100 dev lo:0
4.1.2、关闭部分arp应答
[root@web1 ~]# vim /etc/sysctl.conf
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.default.arp_ignore = 1
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
[root@web1 ~]# sysctl -p
4.1.3、配置httpd
[root@web1 ~]# yum -y install httpd
[root@web1 ~]# echo "111" > /var/www/html/index.html
[root@web1 ~]# systemctl start httpd
[root@web1 ~]# systemctl enable httpd
4.2、配置GFS端
两台GFS服务器都需要配置,以下gfs1和gfs2配置相同,我以gfs1为例,gfs2相反配置即可。
[root@gfs1 ~]# vim /etc/hosts //GFS本地节点解析
192.168.1.1 node1
192.168.1.2 node2
[root@gfs1 ~]# yum -y install glusterfs glusterfs-server glusterfs-fuse glusterfs-rdma
[root@gfs1 ~]# systemctl start glusterd
[root@gfs1 ~]# systemctl enable glusterd
[root@gfs1 ~]# gluster peer probe node1 //本身在gfs1上操作,所以node1也可以不执行
peer probe: success. Probe on localhost not needed
[root@gfs1 ~]# gluster peer probe node2
peer probe: success.
[root@gfs1 ~]# gluster peer status //查看GFS群集状态
Number of Peers: 1
Hostname: node2
Uuid: 16bc8386-0168-4c21-8ed3-e762f1bd8c77
![img](https://img-blog.csdnimg.cn/img_convert/6392d00e1595a7dbf6d29ef8c49794a3.png)
![img](https://img-blog.csdnimg.cn/img_convert/c97146aba9ff1454395f9d9af6017ed5.png)
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618545628)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
obe: success.
[root@gfs1 ~]# gluster peer status //查看GFS群集状态
Number of Peers: 1
Hostname: node2
Uuid: 16bc8386-0168-4c21-8ed3-e762f1bd8c77
[外链图片转存中...(img-pxi0P7xC-1715755870918)]
[外链图片转存中...(img-hzZBRw2b-1715755870919)]
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618545628)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**