非常感谢回复,如醍醐灌顶!
> 在 2018年6月6日,16:57,亓杨 写道:
>
> Hi,我说下自己的理解
>
>
> 1).brokerIP2和haMasterAddress分别是两个不同的用处,broker会定时拉取新的haServerAddress去更新haMasterAddress。这里是正确的,但是broker拉取的haServerAddress是master
>
> broker的haServerAddress.通过这里将master的haServerAddress动态同步到本地的haMasterAddress。brokerIP2配置的本地的HAService
> IP. haMasterAddress则表示master的HAService address。所以说下面你这个配置应该是错误的 ->
> `另外,通过对从节点显式配置brokerIP2地址(值等于master节点的brokerIP1)`。
>
>
> 2).defaultMessageStore和slaveSynchronize在做不能同的工作。一个是在同步commitLog,一个是同步Broker的一些信息,例如TopicConfig之类。是监听的不同的端口。
>
> 3).内部调用的是anyLocalAddress(typically 0.0.0.0 or ::0)
>
> 嗯~如果有理解错误的地方还请指出。
>
>
> 在 2018/6/6 9:27, chuenfai 写道:
>>
>> 有朋友可以帮忙解下疑惑嘛~~
>> -
>>
>> Hi,
>>
>> 非常感谢两位朋友的回复。
>>
>> 第一个问题已经了解了,谢谢。
>>
>> 第二个问题也已经解决了,不过排查过程中有三个疑问,需要明白的朋友解答下
>>
>>
>> 1)因为我本地环境是多网卡服务器,一开始没有配置IP2和haMasterAddr,发现报SLAVE_NOT_AVAILABLE错误,看源码发现注册broker会定时拉取新的haServerAddress去更新haMasterAddress,
>>
>> 而haServerAddress是由IP2+haListenPort得到的,我的疑问是brokerIP2和haMasterAddress分成两个字段,但是用途都是一样的是设计上有什么考虑嘛,另外,通过对从节点显式配置brokerIP2地址(值等于master节点的brokerIP1),发现依然报SLAVE_NOT_AVAILABLE错误,brokerIP2地址没有用?这是第一个比较疑惑的地方。
>>
>>
>>
>>
>> 2)另外就是defaultMessageStore的ha地址为什么不和slaveSynchronize的地址保持一致呢?这是第二个较困惑的地方。
>>
>>
>>
>> 3)通过主从节点设置haMasterAddress,问题解决了,不过排查时发现haService是使用InetSocketAddress任意获取了一个本地地址,这里多网卡情况下是否会出现获取的本地地址和brokerIP1不一致导致slave依然找不到master的情况?这是第三个比较疑惑的地方。
>>
>>
>>
>>> 在 2018年5月23日,11:41,Zhanhui Li >> <mailto:lizhan...@gmail.com>> 写道:
>>>
>>> 1. RocketMQ为了优化IO写操作, 有预分配文件.
>>>
>>> 2. 你怎么判断同步数据又问题的? 可以看下主/备机store.log, 如果有问题, 日志会很清楚的提示.
>>>
>>>> 在 2018年5月22日,下午6:06,chuenfai >>> <mailto:chyang...@163.com>> 写道:
>>>>
>>>> Hi ALL,
>>>>
>>>> 问两个比较奇怪的问题,我本地搭建了一个主从集群,
>>>>
>>>> 1
>>>> Slave启动时(初始时Master和Slave的数据目录都是空的,且没有向集群发过任何消息),会在commitLog创建两个文件,而且显示文件特别大,不清楚这个是怎么来的。
>>>>
>>>>
>>>> 2 测试时发现Slave无法从Master同步到commitlog消息,但是消费记录等配置可以同步到
>>>> 我的配置环境是:Rocketmq-4.2, Java1.8, Master的角色是ASYNC_MASTER
>>>>
>>>> 不知道有没有朋友遇到过相似的问题~
>>>
>>
>