当前位置:首页 » 编程软件 » 能在集群里编译软件吗

能在集群里编译软件吗

发布时间: 2024-12-15 14:55:38

A. 在MPI集群上使用CUDA

CUDA给的例子中有simpleMPI程序,给每台电脑上安装好了CUDA(也可能安装好驱动就好了),它可以在集群上运行,在不同节点上跑,各个节点都可以调用自己的GPU计算。为了大幅提升数据传输性能,我们必须启用CUDA-aware技术,它使得不同节点之间的GPU数据可以直接经过网卡传输,不需要通过主机内存。为了使数据传输能达到最大性能,CUDA-aware需要一系列技术支持,包括GPUDirect RDMA、Unified Virtual Address等。主流版本的MPI都可以支持这些技术,为了完整支持这些技术,MPI的编译比原先稍微复杂了一些。以 openmpi 为例,官网上给出了如何安装,如何运行的讲解。

How do I build Open MPI with CUDA-aware support?

What kind of CUDA support exists in Open MPI?

**配置和编译 Open MPI >= 2.0.0 **

官方推荐使用最新版本,我也就用最新版本。

关于GDRCopy:顾名思义,它是基于GPUDirect RDMA的库,用于数据拷贝。以下仅是个人理解,GPUDirect RDMA技术支持第三方设备有直接读写GPU内存的能力,比如一块GPU直接通过网卡读写另一块GPU的内存,CPU也可以直接通过网卡直接读写另一块GPU的内存。GPU不像CPU一样低延迟,用CPU读写远程GPU内存延迟低一些。

关于UCX:统一通信。MPI的通信层。

我不太懂这两个库,不管怎么样,按照官方推荐把这两个安装上去就好了,我们不会直接调用这两个库。

B. 不同配置的几台PC电脑,可以组成linux集群或者windows集群吗

可以,集群不要求配置一样~
集群是一组相互独立的、通过高速网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理。一个客户与集群相互作用时,集群像是一个独立的服务器。集群配置是用于提高可用性和可缩放性。--网络
集群下不同节点去实现对应的功能,可以对应功能去搭配合适的硬件,所以不会要求配置一样。

C. 如何在hadoop-2.6.0上编译运行自己编写的java代码

在不使用eclipse情况使java程序在hadoop 2.2中运行的完整过程。整个过程中其实分为java程序的编译,生成jar包,运行测试。
这三个步骤运用的命令都比较简单,主要的还是如何找到hadoop 2.2提供给java程序用来编译的jar包。具体可以查看:
HADOOP_HOME/share/hadoop/httpfs/tomcat/webapps/webhdfs/WEB-INF/lib目录
下面会通过一个在hadoop中创建一个目录的JAVA例子来进行演示
具体代码如下:

package com.wan.demo;

import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;

