storm的多语言接口调用C#,或者在linux下执行C#文件都需要mono环境,以下是mono的两种安装方案,个人推荐yum安装,因为源码编译安装有时环境变量加载不生效,看似mono安装正常,但是不识别C#脚本,,这就很痛苦
第一种:源码编译
1、安装mono依赖的各种组件
- yum -y install gcc gcc-c++ bison pkgconfig glib2-devel gettext make libpng-devel libjpeg-devel libtiff-devel libexif-devel giflib-devel libX11-devel freetype-devel fontconfig-devel cairo-devel
2、下载并安装libgdiplus
libgdiplus是一个Mono库,用于对非Windows操作系统提供GDI+兼容的API。各版本的下载地址:http://download.mono-project.com/sources/libgdiplus/
- mkdir /usr/local/mono
- cd /usr/local/mono
- wget http://download.mono-project.com/sources/libgdiplus/libgdiplus-4.2.tar.gz
- tar zxf libgdiplus-4.2.tar.gz
- cd libgdiplus-4.2
- ./configure --prefix=/usr/mono
- make
- make install
- echo "/usr/mono/lib" > /etc/ld.so.conf.d/mono.conf
3、下载并安装mono
#各版本的下载地址:http://download.mono-project.com/sources/mono/
- cd /usr/local/mono
- wget http://download.mono-project.com/sources/mono/mono-4.6.0.125.tar.bz2
- tar jxf mono-4.6.0.125.tar.bz2
- cd mono-4.6.0
- ./configure --prefix=/usr/mono/
- make -j2
- make install
- echo PATH=/usr/mono/bin:$PATH>>~/.bash_profile
- source ~/.bash_profile
- ldconfig
4、查看版本
- mono --version
5、发送给storm其他两台
- scp -r mono/ root@172.8.10.141:/usr/local/
- scp -r mono/ root@172.8.10.142:/usr/local/
安装步骤同上
6、测试
#测试安装是否成功
将RedisTest.exe文件传到服务器上,并执行
(RedisTest.exe是C#写的一个helloword测试案例)
- cd /home/storm/
- mono RedisTest.exe
第二种:yum方式按照mono
- rpm --import "http://keyserver.Ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF"
- yum-config-manager --add-repo http://download.mono-project.com/repo/centos/
#如果提示没有yum-config-manager命令,需要安装yum-utils
- yum -y install yum-utils
- yum install -y mono