建议使用64位操作系统,建议使用Linux / Unix; 64位JDK 1.8+; Gradle至少为7.0, 推荐 7.0.*
https://github.com/apache/incubator-eventmesh 您将获得EventMesh-master.zip
unzip EventMesh-master.zip cd / *您的部署路径* /EventMesh-master gradle clean dist tar -x test
您将在目录/ 您的部署路径 /EventMesh-master/eventmesh-runtime/dist中获得eventmesh-runtime_1.0.0.tar.gz
upload eventmesh-runtime_1.0.0.tar.gz tar -zxvf eventmesh-runtime_1.0.0.tar.gz cd bin 配置 eventMesh.properties cd ../bin sh start.sh
如果看到“EventMeshTCPServer[port=10000] started....”,则说明设置成功。
同上述步骤 1.1,但是只能在JDK 1.8下构建
同上述步骤 1.2
2.3.1 项目结构说明:
注:插件模块遵循eventmesh定义的spi机制,需要在对应模块中的/main/resources/META-INF/eventmesh 下配置相关接口与实现类的映射文件
2.3.2 配置插件
在eventMesh.properties
配置文件通过声明式的方式来指定项目启动后需要加载的插件
修改confPath
目录下面的eventMesh.properties
文件
加载RocketMQ Connector插件配置:
#connector plugin eventMesh.connector.plugin.type=rocketmq
2.3.3 配置VM启动参数
-Dlog4j.configurationFile=eventmesh-runtime/conf/log4j2.xml -Deventmesh.log.home=eventmesh-runtime/logs -Deventmesh.home=eventmesh-runtime -DconfPath=eventmesh-runtime/conf
注:如果操作系统为Windows, 可能需要将文件分隔符换成\
2.3.4 启动运行
运行org.apache.eventmesh.starter.StartUp的主要方法
执行 docker pull eventmesh/eventmesh-rocketmq:v1.2.0
, 你将会获取到EventMesh的镜像,如下图所示:
预先准备 : 你可能需要从github上下载源代码,并参考这两个文件(eventMesh.properties 和 rocketmq-client.properties)的内容来做下面的操作
3.2.1 需要配置的文件
在运行容器之前,你需要配置如下文件:
eventMesh.properties
配置项 | 默认值 | 备注 |
---|---|---|
eventMesh.server.http.port | 10105 | EventMesh http 服务端口 |
eventMesh.server.tcp.port | 10000 | EventMesh tcp 服务端口 |
rocketmq-client.properties
配置项 | 默认值 | 备注 |
---|---|---|
eventMesh.server.rocketmq.namesrvAddr | 127.0.0.1:9876;127.0.0.1:9876 | RocketMQ namesrv 地址 |
拉取了EventMesh镜像到你的宿主机后,你可以执行下面的命令来完成eventMesh.properties和rocketmq-client.properties 文件的配置
3.2.2 创建文件
mkdir -p /data/eventmesh/rocketmq/conf cd /data/eventmesh/rocketmq/conf vi eventMesh.properties vi rocketmq-client.properties
这两个文件内容可以参考 eventMesh.properties 和 rocketmq-client.properties
3.3.1 运行
执行下面的命令来运行容器
docker run -d -p 10000:10000 -p 10105:10105 -v /data/eventmesh/rocketmq/conf/eventMesh.properties:/data/app/eventmesh/conf/eventMesh.properties -v /data/eventmesh/rocketmq/conf/rocketmq-client.properties:/data/app/eventmesh/conf/rocketmq-client.properties docker.io/eventmesh/eventmesh-rocketmq:v1.2.0
-p : 将容器内端口与宿主机端口绑定,容器的端口应与配置文件中的端口一致
-v : 将容器内的配置文件挂载到宿主机下,需注意配置文件的路径
3.3.2 检查容器的运行状况
执行 docker ps
来检查容器的运行状况
执行 docker logs [container id]
可以得到如下结果
执行 docker exec -it [container id] /bin/bash
可以进入到容器中并查看详细信息
预先准备 :RocketMQ Namesrv & Broker
你可以通过这里来构建rocketmq镜像或者从 docker hub上获取rocketmq镜像.
#获取namesrv镜像 docker pull rocketmqinc/rocketmq-namesrv:4.5.0-alpine #获取broker镜像 docker pull rocketmqinc/rocketmq-broker:4.5.0-alpine #运行namerv容器 docker run -d -p 9876:9876 -v `pwd` /data/namesrv/logs:/root/logs -v `pwd`/data/namesrv/store:/root/store --name rmqnamesrv rocketmqinc/rocketmq-namesrv:4.5.0-alpine sh mqnamesrv #运行broker容器 docker run -d -p 10911:10911 -p 10909:10909 -v `pwd`/data/broker/logs:/root/logs -v `pwd`/data/broker/store:/root/store --name rmqbroker --link rmqnamesrv:namesrv -e "NAMESRV_ADDR=namesrv:9876" rocketmqinc/rocketmq-broker:4.5.0-alpine sh mqbroker -c ../conf/broker.conf
这里 rocketmq-broker ip 是 pod ip, 如果你想修改这个ip, 可以通过挂载容器中 broker.conf 文件的方式并修改文件中的 brokerIP1 配置项为自定义值
3.4.1 运行示例
Windows
Linux
获取 eventmesh-test_1.2.0-SNAPSHOT.tar.gz
你可以从我们的 releases 获取或者通过源码的方式进行构建
通过源码的方式进行构建:
cd /* Your Deploy Path */EventMesh/eventmesh-test gradle clean testdist testtar -x test`
可以在 /eventmesh-test/build
目录下获得 eventmesh-test_1.2.0-SNAPSHOT.tar.gz
修改配置文件
#上传 upload eventmesh-test_1.2.0-SNAPSHOT.tar.gz #解压 tar -zxvf eventmesh-test_1.2.0-SNAPSHOT.tar.gz #配置 cd conf config your application.properties
运行
TCP Sub
cd bin sh tcp_sub.sh
TCP Pub
cd bin sh tcp_pub.sh
TCP Sub Broadcast
cd bin sh tcp_sub_broadcast.sh
TCP Pub Broadcast
cd bin sh tcp_pub_broadcast.sh
HTTP Sub
cd bin sh http_sub.sh
HTTP Pub
cd bin sh http_pub.sh
之后 , 你可以在 /logs
目录下面看到不同模式的运行日志