如何配置MySQL集群在一台服务器

如何配置MySQL集群在一台服务器,第1张

下文就是教你如何在一台服务器上搭建Cluster。

一,先确认Cluster的包已经正确安装
[root@cluster-one ~]# rpm -aq|grep -i mysql
MySQL-Cluster-client-gpl-7210-1el6x86_64
MySQL-Cluster-server-gpl-7210-1el6x86_64
MySQL-Cluster-shared-compat-gpl-7210-1el6x86_64
MySQL-Cluster-devel-gpl-7210-1el6x86_64
二,创建如下几个配置文件,下面启动时要用到
[root@cluster-one mysqlData]# more configini
[NDBD DEFAULT]
NoOfReplicas=2
[TCP DEFAULT]
#portnumber=3388
[NDB_MGMD]
NodeId = 1
hostname=localhost
datadir=/mysqlData/clustermgmd-data/
[NDBD]
NodeId = 2
hostname=localhost
datadir=/mysqlData/clusterndb1-data/
[NDBD]

需要。
需要自己搭建集群。创建一个集群,并同时创建若干个云服务器。您可以通过容器服务直接创建一个包含若干个新云服务器的集群。
云服务器租用价格低于传统的物理服务器租用,且无需支付押金。具有快速供应和部署能力。

如果是集群的话,我考虑需要流畅运行的话,2核4G配置是可以满足的。因为这个集群形式,用于适用于物联网、车联网、监控、安全风控、即时通讯、消息存储等行业场景,所以数据量是比较大的,所以配置太低了跑不动,会卡死的。
因为hadoop是海量数据的处理能力,所以服务器一定不能太小配置了,跑不动了就没实际用途了。最好使用4核8G内存及以上配置。
因为这方面内容较多,这里也写不开那么多内容,所以你可以留言或到我的博客上搜索相关内容,老魏有写过教程,还不止一篇,都挺详细的内容,可以帮助你入门。

本文会以 最简单 最直接 最完整 的方式记录kubernetes(下面统称K8S)单master多工作节点(worker nodes)的集群步骤

首先要简单了解一下本文的3个核心概念:

内存建议至少4G

问:如何查看主机名?

答:执行命令hostname

问:如何修改主机名?

答:永久生效的做法:执行命令vi /etc/hostname,把第一行去掉(不能注释掉,要去掉),然后重新写上自定义的主机名(注意命名规范),保存并重启后生效;

临时生效的做法:执行以下命令

问:如何查看MAC地址?

答:执行命令ip link,然后看你的第一网卡

问:如何查看product_uuid?

答:执行命令sudo cat /sys/class/dmi/id/product_uuid

注意:30000-32767这个端口范围是我们创建服务的端口必须要设置的一个范围(如果设置范围以外的会有限制提示并创建失败),这是K8S规定的。

另外,如果你要直接关闭防火墙可以执行

⑥必须禁用Swap

Swap total大于0,说明Swap分区是开启的

问:如何关闭Swap?

答:编辑文件/etc/fstab,在swap行前面加上#号注释, 保存并重启服务器

再次查看分区状态,已生效

常见的容器引擎(Container runtime,简称runtime):

本文使用的容器引擎是Docker

安装完成后查看版本:

当出现可能跟Docker引擎相关的奇怪异常时可以尝试把Docker卸载干净并重新安装,但一定要注意镜像、容器、卷或配置文件这些是否需要备份。

下面记录卸载Docker引擎的步骤:

①卸载 Docker Engine、CLI 和 Containerd 包:

②主机上的映像、容器、卷或自定义配置文件不会自动删除。删除所有镜像、容器和卷:

③配置文件如果有不合法的字符时会导致启动失败,我们需要将其删除然后重建

此时Docker引擎已卸载干净

官网用的是谷歌的yum源,因为国内是连不上的,所以这里替换成阿里提供的yum源

①安装

从安装信息中可以看到版本号是122

Installing:

kubeadm x86_64 1224-0 kubernetes 93 M

kubectl x86_64 1224-0 kubernetes 97 M

kubelet x86_64 1224-0 kubernetes 20 M

②启动



这就是一个驱动程序,注意cgroup和cgroupfs不要混淆了

引用官方的一段话

“由于 kubeadm 把 kubelet 视为一个系统服务来管理,所以对基于 kubeadm 的安装, 我们推荐使用 systemd 驱动,不推荐 cgroupfs 驱动。”

kubeadm默认是使用systemd 驱动,而我们的Docker默认驱动是cgroupfs(docker info可以查看),所以需要将Docker的驱动改成systemd

①编辑Docker配置文件

②重启Docker服务

再次docker info查看驱动信息已变成了systemd

工作节点(worker nodes)的最小配置就到这里了

①镜像源参数说明

默认情况下, kubeadm 会从 k8sgcrio 仓库拉取镜像,国内是拉不了的。官方文档明确表示允许你使用其他的 imageRepository 来代替 k8sgcrio。

--image-repository 你的镜像仓库地址

接下来我找了一些国内的镜像源,并简单做了下分析

综合上述统计,我选择阿里云的镜像源

②ip地址范围参数说明

--pod-network-cidr =19216800/16

注意:如果19216800/16已经在您的网络中使用,您必须选择一个不同的pod网络CIDR,在上面的命令中替换19216800/16。

集群初始化命令:

因为我用的是演示机器,所以这里把完整的执行信息都贴出来方便查阅,平时工作中一定要注意保护好敏感的信息(我的ip地址范围是自定义的便于下面的功能演示,另外初次init需要下载镜像文件,一般需要等几分钟)

如上所示,集群初始化成功,此时一定要注意看上面执行结果最后的那部分 *** 作提示,我已用标明了初始化成功后还需要执行的3个步骤

注意:如果init成功后发现参数需要调整,可以执行kubeadm reset,它的作用是尽最大努力恢复kubeadm init 或者 kubeadm join所做的更改。

To start using your cluster, you need to run the following as a regular user:

翻译:开始使用集群前,如果你是普通用户(非root),你需要执行以下的命令:

Alternatively, if you are the root user, you can run:

翻译:或者,如果你使用的是root,你可以执行以下命令:

(注意:export只是临时生效,意味着每次登录你都需要执行一次)

网络配置配的就是Pod的网络,我的网络插件选用calico

cidr就是ip地址范围,如果您使用 pod CIDR 19216800/16,请跳到下一步。

但本文中使用的pod CIDR是19210000/16,所以我需要取消对清单中的 CALICO_IPV4POOL_CIDR 变量的注释,并将其设置为与我选择的 pod CIDR 相同的值。(注意一定要注意好格式,注意对齐)

可根据需求自定义清单,一般不需要的就直接跳过这步

在所有的工作节点上执行join命令(复制之前初始化成功后返回的加入集群命令到所有的工作节点执行即可)

master上查看所有节点的状态

到这里集群已经创建完成

最后我再安装K8S的可视化界面kubernetes-dashboard,方便我们日常使用

①下载yaml文件

②修改yaml文件,新增type和nodePort,使服务能够被外部访问

③安装并查看运行情况

④新建用户

文件创建完成后保存并apply

⑤获取Token,用于界面登录

⑥登录dashboard

192168189128是我的master服务器ip,另外要注意必须使用>两方便:
首先你的实验室的机器支持远程,可配置ssh服务
然后你客户端连接,可以下个很简单的putty ;远程登录即可
不过我是没有用过远程桌面,命令行实在
当然更直接的访问,你可以在实验室机配上samba服务,像使用WINDOWS一样使用;
总结下:可以用telent,ssh,samba,这三种服务足可解决你的问题,希望我的回答对你有帮助,怎么 *** 作,查查资料张宣国您好!希望能有所帮助!更多交流在it168,365testing

可以使用Nginx ,Haproxy,LVS做负载。 前提是:需要一个外网IP,并且两个WEB中的应用要同步,数据库要同步,否则随便访问的结果不一样。 此外你现有两台数据是怎么同步的。有内网IP?


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13483777.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-16
下一篇 2023-08-16

发表评论

登录后才能评论

评论列表(0条)

保存