Windows上基于docker的Hadoop实验环境部署

西电分布式实验

Windows上基于Docker的Hadoop实验环境部署(单节点)

本篇是关于西电李龙海老师的分布式计算课程的实验环境部署的基本步骤和可能出现的问题。

一、Windows上安装Docker引擎

在下载之前需要在c盘留出至少10G的内存

1、在官网下载Docker,运行“Docker Desktop Installer.exe”,按照提示安装。
2、若出现提示安装“WSL2 Linux 内核更新包”,根据步骤4-下载Linux内核更新包。
3、安装成功后,双击Docker Desktop运行docker引擎。
4、如果出现docker desktop stopped或者docker desktop staring,说明docker下载错误,可以通过更换docker版本进行解决。
5、安装成功后,在docker desktop的settings界面的 “docker engine”栏目中修改配置文件,增加国内的docker镜像仓库地址。

{
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "experimental": false,
  "features": {
    "buildkit": true
  },
  "registry-mirrors": [
    "https://hub-mirror.c.163.com",
    "https://mirror.baidubce.com"
  ]
}

在cmd中输入

docler run hello-world

如果可以看到自动拉取镜像的过程并看到提示“Hello from Docker!”则安装成功。

二、部署Hadoop和Spark实验环境

2.1导入包含实验环境的Docker镜像

1、将压缩包hadoopsparkv2.tar和hadoopspark.zip放在A目录下(建议放在D盘),将当前工作目录切换到该目录下。
2、输入以下命令将压缩包hadoopsparkv2.tar中的Dockers镜像导入本机的docker引擎中。

docker load --input hadoopsparkv2.tar

做此步骤之前需要保证C盘有5G以上的内存,否则会出现“read-only system”的错误,如果出现了磁盘内存不够的问题,删除C盘中的docker,并清理磁盘,重新下载docker并部署。
3、将hadoopspark.zip中的内容解压到A/hadoopspark目录下。

2.2启动和关闭实验环境

1、启动实验环境:切换目录到A/hadoopspark,运行

docker-compose up -d
docker ps

2、输入以下命令通过ssh协议从本机(宿主机)远程登录到hadoopspark_singlenode虚拟机内部:

ssh -p 2222 root@localhost

输入登录密码123456

三、关于HDFS实验

输入以下命令,启动HDFS分布式文件系统

start-dfs.sh

四、关于MapReduce实验

1、输入以下命令,切换目录

cd share
cd mapreduce-demo

2、输入以下的命令

#像HDFS上传input_file.txt文件
hadoop fs -mkdir input
hadoop fs -put ./input_file.txt input
hadoop fs -cat input/input_file.txt

#运行WordCount这个MapReduce程序
hadoop jar ./target/WordCountDemo.jar com.org.xidian.MapReduceWordCountDemo input/input_file.txt output

#查看运行结果
hadoop fs -ls output
hadoop fs -cat output/part-r-00000
hadoop fs -rm -r output

3、查看输出结果

以上内容来自李龙海老师的实验资料和本人实验过程中出现的问题,欢迎大家批评指正。

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 西电分布式计算课程的作业中,我们研究了使用RPC(Remote Procedure Call)进行分布式计算。RPC是一种通信机制,它允许在不同的计算机上调用远程过程或方法。 在作业中,我们首先学习了RPC的工作原理和基本概念。RPC通过网络连接客户端和服务器,使客户端能够像调用本地函数一样调用远程函数。客户端发送请求消息到服务器端,服务器端执行相应的函数,并将结果返回给客户端。这种机制使得分布式计算变得更加简便和高效。 我们进一步实践了RPC的应用,使用Java语言和相关的框架来实现一个简单的RPC系统。我们首先定义了接口,包含了客户端和服务器端共享的方法。然后我们使用RPC框架提供的工具生成客户端和服务器端的代理类,使得客户端可以调用远程方法,而服务器端可以接收请求并处理相应的方法。 在作业中,我们还探讨了RPC的一些特性和优势。RPC具有高度的透明性,使得分布式计算变得更加灵活和简单,客户端无需关注具体的网络通信细节。此外,RPC能够提供数据的传输和序列化,确保数据在网络传输中的有效性和安全性。 通过完成这个作业,我们更深入地理解了分布式计算和RPC的相关概念和原理。RPC作为一种重要的分布式计算通信机制,为我们在分布式环境下实现高效的计算和协作提供了有力的支持。在今后的学习和实践中,我们将更加灵活和熟练地应用RPC技术,为解决分布式计算问题提供更好的解决方案。 ### 回答2: 西安电子科技大学的分布式计算作业中,我们使用RPC(远程过程调用)技术来实现分布式计算。 RPC是一种基于网络通信的技术,它可以实现在不同的计算机上调用远程服务。在分布式计算中,RPC可以帮助我们实现跨计算节点的函数调用和数据传输。 首先,我们需要定义分布式计算任务的接口,即要远程调用的方法。比如,我们可以定义一个计算两个数之和的方法。然后,我们使用RPC框架,如Apache Thrift或gRPC,生成客户端和服务器端的代码。 在服务器端,我们实现接口方法的具体逻辑。当客户端调用这个方法时,通过RPC协议,客户端将请求发送给服务器端。服务器端接收到请求后,执行相应的方法,并将结果返回给客户端。 在分布式环境中,客户端和服务器端可以部署在不同的计算节点上。通过RPC技术,客户端不需要知道调用的方法实际在哪个节点上执行,只需要发送请求即可。这样,我们可以实现跨节点的分布式计算。 需要注意的是,在分布式计算中,我们还需要考虑任务的划分和调度。我们可以将一个大的计算任务划分成多个子任务,并将这些子任务分配给不同的计算节点进行处理。通过RPC技术,各个计算节点可以并行地执行任务,最终将结果汇总起来。 综上所述,西安电子科技大学的分布式计算作业中,我们使用RPC技术来实现跨计算节点的函数调用和数据传输。通过合理的任务划分和调度,我们可以实现高效的分布式计算。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值