hadoop调用matlab程序的设置方法
2017-08-07 22:49
323 查看
用matlab代码实现一些复杂算法比较容易,而hadoop又比较适合分布式处理数据,有没有办法把这两者的优点结合起来呢,答案当然是肯定的。百度文库上有篇文挡讲到了实现方法,(文库链接)但是中间有些坑没有讲到。
其中充当桥梁的是matlab将算法打成的jar包。
本文的实现是在ubuntu14.04 64位基础上实现的。matlab是2015a for linux 64位,hadoop版本2.7.0 以及matlab对应的MCR版本。
首先要填的坑就是java版本的问题,不要使用openjdk,使用oracle公司的java版本,而且要保证matlab的jar编译器和hadoop都能正常工作,采用jdk1.7版本。否则matlab的jar编译器不会正常工作。
第二个坑是在root下无法运行javac、java等命令的问题,这个要进行如下操作手动替换默认的jdk的版本:
sudo update-alternatives --install /usr/bin/java java /usr/share/java/jdk1.7.0_60/bin//java 300
sudo update-alternatives --install /usr/bin/javac javac /usr/share/java/jdk1.7.0_60/bin/javac 300
sudo update-alternatives --install /usr/bin/javah javah /usr/share/java/jdk1.7.0_60/bin/javah
300
sudo update-alternatives --install /usr/bin/javadoc javadoc /usr/share/java/jdk1.7.0_60/bin/javadoc 300
sudo update-alternatives --install /usr/bin/jar jar /usr/share/java/jdk1.7.0_60/bin//jar 300
经过这番修改,matlab就可以正常编译jar包了。
还有就是将环境变量写到~./bashrc,不要写到别的地方,比如/etc/profile,否则会造成系统重启死机。
其他的就照百度文库上的操作进行就行了。
因为自己设置已经过了好长时间了,有些具体的细节没有仔细写,如果大家有疑问的,可以留言问我。
补:
ubuntu14.04安装matlab2015aMCR后设置LD_LIBRARY_PATH后出现警告,version 没有找到,
ssh: /usr/local/MATLAB/MATLAB_Runtime/v85/bin/glnxa64/libcrypto.so.1.0.0: no version information available
修改方法:在LD_LIBRARY_PATH里添加有version信息的库文件路径如下,注意加在最前面:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/lib/x86_64-linux-gnu:/usr/local/MATLAB/MATLAB_Runtime/v85/runtime/glnxa64:/usr/local/MATLAB/MATLAB_Runtime/v85/bin/glnxa64:/usr/local/MATLAB/MATLAB_Runtime/v85/sys/os/glnxa64
红色部分为新加的路径,加入以后,警告消失
其中充当桥梁的是matlab将算法打成的jar包。
本文的实现是在ubuntu14.04 64位基础上实现的。matlab是2015a for linux 64位,hadoop版本2.7.0 以及matlab对应的MCR版本。
首先要填的坑就是java版本的问题,不要使用openjdk,使用oracle公司的java版本,而且要保证matlab的jar编译器和hadoop都能正常工作,采用jdk1.7版本。否则matlab的jar编译器不会正常工作。
第二个坑是在root下无法运行javac、java等命令的问题,这个要进行如下操作手动替换默认的jdk的版本:
sudo update-alternatives --install /usr/bin/java java /usr/share/java/jdk1.7.0_60/bin//java 300
sudo update-alternatives --install /usr/bin/javac javac /usr/share/java/jdk1.7.0_60/bin/javac 300
sudo update-alternatives --install /usr/bin/javah javah /usr/share/java/jdk1.7.0_60/bin/javah
300
sudo update-alternatives --install /usr/bin/javadoc javadoc /usr/share/java/jdk1.7.0_60/bin/javadoc 300
sudo update-alternatives --install /usr/bin/jar jar /usr/share/java/jdk1.7.0_60/bin//jar 300
经过这番修改,matlab就可以正常编译jar包了。
还有就是将环境变量写到~./bashrc,不要写到别的地方,比如/etc/profile,否则会造成系统重启死机。
其他的就照百度文库上的操作进行就行了。
因为自己设置已经过了好长时间了,有些具体的细节没有仔细写,如果大家有疑问的,可以留言问我。
补:
ubuntu14.04安装matlab2015aMCR后设置LD_LIBRARY_PATH后出现警告,version 没有找到,
ssh: /usr/local/MATLAB/MATLAB_Runtime/v85/bin/glnxa64/libcrypto.so.1.0.0: no version information available
修改方法:在LD_LIBRARY_PATH里添加有version信息的库文件路径如下,注意加在最前面:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/lib/x86_64-linux-gnu:/usr/local/MATLAB/MATLAB_Runtime/v85/runtime/glnxa64:/usr/local/MATLAB/MATLAB_Runtime/v85/bin/glnxa64:/usr/local/MATLAB/MATLAB_Runtime/v85/sys/os/glnxa64
红色部分为新加的路径,加入以后,警告消失
相关文章推荐
- ubuntu系统下C++调用matlab程序的方法详解
- VC6调用matlab7里的m程序的案例及方法
- Android编程中设置飞行模式与调用系统程序的方法 - [Android开发]
- 使用GCJ编译Java程序供Matlab调用Java对象方法实践
- windows系统下C++调用matlab程序的方法详解
- VC6调用matlab7里的m程序的案例及方法
- Matlab程序调用外部exe(可执行文件)方法及参数传递
- C程序调用matlab中M文件的方法
- 使用Windows下的intellij IDEA 运行MapReduce程序远程调用Hadoop的hdfs(非Maven方法)
- hadoop 从客户端的hdfs测试程序连到linux 上的hadoop(hdfs)要调用的方法
- matlab 调用opencv函数方法及matlab编译c++程序
- MATLAB中调用Weka设置方法(转)及示例
- MATLAB中调用Weka设置方法(转)及示例
- Shark中调用外部程序的方法
- 程序中调用控制面板设置功能
- 编写c51程序调用汇编函数的一种方法
- C#实现Web程序调用Windows程序的方法
- MIT-BIH ECG 信号的数据读取方法和Matlab程序
- 在linux下设置开机自动启动程序的方法
- 用反射调用别人的.NET程序里的类和方法