ubuntu搭建集群(ubuntu开发环境搭建)

各位老铁们好,相信很多人对ubuntu搭建集群都不是特别的了解,因此呢,今天就来为大家分享下关于ubuntu搭建集群以及ubuntu开发环境搭建的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

如何最快搭建LINUX服务器集群

1.2.并行技术

这是一个非常简单的建造四节点的小集群系统的例子,它是构建在Linux操作系统上,通过MPICH软件包实现的,希望这个小例子能让大家对集群系统的构建有一个最基本的了解。

2.使用MPICH构建一个四节点的集群系统

这是一个非常简单的建造四节点的小集群系统的例子,它是构建在Linux操作系统上,通过MPICH软件包实现的,希望这个小例子能让大家对集群系统的构建有一个最基本的了解。

2.1所需设备

1).4台采用Pentium II处理器的PC机,每台配

置64M内存,2GB以上的硬盘,和EIDE接口的光盘驱动器。

2).5块100M快速以太网卡,如SMC 9332 EtherPower 10/100(其中四块卡用于连接集群中的结点,另外一块用于将集群中的其中的一个节点与其它网络连接。)

3).5根足够连接集群系统中每个节点的,使用5类非屏蔽双绞线制作的RJ45缆线

4).1个快速以太网(100BASE-Tx)的集线器或交换机

5).1张Linux安装盘

2.2构建说明

对计算机硬件不熟的人,实施以下这些构建步骤会感到吃力。如果是这样,请找一些有经验的专业人士寻求帮助。

1.准备好要使用的采用Pentium II处理器的PC机。确信所有的PC机都还没有接上电源,打开PC机的机箱,在准备与网络上的其它设备连接的PC机上安装上两块快速以太网卡,在其它的 PC机上安装上一块快速以太网卡。当然别忘了要加上附加的内存。确定完成后盖上机箱,接上电源。

2.使用4根RJ45线缆将四台PC机连到快速以太网的集线器或交换机上。使用剩下的1根RJ45线将额外的以太网卡(用于与其它网络相连的那块,这样机构就可以用上集群)连接到机构的局域网上(假定你的机构局域网也是快速以太网),然后打开电源。

3.使用LINUX安装盘在每一台PC机上安装。请确信在LINUX系统中安装了C编译器和C的LIB库。当你配置TCP/IP时,建议你为四台PC分别指定为192.168.1.1、192.168.1.2、192.168.1.3、192.168.1.4。第一台PC为你的服务器节点(拥有两块网卡的那台)。在这个服务器节点上的那块与机构局域网相连的网卡,你应该为其指定一个与机构局域网吻合的IP地址。

4.当所有PC都装好Linux系统后,编辑每台机器的/etc/hosts文件,让其包含以下几行:

192.168.1.1 node1 server

192.168.1.2 node2

192.168.1.3 node3

192.168.1.4 node4

编辑每台机器的/etc/hosts.equiv文件,使其包含以下几行:

node1

node2

node3

node4

$p#

以下的这些配置是为了让其能使用MPICH’s p4策略去执行分布式的并行处理应用。

1.在服务器节点

,建一个/mirror目录,并将其配置成为NFS服务器,并在/etc/exports文件中增加一行:

/mirror node1(rw) node2(rw) node3(rw) node4(rw)

2.在其他节点上,也建一个/mirror目录,关在/etc/fstab文件中增加一行:

server:/mirror/mirror nfs rw,bg,soft 0 0

3./mirror这个目录从服务器上输出,装载在各个客户端,以便在各个节点间进行软件任务的分发。

4.在服务器节点上,安装MPICH。MPICH的文档可在

5.任何一个集群用户(你必须在每一个节点新建一个相同的用户),必须在/mirror目录下建一个属于它的子目录,如/mirror/username,用来存放MPI程序和共享数据文件。这种情况,用户仅仅需要在服务器节点上编译MPI程序,然后将编译后的程序拷贝到在/mirror目录下属于它的的子目录中,然后从他在/mirror目录下属于它的的子目录下使用p4 MPI策略运行MPI程序。

2.3 MPICH安装指南

