Linux(CentOS)安装配置zeromq、jzmq(解决各种问题)
2014-12-03 21:07
567 查看
今天为Hadoop配置zeromq、jzmq遇到各种问题,先是编译出错,到编译成功后测试出错等等,下面将我遇到的问题与大家分享一下。
第一个注意点是:必须先编译安装zeromq,然后在编译jzmq,否则会报zmq.h文件找不到。
官方安装配置链接:http://zeromq.org/bindings:java
Step 1:安装必须的依赖包:
备注:其中一些包依据操作系统不同所以并不是上面的名称,请使用yum list avaiable *package name*查询可获取的包,然后安装。例如:查找openjdk,蓝色背景的就是我们要找的。
Step 2:编译安装zeromq-2.1.7
2.1 解压缩包
2.2 Build&&Install
Step 3:编译安装jzmq
3.1从github上clone jzmq
第一个注意点是:必须先编译安装zeromq,然后在编译jzmq,否则会报zmq.h文件找不到。
官方安装配置链接:http://zeromq.org/bindings:java
Step 1:安装必须的依赖包:
[mdrill01@mdrill01 ~]$ sudo yum install autoconf automake libtool gcc gcc-g++ make libuuid-dev git java-1.6.0-openjdk-devel
备注:其中一些包依据操作系统不同所以并不是上面的名称,请使用yum list avaiable *package name*查询可获取的包,然后安装。例如:查找openjdk,蓝色背景的就是我们要找的。
ot@mdrill01 jzmq]# sudo yum list avaiable *openjdk* Loaded plugins: fastestmirror, langpacks ....... Available Packages java-1.6.0-openjdk.x86_64 1:1.6.0.33-1.13.5.0.el7_0 updates java-1.6.0-openjdk-demo.x86_64 1:1.6.0.33-1.13.5.0.el7_0 updates java-1.6.0-openjdk-devel.x86_64 1:1.6.0.33-1.13.5.0.el7_0 updates java-1.6.0-openjdk-javadoc.x86_64 1:1.6.0.33-1.13.5.0.el7_0 updates java-1.6.0-openjdk-src.x86_64 1:1.6.0.33-1.13.5.0.el7_0 updates java-1.7.0-openjdk.x86_64 1:1.7.0.71-2.5.3.1.el7_0 updates java-1.7.0-openjdk-accessibility.x86_64 1:1.7.0.71-2.5.3.1.el7_0 updates java-1.7.0-openjdk-demo.x86_64 1:1.7.0.71-2.5.3.1.el7_0 updates java-1.7.0-openjdk-devel.x86_64 1:1.7.0.71-2.5.3.1.el7_0 updates java-1.7.0-openjdk-headless.x86_64 1:1.7.0.71-2.5.3.1.el7_0 updates java-1.7.0-openjdk-javadoc.noarch 1:1.7.0.71-2.5.3.1.el7_0 updates java-1.7.0-openjdk-src.x86_64 1:1.7.0.71-2.5.3.1.el7_0 updates [root@mdrill01 jzmq]# sudo yum install java-1.6.0-openjdk-devel.x86_64 #安装 Loaded plugins: fastestmirror, langpacks Loading mirror speeds from cached hostfile ............ Dependency Updated: python-javapackages.noarch 0:3.4.1-6.el7_0 Complete! [root@mdrill01 jzmq]#
Step 2:编译安装zeromq-2.1.7
2.1 解压缩包
[mdrill01@mdrill01 ~]$ tar -zxvf zeromq-2.1.7.tar.gz
2.2 Build&&Install
$ cd $ ./autogen.sh $ ./configure $ make $ sudo make install
Step 3:编译安装jzmq
3.1从github上clone jzmq
$ git clone https://github.com/zeromq/jzmq.git[/code]
3.2 Bulid&&Install(官方提供步骤,可惜不行)$ cd jzmq $ ./autogen.sh $ ./configure $ make #在执行make的时候报[code]make[1]: *** No rule to make target `classdist_noinst.stamp', needed by `org/zeromq/ZMQ.class'. Stop.
$ sudo make install[/code]
3.3错误排除
1)确保Step 1的依赖包安装完全
2)检查JDK是不是用的openjdk6,如果不是请将JAVA_HOME临时指向/usr/lib/jvm/java-1.6.0-openjdk.x86_64/[mdrill01@mdrill01 ~]$ echo $JAVA_HOME /usr/java/jdk1.6.0_45 [mdrill01@mdrill01 ~]$ JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk.x86_64/
3.4解决错误
1)将目录切换至jzmq/src下
2)touch classdist_noinst.stamp
3)执行:CLASSPATH=.:./.:$CLASSPATH javac -d . org/zeromq/ZMQ.java org/zeromq/ZMQException.java org/zeromq/ZMQQueue.java org/zeromq/ZMQForwarder.java org/zeromq/ZMQStreamer.java
4)cd .. ./autogen.sh./configure make sudo make install
5)测试是否安装成功,切换至jzmq/perf/目录下,执行sh local_lat.sh tcp://127.0.0.1:5000 1 100进行测试:[mdrill01@mdrill01 jzmq]$ cd perf/ [mdrill01@mdrill01 perf]$ sh local_lat.sh tcp://127.0.0.1:5000 1 100 Exception in thread "main" java.lang.UnsatisfiedLinkError: no jzmq in java.library.path at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1738) at java.lang.Runtime.loadLibrary0(Runtime.java:823) at java.lang.System.loadLibrary(System.java:1028) at org.zeromq.ZMQ.<clinit>(ZMQ.java:34) at local_lat.main(local_lat.java:36)
no jzmq in java.library.path???
解决办法:export JAVA_LIBRARY_PATH=/usr/local/lib 或者export LD_LIBRARY_PATH=/usr/local/lib 最好将其加入~/.bashrc中 [mdrill01@mdrill01 perf]$ vi ~/.bashrc export LD_LIBRARY_PATH=/usr/local/lib
然后在进行测试一切OK,首先在一个终端下执行:sh local_lat.sh tcp://127.0.0.1:5000 1 100[mdrill01@mdrill01 perf]$ source ~/.bashrc [mdrill01@mdrill01 perf]$ sh local_lat.sh tcp://127.0.0.1:5000 1 100
此时,打开另外一个终端执行:sh remote_lat.sh tcp://127.0.0.1:5000 1 100[mdrill01@mdrill01 jzmq]$ cd perf/ [mdrill01@mdrill01 perf]$ pwd /home/mdrill01/component/jzmq/perf [mdrill01@mdrill01 perf]$ sh remote_lat.sh tcp://127.0.0.1:5000 1 100 message size: 1 [B] #####说明测试成功 roundtrip count: 100 mean latency: 140.0 [us] [mdrill01@mdrill01 perf]$
参考:Compiling JZMQ on Ubuntu
Hadoop and JZMQ - no jzmq in java.library.path
相关文章推荐
- Linux下安装Mysql与配置(附带遇到的各种问题的解决办法)
- Linux安装显卡驱动,双显示器配置及问题解决!
- centOS 安装 ZeroMQ, JZMQ错误解决
- Centos6.5下rsync文件同步安装及配置当中遇到的问题及解决方法
- Linux(Centos 5.4下) 安装Openoffice和Swftools和相关问题解决
- linux centos各种问题解决汇总
- 新手安装(折腾)Linux的故事——遇到各种问题的新手解决方法
- CentOS7.0下安装和配置zabbix2.4.5全过程及解决一些遇到的问题
- 在Linux(CentOS6.2)服务器上配置hadoop时遇到的一些问题以及一些解决办法
- 解决在X64 RedHat5.1、centos、linux 下以编译方式安装PHP 出现的种种问题(转)
- Linux 安装lxml及各种问题的解决
- Linux下SVN的安装与配置及相关问题解决方案
- linux(centOS6) 安装Mysql 5.6.19数据库步骤、 问题以及相应的解决办法
- Linux第一天接触, 安装CentOS后解决中文字体的问题
- Linux-CentOS安装N卡驱动以及解决屏幕亮度不可调问题
- linux 下安装 MySQL 经常出现各种问题终极解决方法 /var/run/mysqld/mysqld.sock /var/run/mysqld/mysqld.pid
- 解决安装Domino for Linux时配置的Web服务器无法启动的问题
- linux 配置NDS服务器地址 解决安装中源无法连接问题
- Linux管理工作,实例讲解工作中使用ssh证书登录的实际流程,讲解ssh证书登录的配置原理,基于配置原理,解决实际工作中,windows下使用SecureCRT证书登录的各种问题,以及实现hadoo