學習RocketMQ (一) 安裝並且啟動MQ quickstart


1.使用RocketMQ 的 軟件要求

64bit OS, Linux/Unix/Mac is recommended;
64bit JDK 1.8+;
Maven 3.2.x
Git

1)安裝Linux

下載VMWare 

下載CentOS

安裝  沒有什么特別注意的

2) Linux 下面安裝Java

在Oracle官網上面下載Java 的Linux版本

解壓 后配置環境變量

vim /etc/profile

JAVA_HOME=/usr/local/java/jdk1.8.0_151  #注意這里換成你的jdk目錄
JRE_HOME=${JAVA_HOME}/jre
CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
PATH=${JAVA_HOME}/bin:$PATH
export JAVA_HOME JRE_HOME PATH CLASSPATH

使之生效

source /etc/profile

查看環境變量

[root@localhost java]# echo $PATH
/usr/local/java/jdk1.8.0_151/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/myth/bin

然后輸入Java -version   

bash: /usr/local/java/jdk1.8.0_151/bin/java: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory

解決方案:

sudo yum install glibc.i686命令安裝好glibc

[root@localhost lib]# java -version
java version "1.8.0_151"
Java(TM) SE Runtime Environment (build 1.8.0_151-b12)
Java HotSpot(TM) Client VM (build 25.151-b12, mixed mode)

安裝成功

3)安裝git Linux版本

①安裝curl,zlib,openssl,expat,libiconv

Git 的工作需要調用 curl,zlib,openssl,expat,libiconv 等庫的代碼,所以需要先安裝這些依賴工具

yum install curl-devel expat-devel gettext-devel \
  openssl-devel zlib-devel

②下載源碼

之后,從下面的 Git 官方站點下載最新版本源代碼:

http://rocketmq.apache.org/docs/quick-start/

③ 移動到Linux 盤中

我創建了一個文件夾  mkdir -p /usr/local/git

移動到這里  mv /home/myth/Desktop/git-2.9.5/ /usr/local/git/  #注意這里你應該寫你自己的版本號 和 地址

④編譯並且安裝

$ cd git-2.9.5
$ make prefix=/usr/local all
$ sudo make prefix=/usr/local install

安裝過程中出現如下錯誤,說明少了依賴

Can't locate ExtUtils/Embed.pm in @INC (@INC contains: /usr/local/lib64/perl5

使用如下命令:

yum install perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker -y

yum install perl-ExtUtils-Embed -y
在執行上面的命令  okay
嘗試使用git clone git上面的代碼
下面是clone git  最新的代碼
$ git clone git://git.kernel.org/pub/scm/git/git.git

4)安裝Maven Linux 版本

將官網下載的Maven 移到linux 系統中

vim /etc/profile

MAVEN_HOME=/usr/local/maven/apache-maven-3.5.2
export MAVEN_HOME
export PATH=${PATH}:${MAVEN_HOME}/bin
 
source /etc/profile
 
輸入 mvn -v

好了  終於可以安裝MQ 了。

2.安裝MQ

1) 克隆MQ

git clone -b develop https://github.com/apache/rocketmq.git

2)編譯

mvn -Prelease-all -DskipTests clean install -U

出現如下錯誤, 可以看到 再跑rocketmq-remoting:jar:4.2.0-SNAPSHOT 沒有找到io.netty:netty-tcnative:jar:linux-x86_32:1.1.33.Fork22  對於加上了linux-x86_32 這一串 字段感覺到奇怪

[ERROR] Failed to execute goal on project rocketmq-remoting: Could not resolve dependencies for project org.apache.rocketmq:rocketmq-remoting:jar:4.2.0-SNAPSHOT: Could not find artifact io.netty:netty-tcnative:jar:linux-x86_32:1.1.33.Fork22 in central (https://repo.maven.apache.org/maven2) -> [Help 1]

到POM 中尋找發現classifier  字段,應該他就是罪魁禍首,去掉之后就好了

<dependency>
            <groupId>io.netty</groupId>
            <artifactId>netty-tcnative</artifactId>
            <version>1.1.33.Fork22</version>
            <classifier>${os.detected.classifier}</classifier>
 </dependency>

 

 

Build Success

3)開啟NameServer

nohup sh bin/mqnamesrv &

啊! 看來是好事多磨啊,

虛擬機內存太大,去 jvm 中修改xms

 

 vim runserver.sh

然后 運行   成功

看  log

tail -f ~/logs/rocketmqlogs/namesrv.log

同樣的方法  修改runbroker

這樣子 Broker  就 跑起來了

 Test Send & Receive Message

export NAMESRV_ADDR=localhost:9876
sh tools.sh org.apache.rocketmq.example.quickstart.Producer

可以看到消息生產出來了

sh tools.sh org.apache.rocketmq.example.quickstart.Producer

可以看到消息被消費了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM