设为首页 加入收藏

TOP

在HADOOP平台上运行MATLAB程序(Centos7系统)
2019-04-18 12:39:57 】 浏览:106
Tags:HADOOP 台上 运行 MATLAB 程序 Centos7 系统

用mapreduce框架运行matlab示例程序,官网https://ww2.mathworks.cn/help/compiler/hadoop/example-on-running-a-standalone-matlab-mapreduce-application.html

按照官网的步骤,基本上可以成功,但是运行的时候还是碰到了一些问题。

  • 首先要设置一个HADOOP_PREFIX的环境变量值,直接在/etc/profile添加,export HADOOP_PREFIX=/opt/hadoop-2.8.0,红色部分是hadoop的安装路径,按照自己的路径修改。
  • 安装Matlab runtime,https://www.mathworks.com/products/compiler/matlab-runtime.html在官网下载对应的版本,下载到/usr/local/MATLAB/MATLAB_Runtime即可,路径可以照自己的路径
  • unzip安装包,然后./install -mode silent -agreeToLicense yes(忘记截图了,教程http://blog.sina.com.cn/s/blog_619c66670102wiim.html
  • 配置mcr的环境变量
  • 这一步很重要,如果mcr没有安装或者环境变量没有配置好,就会报错

  • 需要注意的是,HADOOP集群中的所有服务器都需要安装mcr并配置环境变量
  • 然后,把需要处理的数据文件上传到HADOOP的文件系统HDFS上,数据文件在matlab安装路径/toolbox/matlab/demos下的airlinesmall.csv,并且把文件夹下的maxArrivalDelayMapper.m和maxArrivalDelayReducer.m文件都拷到matlab的工作台下。
  • 文件上传hdfs的具体教程:https://www.cnblogs.com/qingyunzong/p/8496127.html#_label4
  • 我在HDFS上新建了/testMR/input文件夹./hadoop fs -mkdir /testMR/input,然后把文件put上去./hadoop fs -put /documents/Matlab/toolbox/matlab/demos/airlinesmall.csv /testMR/input,红色部分为matlab安装文件夹,根据自己的安装路径修改,并且新建/testMR/output文件夹,./hadoop fs -mkdir /testMR/output,用于放输出,看一下HDFS上的文档结构./hadoop fs -ls /testMR,大概是这样的

  • 在matlab工作台下新建一个脚本,输入如下代码

  • 在matlab控制台输入mcc -m depMapRedStandAlone.m,生成run_depMapRedStandAlone.sh文件
  • 然后从控制台进入matlab的工作目录,运行生成的文件

./run_depMapRedStandAlone.sh /usr/local/MATLAB/MATLAB_Runtime/v90,红色部分为mcr的安装目录,根据自己的路径修改就可以了。

  • 成功后会输出结果

  • 还有一点需要注意,输出结果需要是新建的,假如第一次运行失败,但是输出文件myresults已经生成了,这时候调试好后,由于HDFS上已经有myresults文件,就会报错,所以每次运行前,要把该文件先删除
  • ./hadoop fs -rm -r /testMR/output
  • ./hadoop fs -mkdir /testMR/output
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇hadoop入门:在windows上用Eclips.. 下一篇Springboot2(36)集成hadoop

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目