ImageVerifierCode 换一换
格式:DOCX , 页数:24 ,大小:1.03MB ,
资源ID:11011921      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11011921.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(rocketmq安装.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

rocketmq安装.docx

1、rocketmq安装RocketMQ安装与配置1. 安装操作系统创建一个CentOS虚拟机,采用的版本是CentOS-6.8 64bit。内存、处理器、网络适配器设置如下图所示: 内存2G,处理器是双核,硬盘为SCSI硬盘,容量为20G。 在后续的安装中,请选择“基本存储设备”,选择安装模式是Minimal,此模式下安装最少的软件包,后续如果需要什么,会采用Yum安装。刚安装完CentOS,使用Yum命令安装一些常用的软件,如:yum y install gcc。会出现如下错误:这是因为这个版本默认安装后,配置文件中没有配置DNS。通过更改配置文件来解决。使用vi打开DNS的配置文件进行修改:

2、在命令提示符中输入: vi /etc/sysconfig/network-scripts/ifcfg-eth0。用vi 打开这个文件后,请按照下图配置。设置好后。重启CentOS后一切就正常了。配置好静态IP地址之后,就可以使用xshell进行操作了。2. 安装所需要的软件2.1. 安装vim虽然Linux系统中有自带的vi文本编辑器,但是还是需要功能更为强大的vim文本编辑器。但是在Minimal模式下安装的CentOS并没有安装vim,下面需要采用Yum进行安装vim。输入yum install vim -y,执行安装vim,下面的是表示安装成功。2.2. 安装JDK如果CentOS安装时

3、选择了安装自带的JDK,那么需要卸载掉,因为CentOS自带的JDK是openJDK,然而安装RocketMQ需要安装原生的JDK。卸载方法请自行查找。下面将描述如何安装原生的JDK。切换到/usr/local目录下,在此目录下新建文件夹jdk1.8,用于存放jdk的安装包,命令如下:# cd /usr/local# mkdir jdk1.8下图为结果:使用各种方法将JDK的安装包传入到/usr/local/jdk1.8目录中。解压安装包:# tar xvf jdk-8u144-linux-x64.tar.gz为jdk1.8.0_144创建软连接:/usr/local/jdk,命令是:# ln

4、 -s /usr/local/jdk1.8/jdk1.8.0_144 /usr/local/jdk这样做得好处是如果后续需要修改jdk版本,那么只需要重新创建软连接即可,也就是创建指向新版本jdk的软连接。那么在环境变量中配置的内容将无需更改。配置JDK的环境变量,使用命令:# vim /etc/profile在文件最后,输入JDK的环境变量,内容为:export JAVA_HOME=/usr/local/jdkexport JRE_HOME=/usr/local/jdk/jre export PATH=$PATH:/usr/local/jdk/bin export CLASSPATH=./:

5、/usr/local/jdk/lib:/usr/local/jdk/jre/lib保存退出后执行命令使配置生效:# source /etc/profile可通过命令验证是否安装成功:2.3. 安装MAVEN切换到/usr/local目录下,在此目录下新建文件夹apache-maven-3.5.0,用于存放maven的安装包,命令如下:# cd /usr/local# mkdir apache-maven-3.5.0下图为结果:使用各种方法将MAVEN的安装包传入到/usr/local/apache-maven-3.5.0目录中。解压安装包:# tar xvf apache-maven-3.5.

6、0-bin.tar.gz 创建软连接:配置MAVEN的环境变量,使用命令:# vim /etc/profile在文件最后,输入JDK的环境变量,内容为:export M2_HOME=/usr/local/mavenexport PATH=$PATH:$JAVA_HOME/bin:$M2_HOME/bin保存退出后执行命令使配置生效:# source /etc/profile验证:2.4. 安装Git依次执行1. #安装Git2. yuminstall-yepel-release3. rpm-ivhhttps:/centos6.iuscommunity.org/ius-release.rpm4.

7、 yumlistgit2u5. yuminstall-ygit2u6. git-version验证:3. 编译RocketMQ在root的家目录下进行编译。先将RocketMQ源代码ZIP导入到root的家目录。本文采用的RocketMQ版本是4.2.0,因此导入的文件为rocketmq-all-4.2.0-source-release.zip。如果发现unzip没有安装,请执行yum命令安装unzip:yum -y install unzip解压压缩包:unzip rocketmq-all-4.2.0-source-release.zip进入到rocketmq-all-4.2.0目录:cd

8、rocketmq-all-4.2.0/执行编译:mvn -Prelease-all -DskipTests clean install -U这表明编译成功,编译后生成的结果如下:4. 安装配置RocketMQ4.1. Broker集群配置方式及优缺点1. 单个 Master这种方式风险较大,一旦Broker重启或者宕机时,会导致整个服务不可用,不建议线上环境使用。2. 多 Master模式一个集群无 Slave,全是 Master,例如 2个 Master或者 3个 Master优点:配置简单,单个Master宕机或重启维护对应用无影响,在磁盘配置为 RAID10时,即使机器宕机不可恢复情况下

9、,由与 RAID10磁盘非常可靠,消息也不会丢(异步刷盘丢失少量消息,同步刷盘一条不丢)。性能最高。缺点:单台机器宕机期间,这台机器上未被消费的消息在机器恢复之前不可订阅,消息实时性会受到受到影响。3. 多 Master多 Slave模式,异步复制每个 Master配置一个 Slave,有多对Master-Slave,HA采用异步复制方式,主备有短暂消息延迟,毫秒级。优点:即使磁盘损坏,消息丢失的非常少,且消息实时性不会受影响,因为 Master宕机后,消费者仍然可以从 Slave消费,此过程对应用透明。不需要人工干预。性能同多 Master模式几乎一样。缺点:Master宕机,磁盘损坏情况,

10、会丢失少量消息。4. 多 Master多 Slave模式,同步双写每个 Master配置一个 Slave,有多对Master-Slave,HA采用同步双写方式,主备都写成功,向应用返回成功。优点:数据与服务都无单点,Master宕机情况下,消息无延迟,服务可用性与数据可用性都非常高缺点:性能比异步复制模式略低,大约低 10%左右,发送单个消息的 RT会略高。目前主宕机后,备机不能自动切换为主机,后续会支持自动切换功能。以上 Broker与 Slave配对是通过指定相同的brokerName参数来配对,Master的 BrokerId必须是 0,Slave的BrokerId必须是大与 0的数。另

11、外一个 Master下面可以挂载多个 Slave,同一 Master下的多个 Slave通过指定不同的 BrokerId来区分。本文先采用4.多 Master模式进行安装配置。4.2. 服务器环境序号 IP 角色 1 192.168.23.100nameServer12 192.168.23.101nameServer2 3192.168.23.100brokerServer1_master4192.168.23.101brokerServer2_master5192.168.23.100brokerServer2_slave6192.168.23.101brokerServer1_slave

12、s4.3. 安装RocketMQ切换到/usr/local目录下,在此目录下新建目录apache-rocketmq,用于存放RocketMQ的安装包,命令如下:# cd /usr/local# mkdir apache-rocketmq下图为结果:解压编译后生成的tar文件到apache-rocketmq目录中:tar -zxvf apache-rocketmq.tar.gz -C /usr/local/apache-rocketmq创建软连接:到这里,RocketMQ已经安装完毕,为了完成双主模式的配置,至少需要两台机器,因此还需要一台虚拟机。4.4. 复制虚拟机有两种方法实现另一台虚机的安

13、装,第一种是按照上面的步骤安装一台新的虚拟机,方法一样不再累述,第二种方法是将虚拟机clone出一台,然后修改网络配置即可。1. 克隆选中的虚拟机,需要克隆完整的虚拟机复制成功:2. 修改MAC地址,因为是两台虚拟机集群,因此MAC地址不能相同,需要修改新克隆的虚拟机MAC地址。点击生成。记下MAC地址。00:50:56:3C:90:023. 启动新clone的虚拟机,修改网络配置。vim /etc/sysconfig/network-scripts/ifcfg-eth0 用上面记下的MAC地址修改HWADDR,修改IPADDR地址。如下图:4. 修改启动的网卡:修改/etc/udev/rul

14、es.d/70-persistent-net.rules重命名网卡配置文件编辑网卡配置文件重启服务器 只需要修改NAME就好了。5. 执行ifconfig a验证配置情况,如下图配置成功。R仔细检查,发现除了网络设置以外,所有的内容都一致,克隆成功。4.5. Hosts添加信息【两台机器】在两个服务器运行命令# vim /etc/hosts4.6. 创建存储路径【两台机器】因为在新的版本Rocketmq之后,当一个机器执行启动Broker之后,会在数据存储目录中创建一个LOCK的锁,如果还有这个Rocketmq启动另外的Broker(在这个例子中的slave)会报LOCK的错误,因此需要创建两

15、个数据存储路径,一个给主Broker使用,另外一个给从Broker使用。在两台机器上分别执行命令: 主Broker# mkdir -p /usr/local/rocketmq/store/commitlog,consumequeue,index 从Broker# mkdir -p /usr/local/rocketmq/store-slave/commitlog,consumequeue,index4.7. RocketMQ配置文件【两台机器】在两台机器上分别执行命令进行配置程序的设置:1. Rocketmq1:可以看到在同一个机器上面的listenPort是不一样的,因为a master和b

16、 slave公用一个rocketmq,那么为了区分所设置的端口是不一样的1.1. # vim /usr/local/rocketmq/conf/2m-2s-sync/broker-a.propertiesbrokerClusterName=tl-rocketmq-clusterbrokerName=broker-abrokerId=0namesrvAddr=rocketmq1:9876;rocketmq2:9876defaultTopicQueueNums=4autoCreateTopicEnable=trueautoCreateSubscriptionGroup=true#主端口号liste

17、nPort=10911deleteWhen=04fileReservedTime=120mapedFileSizeCommitLog=1073741824mapedFileSizeConsumeQueue=300000destroyMapedFileIntervalForcibly=120000redeleteHangedFileInterval=120000diskMaxUsedSpaceRatio=88#主broker路径storePathRootDir=/usr/local/rocketmq/storestorePathCommitLog=/usr/local/rocketmq/stor

18、e/commitlogmaxMessageSize=65536flushCommitLogLeastPages=4flushConsumeQueueLeastPages=2flushCommitLogThoroughInterval=10000flushConsumeQueueThoroughInterval=60000checkTransactionMessageEnable=falsesendMessageThreadPoolNums=128pullMessageThreadPoolNums=128brokerRole=SYNC_MASTERflushDiskType=ASYNC_FLUS

19、H1.2. # vim /usr/local/rocketmq/conf/2m-2s-sync/broker-b-s.propertiesbrokerClusterName=tl-rocketmq-clusterbrokerName=broker-b#0 表示 Master,0 表示 SlavebrokerId=1namesrvAddr=rocketmq1:9876;rocketmq2:9876defaultTopicQueueNums=4autoCreateTopicEnable=trueautoCreateSubscriptionGroup=true#从端口号listenPort=1092

20、1deleteWhen=04fileReservedTime=120mapedFileSizeCommitLog=1073741824mapedFileSizeConsumeQueue=300000destroyMapedFileIntervalForcibly=120000redeleteHangedFileInterval=120000diskMaxUsedSpaceRatio=88#从broker路径storePathRootDir=/usr/local/rocketmq/store-slavestorePathCommitLog=/usr/local/rocketmq/store-sl

21、ave/commitlogmaxMessageSize=65536flushCommitLogLeastPages=4flushConsumeQueueLeastPages=2flushCommitLogThoroughInterval=10000flushConsumeQueueThoroughInterval=60000checkTransactionMessageEnable=falsesendMessageThreadPoolNums=128pullMessageThreadPoolNums=128#角色brokerRole=SLAVEflushDiskType=ASYNC_FLUSH

22、2. Rocketmq2:# vim /usr/local/rocketmq/conf/2m-2s-sync/broker-b.propertiesbrokerClusterName=tl-rocketmq-clusterbrokerName=broker-bbrokerId=0namesrvAddr=rocketmq1:9876;rocketmq2:9876defaultTopicQueueNums=4autoCreateTopicEnable=trueautoCreateSubscriptionGroup=truelistenPort=10911deleteWhen=04fileReser

23、vedTime=120mapedFileSizeCommitLog=1073741824mapedFileSizeConsumeQueue=300000destroyMapedFileIntervalForcibly=120000redeleteHangedFileInterval=120000diskMaxUsedSpaceRatio=88storePathRootDir=/usr/local/rocketmq/storestorePathCommitLog=/usr/local/rocketmq/store/commitlogmaxMessageSize=65536flushCommitL

24、ogLeastPages=4flushConsumeQueueLeastPages=2flushCommitLogThoroughInterval=10000flushConsumeQueueThoroughInterval=60000checkTransactionMessageEnable=falsesendMessageThreadPoolNums=128pullMessageThreadPoolNums=128brokerRole=SYNC_MASTERflushDiskType=ASYNC_FLUSH# vim /usr/local/rocketmq/conf/2m-2s-sync/

25、broker-a-s.propertiesbrokerClusterName=tl-rocketmq-clusterbrokerName=broker-a#0 表示 Master,0 表示 SlavebrokerId=1namesrvAddr=rocketmq1:9876;rocketmq2:9876defaultTopicQueueNums=4autoCreateTopicEnable=trueautoCreateSubscriptionGroup=truelistenPort=10921deleteWhen=04fileReservedTime=120mapedFileSizeCommit

26、Log=1073741824mapedFileSizeConsumeQueue=300000destroyMapedFileIntervalForcibly=120000redeleteHangedFileInterval=120000diskMaxUsedSpaceRatio=88storePathRootDir=/usr/local/rocketmq/store-slavestorePathCommitLog=/usr/local/rocketmq/store-slave/commitlogmaxMessageSize=65536flushCommitLogLeastPages=4flus

27、hConsumeQueueLeastPages=2flushCommitLogThoroughInterval=10000flushConsumeQueueThoroughInterval=60000checkTransactionMessageEnable=falsesendMessageThreadPoolNums=128pullMessageThreadPoolNums=128brokerRole=SLAVEflushDiskType=ASYNC_FLUSH4.8. 修改日志配置文件【两台机器】在两台机器上分别执行命令:# mkdir -p /usr/local/rocketmq/log

28、s# cd /usr/local/rocketmq/conf & sed -i s#$user.home#/usr/local/rocketmq#g *.xml4.9. 开放9876端口【两台机器】在两台机器上分别配置iptables。编辑/etc/sysconfig/iptables文件,执行命令:vim /etc/sysconfig/iptables加上下面的一行配置:重启服务使修改起效:-A INPUT -m state -state NEW -m tcp -p tcp -dport 9876 -j ACCEPT-A INPUT -m state -state NEW -m tcp -p

29、 tcp -dport 10909 -j ACCEPT-A INPUT -m state -state NEW -m tcp -p tcp -dport 10919 -j ACCEPT-A INPUT -m state -state NEW -m tcp -p tcp -dport 10911 -j ACCEPT-A INPUT -m state -state NEW -m tcp -p tcp -dport 10921 -j ACCEPT-A INPUT -m state -state NEW -m tcp -p tcp -dport 10912 -j ACCEPT-A INPUT -m s

30、tate -state NEW -m tcp -p tcp -dport 10923 -j ACCEPTservice iptables restart4.10. 修改启动脚本参数【两台机器】在两台机器上分别执行命令,并且修改相应文件# vim /usr/local/rocketmq/bin/runbroker.sh# vim /usr/local/rocketmq/bin/runserver.sh至此,配置完毕。5. 启动RocketMQ5.1. 启动NameServer【两台机器】在两台机器上分别执行命令:# cd /usr/local/rocketmq/bin# nohup sh mqnamesrv &可用jps验证:在两台机器上分别执行命令:tail -f -n 500 /usr/local/rocketmq/logs/rocketmqlogs/namesrv.log可以查看nameserver的日志。5.2. 启动BrokerServerBrokerA:执行命令:# cd /usr/local/rocketmq/bin#nohup sh mqbroker -c /usr/local/roc

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1