1.如果你有gunzip,就d下载mpich.tar.gz,要不然就下载mpich.tar.Z。你可以到下载,也可以使用匿名FTP到ftp.mcs.anl.gov的pub/mpi目录拿。(如果你觉得这个东西太大,你可以到pub/mpi/mpisplit中取分隔成块的几个小包,然后用cat命令将它们合并)

2.解压:gunzip;c mpich.tar.gz tar xovf-(或zcat mpich.tar.Ztar xovf-)

3.进入mpich目录

4.执行:./configure为MPICH选择一套适合你的实际软硬件环境的参数组,如果你对这些默认选择的参数不满意,可以自己进行配置(具体参见MPICH的配置文档)。最好选择一个指定的目录来安装和配置MPICH,例如:

./configure-prefix=/usr/local/mpich-1.2.0

5.执行:make>&make.log这会花一段较长的时间,不同的硬件环境花的时间也就不同,可能从10分钟到1个小时,甚至更多。

6.(可选)在工作站网络,或是一台单独的工作站,编辑mpich/util/machines/machines.xxx(xxx是MPICH对你机器体系结构取的名称,你能很容易的认出来)以反映你工作站的当地主机名。你完全可以跳过这一步。在集群中,这一步不需要。

7.(可选)编译、运行一个简单的测试程序:

cd examples/basic

make cpi

ln;s../../bin/mpirun mpirun

./mpirun;np 4 cpi

此时,你就在你的系统上运行了一个MPI程序。

8.(可选)构建MPICH其余的环境,为ch_p4策略使

用安全的服务会使得任何启动速度加快,你可以执行以下命令构建:

make serv_p4

(serv_p4是一个较新的P4安全服务的版本,它包含在MPICH 1.2.0版中),nupshot程序是upshot程序的一个更快版本,但他需要tk 3.6版的源代码。如果你有这个包,你就用以下命令可以构建它:

make nupshot

9.(可选)如果你想将MPICH安装到一个公用的地方让其它人使用它,你可以执行:

make install或 bin/mpiinstall

你可以使用-prefix选项指定MPICH安装目录。安装后将生成include、lib、bin、sbin、www和man目录以及一个小小的示例目录,

到此你可以通告所有的用户如何编译、执行一个MPI程序。

基于Linux自己初步搭建Kubernetes(k8s)集群基础,详细教程

k8s官方网站:,可自行查看相关文档说明

k8s-master:Ubuntu--192.168.152.100

k8s-node01:Ubuntu--192.168.152.101

k8s-node02:Ubuntu--192.168.152.102

全部已安装docker,未安装可根据官方文档安装:

1,禁止swap分区

K8s的要求,确保禁止掉swap分区,不禁止,初始化会报错。

在每个宿主机上执行:

2,确保时区和时间正确

时区设置

3,关闭防火墙和selinux

ubuntu查看防火墙命令,ufw status可查看状态,ubuntu20.04默认全部关闭,无需设置。

4,主机名和hosts设置(可选)

非必须,但是为了直观方便管理,建议设置。

在宿主机分别设置主机名:k8s-master,k8s-node01,k8s-node02

hosts设置

1,更改docker默认驱动为systemd

为防止初始化出现一系列的错误,请检查docker和kubectl驱动是否一致,否则kubectl没法启动造成报错。版本不一样,docker有些为cgroupfs,而kubectl默认驱动为systemd,所以需要更改docker驱动。

可查看自己docker驱动命令:

更改docker驱动,编辑/etc/docker/daemon.json(没有就新建一个),添加如下启动项参数即可:

重启docker

需要在每台机器上安装以下的软件包:

2,更新 apt包索引并安装使用 Kubernetes apt仓库所需要的包

安装软件包以允许apt通过HTTPS使用存储库,已安装软件的可以忽略

3,下载公开签名秘钥、并添加k8s库

国外:下载 Google Cloud公开签名秘钥:

国内:可以用阿里源即可:

请注意,在命令中,使用的是Ubuntu 16.04 Xenial版本,是可用的最新 Kubernetes存储库。所以而非20.04的focal。

4,更新 apt包索引,安装 kubelet、kubeadm和 kubectl,并锁定其版本

锁定版本,防止出现不兼容情况,例如,1.7.0版本的 kubelet可以完全兼容 1.8.0版本的 API服务器,反之则不可以。

只需要在master上操作即可。

1,初始化错误解决(没有报错的可以跳过这条)

