美文网首页Java游戏服务器开发
RocketMQ Namesrv服务启动时的参数配置

RocketMQ Namesrv服务启动时的参数配置

作者: 王广帅 | 来源:发表于2020-04-09 19:30 被阅读0次

    上篇文章说了一下在Namesrv启动时,它主要做了什么事情,从中可以知道,如果想正确的启动或修改Namesrv的启动配置时,会有几种不同的方式。

    添加日志配置文件

    如果是在本地Eclipse中使用Rocketmq的源码项目启动,需要添加日志配置文件,在项目下创建conf文件夹,添加配置文件:logback-namesrv.xml,内容如下:

    <?xml version="1.0" encoding="UTF-8"?>
    
    <configuration>
        <appender name="DefaultAppender"
                  class="ch.qos.logback.core.rolling.RollingFileAppender">
            <file>${user.home}/logs/rocketmqlogs/namesrv_default.log</file>
            <append>true</append>
            <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
                <fileNamePattern>${user.home}/logs/rocketmqlogs/otherdays/namesrv_default.%i.log.gz</fileNamePattern>
                <minIndex>1</minIndex>
                <maxIndex>5</maxIndex>
            </rollingPolicy>
            <triggeringPolicy
                class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
                <maxFileSize>100MB</maxFileSize>
            </triggeringPolicy>
            <encoder>
                <pattern>%d{yyy-MM-dd HH:mm:ss,GMT+8} %p %t - %m%n</pattern>
                <charset class="java.nio.charset.Charset">UTF-8</charset>
            </encoder>
        </appender>
    
        <appender name="RocketmqNamesrvAppender_inner"
                  class="ch.qos.logback.core.rolling.RollingFileAppender">
            <file>${user.home}/logs/rocketmqlogs/namesrv.log</file>
            <append>true</append>
            <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
                <fileNamePattern>${user.home}/logs/rocketmqlogs/otherdays/namesrv.%i.log.gz</fileNamePattern>
                <minIndex>1</minIndex>
                <maxIndex>5</maxIndex>
            </rollingPolicy>
            <triggeringPolicy
                class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
                <maxFileSize>100MB</maxFileSize>
            </triggeringPolicy>
            <encoder>
                <pattern>%d{yyy-MM-dd HH:mm:ss,GMT+8} %p %t - %m%n</pattern>
                <charset class="java.nio.charset.Charset">UTF-8</charset>
            </encoder>
        </appender>
        <appender name="RocketmqNamesrvAppender" class="ch.qos.logback.classic.AsyncAppender">
            <appender-ref ref="RocketmqNamesrvAppender_inner"/>
            <discardingThreshold>0</discardingThreshold>
        </appender>
    
        <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
            <append>true</append>
            <encoder>
                <pattern>%d{yyy-MM-dd HH\:mm\:ss,SSS} %p %t - %m%n</pattern>
                <charset class="java.nio.charset.Charset">UTF-8</charset>
            </encoder>
        </appender>
    
        <logger name="RocketmqNamesrv" additivity="false">
            <level value="debug"/>
            <appender-ref ref="RocketmqNamesrvAppender"/>
            <appender-ref ref="STDOUT"/>
        </logger>
    
        <logger name="RocketmqCommon" additivity="false">
            <level value="INFO"/>
            <appender-ref ref="RocketmqNamesrvAppender"/>
        </logger>
    
        <logger name="RocketmqRemoting" additivity="false">
            <level value="INFO"/>
            <appender-ref ref="RocketmqNamesrvAppender"/>
        </logger>
    
        <logger name="RocketmqNamesrvConsole" additivity="false">
            <level value="INFO"/>
            <appender-ref ref="STDOUT"/>
        </logger>
    
        <root>
            <level value="INFO"/>
            <appender-ref ref="DefaultAppender"/>
        </root>
    </configuration>
    

    设置rocketmqHome的值

    在Namesrv服务启动的时候,最重要的一个配置就是rocketmqHome的路径,设置它的路径有以下几种方式:

    1. 设置环境变量
      在官方发布的运行包里面,它的启动脚本就是使用的设置环境变量的方式。这个就不多说了。这里主要说一下如果我们想本地调度,在Eclipse中如何设置。
      打开eclipse->run->Debug Configurations


      eclipse配置环境变量
    2. 使用JVM参数
      在eclipse中添加vm参数:

    -Drocketmq.home.dir=/home/rocketmq
    
    1. 使用配置文件
      如果使用配置文件,只需要在启动命令行参数中,指定配置文件的路径即可。
    -c /home/rocketmq/conf/namesrv.properties
    

    在配置文件中添加配置项

    rocketmqHome=/home/rocketmq/
    

    配置文件中的配置项,可以是NamesrvConfig和NettyServerConfig对象中的所有字段。

    优先级

    1. 通过配置文件配置是最高优先级,它会覆盖其它的配置。
    2. VM参数是第二优先级
    3. 环境变量是第三优先级,是默认的值。
    欢迎关注

    相关文章

      网友评论

        本文标题:RocketMQ Namesrv服务启动时的参数配置

        本文链接:https://www.haomeiwen.com/subject/xpkhmhtx.html