centos docker 集群 docker安装centos
今天给各位分享centos docker 集群的知识,其中也会对docker安装centos进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
使用docker搭建flink集群
【参考】:
1.拉取centos镜像
$ docker pull centos:latest
2.创建两个节点
$ docker run--name flinkmaster-d-p 8081:8081 centos-it/bin/bash
$ docker run--name flinkworker-d centos-it/bin/bash
3.安装jdk 1.8
$ yum search java|grep jdk
$ yum install-y java-1.8.0-openjdk.x86_64
4.将flink安装包cp到容器,解压缩
docker cp flink-1.8.1-bin-scala_2.12.tgz flinkmaster:/usr
docker cp flink-1.8.1-bin-scala_2.12.tgz flinkworker:/usr
tar xvf flink-1.8.1-bin-scala_2.12.tgz
5.修改两个机器的/etc/hosts,都增加如下内容。
172.17.0.3 f3a573de76af
172.17.0.4 0379a31fd702
172.17.0.3 flinkmaster
172.17.0.4 flinkworker
注意,两个节点的hostname是随机生成的,注意自己修改。
【Flink集群搭建,Standalone,集群部署,HA高可用部署参考】:
【Linux集群免密登录配置,双向免密参考】:
1.centos安装sshd:
$ yum-y install openssh-server
$ yum-y install openssh-clients
2.启动sshd服务
$/usr/sbin/sshd-D
3.修改root密码
yum-y install passwd
passwd root
4.flinkmaster和flinkworker生成密钥对
$ ssh-keygen-t rsa
之后根据提示,回车进入.ssh目录会看见 id_rsa(私钥)和 id_rsa.pub(公钥)两个文件。
6.将公钥文件拷贝到另外两台主机使用 ssh-copy-id命令
$ ssh-copy-id-i~/.ssh/id_ rsa.pub root@flinkworker
7.验证登录
ssh root@flinkworker
如果不提示输入密码则成功。
1.修改配置文件
$ vim./conf/flink-conf.yaml
修改如下几个参数:
jobmanager.rpc.address: flinkmaster
jobmanager.rpc.port: 6123
jobmanager.heap.size: 1024m
taskmanager.memory.process.size: 1568m
taskmanager.numberOfTaskSlots: 2
parallelism.default: 2</pre>
$ vim./conf/masters
修改为:
flinkmaster:8081
$ vim./conf/worker
修改为:
flinkmaster
flinkmaster
2.拷贝到其他机器
scp-r/usr/flink-1.12.2/ root@flinkworker:/usr/
3.启动集群
在flinkmaster上执行
./bin/start-cluster.sh
4.访问
2个Task Managers,1个Job Managers为flinkmaster
Centos7.6部署k8s v1.16.4高可用集群(主备模式)
部署环境与版本概述:
本文使用7台服务器构建Kubernetes集群,包括3台控制平面节点(control plane)、3台工作节点(work)与1台客户端(client)。集群版本为Kubernetes v1.16.4。
采用kubeadm方式搭建主备模式下的高可用集群。主备模式的核心是确保集群的各关键组件如API Server、Scheduler、Controller Manager等的高可用性。
部署准备工作包括:
修改主机名与hosts文件以确保名称唯一性。
禁用swap分区,以避免资源冲突。
内核参数调整,特别是设置`bridge-nf-call-iptables=1`,这需要br_netfilter模块支持。
设置kubernetes源以加速安装过程。
配置免密码登录,便于控制节点间的交互。
Docker安装确保集群的容器化环境稳定运行,包括安装依赖、设置源、安装Docker CE、配置加速器等。
keepalived的安装与配置用于管理VIP(虚拟IP),确保在控制平面节点宕机时,VIP能够自动迁移到其他可用节点。
在部署Kubernetes组件之前,需要检查Docker版本是否兼容集群版本。安装kubelet、kubeadm和kubectl,以及下载所需的Kubernetes组件和Docker镜像。
初始化Master节点时,需配置kubeadm.conf文件,执行初始化命令,并记录控制平面加入命令。工作节点的加入通过Master节点生成的命令实现。
集群高可用测试包括观察组件在控制平面节点宕机时的行为,以验证VIP漂移和集群功能的连续性。测试结果表明,当控制平面节点发生故障时,集群能够自动调整,确保服务的连续性和可用性。
本文提供完整的部署脚本和配置文件,为 CentOS 7.6集群部署 K8s v1.16.4高可用集群提供全面指导。
centos平替体验之龙蜥、欧拉、Rocky、Alma
在寻找CentOS替代品的过程中,龙蜥、欧拉、RockyLinux和AlmaLinux成为了值得关注的对象。在搭建4节点的x86机器集群时,我尝试了这四个Linux发行版,对其CentOS兼容性进行了评价。以下内容基于实际体验和测试,对它们的兼容性进行分析。
在CentOS兼容性方面,龙蜥、RockyLinux和AlmaLinux表现良好,基本实现了与CentOS的无缝衔接,包括操作兼容性、仓库使用便利性等。欧拉则在内核版本和默认内核配置上有别于其他三个发行版,尽管内核版本更新较为激进,但兼容性上略显不足。迁移至欧拉的用户可能会遇到一些小问题,不过这些问题通常都能解决。
在内核版本的比较中,欧拉的内核版本较为先进,但这种激进性有时也会带来意想不到的问题,例如在使用docker启动CouchDB时会遇到长时间卡顿的问题。这一现象与欧拉上docker容器内ulimit-n的用户最大打开文件数配置有关。相较于其他发行版(Anolis/RockyLinux/AlmaLinux)的较小值(1048576),欧拉的设置为infinity,即无限制。因此,为解决这一问题,需要在欧拉的docker配置文件中添加限制,并重启docker服务。
对于yum仓库的兼容性,四个发行版的默认yum仓库均可以直接使用,但欧拉的刷新缓存和实际安装下载速度较慢。通过调整配置,将直接使用官方站点的baseurl注释掉,只保留使用镜像站点的metalink,可以显著提升速度。
在特定yum仓库的使用上,欧拉需要额外修改$releasever字段以适配特定软件的安装需求。这与欧拉版本号与CentOS或其他发行版的版本号不一致有关,因此在安装需要特定yum仓库文件的软件(如docker-ce)时,需要手动调整$releasever字段。
防火墙与selinux方面,四个发行版使用的是firewall,且默认都启用并支持selinux,开机启动。操作上不存在差异。
常用工具方面,龙蜥、RockyLinux、AlmaLinux与CentOS相比,目前未发现存在不一致之处。欧拉则在默认安装的软件上有所不足。
在docker相关功能上,除了欧拉安装docker时需要修改docker-ce的yum配置文件外,其他操作都正常。一般安装命令亦无差异。
对于mysql的处理,四个发行版均未默认安装mariadb或mysql,都可以通过dnf直接从默认yum仓库安装mysql。其中,欧拉的可安装版本为8.0.37,而其他三个发行版为8.0.36。在配置与初始化mysql方面,四个发行版均遵循类似流程,但在配置文件的组织和存放上存在差异,欧拉的配置文件仅在/etc/my.cnf.d下存在一个文件。
ssh配置方面,欧拉默认禁用了TCP端口转发,这在使用vscode远程连接时可能会导致问题。相比之下,其他三个发行版无此问题,需要在欧拉的sshd配置中进行适当调整。