public class HADemo {

public static void main(String[] args) {
// TODO Auto-generated method stub
mkdir(args[0]);
}

public static void mkdir(String dir){
Configuration configuration=new Configuration();
FileSystem fs;
try {
fs = FileSystem.get(configuration);
fs.mkdirs(new Path(dir));
fs.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

把HADemo.java文件拷贝到linux环境中
配置HADOOP_HOME/bin到环境中,启动集群,进入HADemo.java文件目录中
注:下面的lib目录里面的文件由HADOOP_HOME/share/hadoop/httpfs/tomcat/webapps/ webhdfs/WEB-INF/lib目录中获取,下面做的目的是为了缩减命令长度
1.编译java
# mkdir class
#Javac -classpath .:lib/hadoop-common-2.2.0.jar:lib/hadoop-annotations-2.2.0.jar -d class HADemo.java
2.生成jar包
#jar -cvf hademo.jar -C class/ .
added manifest
adding: com/(in = 0) (out= 0)(stored 0%)
adding: com/wan/(in = 0) (out= 0)(stored 0%)
adding: com/wan/demo/(in = 0) (out= 0)(stored 0%)
adding: com/wan/demo/HADemo.class(in = 844) (out= 520)(deflated 38%)
3.测试运行
#hadoop jar hademo.jar com.wan.demo.HADemo /test
检测:
#hadoop fs -ls /

结束!

D. redis集群-keepalived+redis

Redis 集群配置与 Keepalived 结合使用,以实现数据冗余与高可用性。此过程涉及多个步骤,从安装与配置 Redis 到集成 Keepalived,以实现自动化的主从切换与负载均衡。

首先,我们需要安装 Redis。这包括安装编译工具、下载并解压 Redis 安装包、执行编译和安装命令。确保 Redis 主服务器安装于公网 IP 与内网 IP 相应的服务器上,从服务器同样如此,但需确保它们各自独立并相互独立运行。

接着,为了方便管理,我们需要在特定目录创建文件夹,如 /usr/local/redis 等,并将配置文件复制到该目录下。这一步确保了我们可以通过统一的目录管理所有的 Redis 服务配置。

配置 sysctl.conf 文件是另一个关键步骤,目的是启用内核参数,确保 Redis 在重启或停止时不会报错,并且能自动在停止服务前同步数据到磁盘上。

为了允许外部访问 Redis,我们需要编辑 redis.conf 文件,以便设置外部访问权限。这包括调整监听 IP 地址和端口,以允许从网络中访问 Redis 服务。

启动 Redis 服务时,我们有多种方式,如前台或后台启动。后台启动服务时,我们还需要指定配置文件,确保服务的正确初始化与运行。

外部 IP 地址访问 Redis 需要通过命令行操作,如通过 ip a 命令查看网络接口,然后使用 redis-cli 命令连接到特定的 Redis 实例,执行相应的操作,例如查看端口号、执行数据存储与检索操作。

关闭 Redis 服务同样有多种方式,如前台或后台关闭,甚至可以通过系统命令来实现。正常关机时,Redis 会自动启动,确保服务的连续性。

为了实现高可用性,我们需要安装并配置 Keepalived。这涉及安装必要的编译工具与库文件、下载并解压 Keepalived 安装包、执行编译与安装命令。配置文件 keepalived.conf 的调整是关键,我们需要创建与 Redis 集成的脚本来实现主从切换、状态监控与故障转移。

在配置 Keepalived 时,需要为每个 Redis 实例创建相应的脚本,如 redis_check.sh、redis_master.sh、redis_backup.sh、redis_fault.sh 和 redis_stop.sh,这些脚本负责监控 Redis 状态、执行主从切换操作、处理故障转移、检测故障以及停止服务。

确保所有脚本可执行后,我们启动与关闭 Keepalived 服务。在启动 Keepalived 之前,确保 Redis 服务已经启动,以避免 Keepalived 直接停止 Redis 服务,导致主节点切换到从节点时可能出现的问题。

设置 Keepalived 为开机自启动,我们需要复制与修改相关脚本,确保其能够与系统服务集成。这包括在特定目录下创建与配置 Keepalived 相关的脚本,并为这些服务添加可执行权限与开机自启动选项。

测试 Keepalived 与 Redis 集群的高可用性,我们验证虚拟 IP 地址能在主从节点之间切换,检查 Redis 集群状态是否能正常切换,以及在主节点宕机时数据的完整性和一致性。测试包括在主从节点上执行数据操作,验证数据同步与故障转移机制的正确性。

通过以上步骤,我们实现了 Redis 集群与 Keepalived 的集成,确保了系统的高可用性与数据一致性,为应用程序提供了稳定与可靠的 Redis 服务。

热点内容
微信php开发 发布:2024-12-15 17:37:31 浏览:268
微信密码为什么有时候显示错误 发布:2024-12-15 17:30:13 浏览:428
日立存储管理软件 发布:2024-12-15 17:21:48 浏览:331
安卓支付宝好友在哪里查看 发布:2024-12-15 17:18:08 浏览:137
挖矿架怎么配置 发布:2024-12-15 17:12:16 浏览:578
文字能不能压缩 发布:2024-12-15 17:03:06 浏览:577
mac解压缩zip失败 发布:2024-12-15 16:53:02 浏览:666
新宝塔密码多少 发布:2024-12-15 16:43:59 浏览:92
什么是云端存储 发布:2024-12-15 16:32:46 浏览:18
苹果如何语音设置密码 发布:2024-12-15 16:20:13 浏览:858