您的位置:首页 > 运维架构

Opendap 4:Hyrax配置BES netcdf handler

2016-06-29 18:29 260 查看

背景

以前做的一个软件项目,需要使用到opendap的服务,简单搜索下,发现国内用的很少,找到的也就是海南那边的气象局还是哪个单位写的论文,当然很老,而且只写了些基本的框架信息,对实际部署没啥用。

2年前开始做,先是大量的阅读官网材料,然后就真是摸着石头过河,在linux上自己开始折腾,各种debug,各种error,现在想想都有些后怕,好在经过这么多的摸索后,总算能整个雏形出来,算可以用了吧。

opendap 搭建

其实就opendap的搭建来说还不难,只要懂些linux系统命令就可以了,分前后端部署,前端采用apache+tomcat,后端采用老外自己写的监听程序BES。

下载软件不难,关键是里面有些版本限制相当坑爹,tomcat我装的是7.0.55,tomcat又需要java环境,在centos下各种yum install后都可以了,这些基本按照官网的文档来都没啥问题。

但是从安装BES开始就困难了,难在哪,主要觉得是两方面,1)版本要求;2)需要装的包和库太多,很容易心烦意乱啊~~~~

在早期的时候就一直想吐槽opendap官网的下载,没有统一,漂亮的下载页面,老是在几个重复的页面中链来链去,着实坑爹。

这里记录下早前他们的FTP下载路径:

http://www.opendap.org/pub/source/

最近上去看的时候死活找不到这个,而是将这些个包的源码统一放到Github上,这也可以理解。原本他们是想把每个包都编译好,按照版本上传到FTP上,这样用户直接下载后只需简单的安装三部曲:

1../configure

2.make

3.make install

就可以了,但发现下载的包在不同机子上经常报错,所以最好的方法就是让用户自个手动生成configure文件。但对于我们这种只想使用,不怎么对编译流程在行的门外汉就产生了巨大的麻烦。自己傻乎乎的./configure发现没有这个文件,需要自己生成,google下发现得用autoconf,用autoconf又报错说版本太低,最少要2.6.9,这不坑爹么!

yum update也没用,要知道yum本身的各个包的升级很慢,经常发现nothing to update,还是得用federo的EPEL(随手发个教程,省得再去搜centos安装EPEL),有些包像netcdf等还挺全的。

安装Netcdf Handler

好了,不多说,在配置完服务后下面就是安装处理不同数据类型的handler,否则opendap对文件就只能下载了,就像下图:



因为针对气象行业来说NOAA的netcdf格式以其高压缩等等优点被广泛使用,所以暂时就安装这个。

step 1:编译netcdf handler

下载netcdf_handler_version.tar.gz安装包,解压,常规安装流程,这时发现在bes的module目录下已经多了一个nc.conf文件,但是如果重新启动BES会报找不到libhdf5_h1.so.9的错误,也就是让你安装hdf5,我是直接下载了hdf的压缩包,然后逐个把里面的内容复制到/usr目录下,最后将修改下名字:

# mv /usr/lib/libhdf5_h1.so.10 /usr/lib/libhdf5_h1.so.9


当然,仅仅这样还不够还需要装netcdf,

# yum --enable-epel=epel install netcdf


注意得用epel装,yum base repo没有这些包,

装完就大功告成了~~~~

为了这个折腾了一天—————————



结束语

希望对大家有所帮助,有什么问题也可以qq私信我:

603176485,bye~~~~~~~~~~~~~~~~~~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  opendap