错误提示1:

原因:kubectl没法启动,journalctl-xe查看启动错误信息。

解决方案:k8s建议systemd驱动,所以更改docker驱动即可,编辑/etc/docker/daemon.json(没有就新建一个),添加如下启动项参数即可:

重启docker和kubectel

错误提示2:

原因:初始化生产的文件,重新初始化,需要删除即可

错误提示3:

解决方法:重置配置

2,初始化完成

无报错,最后出现以下,表示初始化完成,根据提示还需要操作。

根据用户是root或者普通用户操作,由于大多环境不会是root用户,我也是普通用户,所以选择普通用户操作命令:

如果是root用户,执行以下命令:

初始化完成,用最后的提示命令 kubeadm join....在node机器上加入集群即可。

3,主节点pod网络设置

主节点支持网络插件:

这里安装Calico网络插件:

Calico官网提供三种安装方式,1)低于50个节点,2)高于50个节点,3)etcd datastore(官方不建议此方法)。

这里选择第一种:

安装完成后, kubectl get node可查看节点状态,由NotReady变成Ready则正常,需要等几分钟完成。

1,node加入master节点

在所有node节点机器操作,统一已安装完成 kubelet、kubeadm和 kubectl,用master初始化完成后最后提示命令加入,切记要用root用户。

加入成功后,提示如下:

再次查看kubelet服务已正常启动。

2,需注意的坑

1:加入主节点,需要 root用户执行词条命令,才可以加入master主节点。

node在没有加入主节点master之前,kubelet服务是没法启动的,是正常情况,会报错如下:

原因是缺失文件,主节点master初始化 `kubeadm init`生成。

node节点是不需要初始化的,所以只需要用root用户`kubeadm join`加入master即可生成。

2:如果加入提示某些文件已存在,如:

原因是加入过主节点,即使没成功加入,文件也会创建,所以需要重置节点,重新加入即可,重置命令:

3,在master查看节点

加入完成后,在master节点 kubectl get node可查看已加入的所有节点:

这里k8s集群创建完成,下一步使用可参考我的下一篇文章:k8s初步熟悉使用介绍,实践搭建nginx集群

如何在ubuntu下搭建spark集群

搭建基于Ubuntu的Spark集群需要经过以下几个步骤。首先,确保在Ubuntu系统中已经安装了Scala,因为Spark是基于Scala开发的。安装Scala的命令为:

sudo apt-get install scala

安装完成后,通过运行scala-version,确认Scala版本(如2.11版本),并查看安装目录(如/usr/share/scala-2.11)。

接下来,下载并解压Spark。访问官方网站,找到最新版本的Spark下载链接,选择与Hadoop版本兼容的Spark版本进行下载。下载完成后,使用以下命令解压文件:

tar xvf spark-2.0.2-bin-hadoop2.7.tgz

将解压的文件夹移动到指定目录,通常选择与Hadoop同目录,如:

sudo mv spark-2.0.2-bin-hadoop2.7/usr/local/spark

进入Spark文件夹下的conf文件夹,复制并编辑spark-env.sh文件,添加环境变量设置,确保与系统环境兼容。内容如下:

export SCALA_HOME=/usr/share/scala-2.11

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

export HADOOP_HOME=/usr/local/hadoop

export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop

SPARK_MASTER_IP=master

SPARK_LOCAL_DIRS=/usr/local/spark

SPARK_DRIVER_MEMORY=1G

export LD_LIBRARY_PATH=/usr/local/hadoop/lib/native/:$LD_LIBRARY_PATH

接下来,复制并编辑slaves文件,设置集群的节点列表。例如:

slave01

slave02

在master节点上,先启动Hadoop,然后运行:

/usr/local/spark/sbin/start-all.sh

以启动Spark集群。使用jps命令查看启动的进程,确认Spark Master进程的加入。在slave节点上执行相同的步骤,启动Worker进程。

访问Spark的Web界面(如:192.168.100.40:8080/)以确认所有节点都已成功启动。最后,运行Spark示例程序以验证集群是否正常运行。使用以下命令:

/usr/local/spark/bin/run-example SparkPi 10--slave01 local[2]

通过结果输出(如:Pi is roughly 3.14XXXXX),确认Spark集群搭建成功。

阅读剩余
THE END