• sentinel.conf配置


    1.常用的配置

    1. port 26379
    2. # sentinel announce-ip <ip>
    3. # sentinel announce-port <port>
    4. dir /tmp

    5. ################################# master001 #################################
    6. sentinel monitor master001 192.168.110.101 6379 2
    7. # sentinel auth-pass <master-name> <password>
    8. sentinel down-after-milliseconds master001 30000
    9. sentinel parallel-syncs master001 1
    10. sentinel failover-timeout master001 180000
    11. # sentinel notification-script <master-name> <script-path>
    12. # sentinel client-reconfig-script <master-name> <script-path>

    13. # 可以配置多个master节点
    14. ################################# master002 #################################
    配置文件说明:
    1. port :当前Sentinel服务运行的端口

    2. dir : Sentinel服务运行时使用的临时文件夹

    3.sentinel monitor master001 192.168.110.101 6379 2:Sentinel去监视一个名为master001的主redis实例,这个主实例的IP地址为本机地址192.168.110.101,端口号为6379,而将这个主实例判断为失效至少需要2个 Sentinel进程的同意,只要同意Sentinel的数量不达标,自动failover就不会执行

    4.sentinel down-after-milliseconds master001 30000:指定了Sentinel认为Redis实例已经失效所需的毫秒数。当实例超过该时间没有返回PING,或者直接返回错误,那么Sentinel将这个实例标记为主观下线。只有一个 Sentinel进程将实例标记为主观下线并不一定会引起实例的自动故障迁移:只有在足够数量的Sentinel都将一个实例标记为主观下线之后,实例才会被标记为客观下线,这时自动故障迁移才会执行

    5.sentinel parallel-syncs master001 1指定了在执行故障转移时,最多可以有多少个从Redis实例在同步新的主实例,在从Redis实例较多的情况下这个数字越小,同步的时间越长,完成故障转移所需的时间就越长

    6.sentinel failover-timeout master001 180000如果在该时间(ms)内未能完成failover操作,则认为该failover失败

    7.sentinel notification-script <master-name> <script-path>指定sentinel检测到该监控的redis实例指向的实例异常时,调用的报警脚本。该配置项可选,但是很常用

    2.官方完整的配置

    1. # Example sentinel.conf
    2. # port <sentinel-port>
    3. # The port that this sentinel instance will run on
    4. # sentinel实例运行的端口
    5. port 26379
    6. # sentinel announce-ip <ip>
    7. # sentinel announce-port <port>
    8. #
    9. # The above two configuration directives are useful in environments where,
    10. # because of NAT, Sentinel is reachable from outside via a non-local address.
    11. #
    12. # When announce-ip is provided, the Sentinel will claim the specified IP address
    13. # in HELLO messages used to gossip its presence, instead of auto-detecting the
    14. # local address as it usually does.
    15. #
    16. # Similarly when announce-port is provided and is valid and non-zero, Sentinel
    17. # will announce the specified TCP port.
    18. #
    19. # The two options don't need to be used together, if only announce-ip is
    20. # provided, the Sentinel will announce the specified IP and the server port
    21. # as specified by the "port" option. If only announce-port is provided, the
    22. # Sentinel will announce the auto-detected local IP and the specified port.
    23. #
    24. # Example:
    25. #
    26. # sentinel announce-ip 1.2.3.4
    27. # dir <working-directory>
    28. # Every long running process should have a well-defined working directory.
    29. # For Redis Sentinel to chdir to /tmp at startup is the simplest thing
    30. # for the process to don't interferer with administrative tasks such as
    31. # unmounting filesystems.
    32. dir /tmp
    33. # sentinel monitor <master-name> <ip> <redis-port> <quorum>
    34. # master-name : master Redis Server名称
    35. # ip : master Redis Server的IP地址
    36. # redis-port : master Redis Server的端口号
    37. # quorum : 主实例判断为失效至少需要 quorum 个 Sentinel 进程的同意,只要同意 Sentinel 的数量不达标,自动failover就不会执行
    38. #
    39. # Tells Sentinel to monitor this master, and to consider it in O_DOWN
    40. # (Objectively Down) state only if at least <quorum> sentinels agree.
    41. #
    42. # Note that whatever is the ODOWN quorum, a Sentinel will require to
    43. # be elected by the majority of the known Sentinels in order to
    44. # start a failover, so no failover can be performed in minority.
    45. #
    46. # Slaves are auto-discovered, so you don't need to specify slaves in
    47. # any way. Sentinel itself will rewrite this configuration file adding
    48. # the slaves using additional configuration options.
    49. # Also note that the configuration file is rewritten when a
    50. # slave is promoted to master.
    51. #
    52. # Note: master name should not include special characters or spaces.
    53. # The valid charset is A-z 0-9 and the three characters ".-_".
    54. #
    55. sentinel monitor mymaster 127.0.0.1 6379 2
    56. # sentinel auth-pass <master-name> <password>
    57. #
    58. # Set the password to use to authenticate with the master and slaves.
    59. # Useful if there is a password set in the Redis instances to monitor.
    60. #
    61. # Note that the master password is also used for slaves, so it is not
    62. # possible to set a different password in masters and slaves instances
    63. # if you want to be able to monitor these instances with Sentinel.
    64. #
    65. # However you can have Redis instances without the authentication enabled
    66. # mixed with Redis instances requiring the authentication (as long as the
    67. # password set is the same for all the instances requiring the password) as
    68. # the AUTH command will have no effect in Redis instances with authentication
    69. # switched off.
    70. #
    71. # Example:
    72. #
    73. # sentinel auth-pass mymaster MySUPER--secret-0123passw0rd
    74. # sentinel down-after-milliseconds <master-name> <milliseconds>
    75. #
    76. # Number of milliseconds the master (or any attached slave or sentinel) should
    77. # be unreachable (as in, not acceptable reply to PING, continuously, for the
    78. # specified period) in order to consider it in S_DOWN state (Subjectively
    79. # Down).
    80. # 选项指定了 Sentinel 认为Redis实例已经失效所需的毫秒数。当实例超过该时间没有返回PING,或者直接返回错误, 那么 Sentinel 将这个实例标记为主观下线(subjectively down,简称 SDOWN )
    81. #
    82. # Default is 30 seconds.
    83. sentinel down-after-milliseconds mymaster 30000
    84. # sentinel parallel-syncs <master-name> <numslaves>
    85. #
    86. # How many slaves we can reconfigure to point to the new slave simultaneously
    87. # during the failover. Use a low number if you use the slaves to serve query
    88. # to avoid that all the slaves will be unreachable at about the same
    89. # time while performing the synchronization with the master.
    90. # 选项指定了在执行故障转移时, 最多可以有多少个从Redis实例在同步新的主实例, 在从Redis实例较多的情况下这个数字越小,同步的时间越长,完成故障转移所需的时间就越长。
    91. sentinel parallel-syncs mymaster 1
    92. # sentinel failover-timeout <master-name> <milliseconds>
    93. #
    94. # Specifies the failover timeout in milliseconds. It is used in many ways:
    95. #
    96. # - The time needed to re-start a failover after a previous failover was
    97. # already tried against the same master by a given Sentinel, is two
    98. # times the failover timeout.
    99. #
    100. # - The time needed for a slave replicating to a wrong master according
    101. # to a Sentinel current configuration, to be forced to replicate
    102. # with the right master, is exactly the failover timeout (counting since
    103. # the moment a Sentinel detected the misconfiguration).
    104. #
    105. # - The time needed to cancel a failover that is already in progress but
    106. # did not produced any configuration change (SLAVEOF NO ONE yet not
    107. # acknowledged by the promoted slave).
    108. #
    109. # - The maximum time a failover in progress waits for all the slaves to be
    110. # reconfigured as slaves of the new master. However even after this time
    111. # the slaves will be reconfigured by the Sentinels anyway, but not with
    112. # the exact parallel-syncs progression as specified.
    113. # 如果在该时间(ms)内未能完成failover操作,则认为该failover失败
    114. #
    115. # Default is 3 minutes.
    116. sentinel failover-timeout mymaster 180000
    117. # SCRIPTS EXECUTION
    118. #
    119. # sentinel notification-script and sentinel reconfig-script are used in order
    120. # to configure scripts that are called to notify the system administrator
    121. # or to reconfigure clients after a failover. The scripts are executed
    122. # with the following rules for error handling:
    123. #
    124. # If script exits with "1" the execution is retried later (up to a maximum
    125. # number of times currently set to 10).
    126. #
    127. # If script exits with "2" (or an higher value) the script execution is
    128. # not retried.
    129. #
    130. # If script terminates because it receives a signal the behavior is the same
    131. # as exit code 1.
    132. #
    133. # A script has a maximum running time of 60 seconds. After this limit is
    134. # reached the script is terminated with a SIGKILL and the execution retried.
    135. # NOTIFICATION SCRIPT
    136. #
    137. # sentinel notification-script <master-name> <script-path>
    138. #
    139. # Call the specified notification script for any sentinel event that is
    140. # generated in the WARNING level (for instance -sdown, -odown, and so forth).
    141. # This script should notify the system administrator via email, SMS, or any
    142. # other messaging system, that there is something wrong with the monitored
    143. # Redis systems.
    144. #
    145. # The script is called with just two arguments: the first is the event type
    146. # and the second the event description.
    147. #
    148. # The script must exist and be executable in order for sentinel to start if
    149. # this option is provided.
    150. # 指定sentinel检测到该监控的redis实例指向的实例异常时,调用的报警脚本。该配置项可选,但是很常用。
    151. #
    152. # Example:
    153. #
    154. # sentinel notification-script mymaster /var/redis/notify.sh
    155. # CLIENTS RECONFIGURATION SCRIPT
    156. #
    157. # sentinel client-reconfig-script <master-name> <script-path>
    158. #
    159. # When the master changed because of a failover a script can be called in
    160. # order to perform application-specific tasks to notify the clients that the
    161. # configuration has changed and the master is at a different address.
    162. #
    163. # The following arguments are passed to the script:
    164. #
    165. # <master-name> <role> <state> <from-ip> <from-port> <to-ip> <to-port>
    166. #
    167. # <state> is currently always "failover"
    168. # <role> is either "leader" or "observer"
    169. #
    170. # The arguments from-ip, from-port, to-ip, to-port are used to communicate
    171. # the old address of the master and the new address of the elected slave
    172. # (now a master).
    173. #
    174. # This script should be resistant to multiple invocations.
    175. #
    176. # Example:
    177. #
    178. # sentinel client-reconfig-script mymaster /var/redis/reconfig.sh

    -------------------------------------------------------------------------------------------------------------------------------




  • 相关阅读:
    koa mog
    sdl
    基于WindowImplBase 更简单 以及 可变大小的,才是标准的
    df
    ffplay vc
    开源1bo
    react学习前一部分
    0514 react路由
    nodejs 调用进程
    Ubuntu Linux, 不要弄什么 wine,龙井 或者什么等 QQ 了。
  • 原文地址:https://www.cnblogs.com/LiZhiW/p/4851640.html
Copyright © 2020-2023  润新知