[超级连接:Linux+Solr+Zookeeper系列-序章]
本文主要讲解如何修改Solr的时区(TIMEZONE)。
1.查看时区
1.进入Solr Admin,然后点击左侧的Java Properties菜单,进入Java属性设置页面。
2.下拉右侧的滚动条至底部,可以看到时区属性,如下图所示:
默认的时区为UTC,上图是已经修改了的东八区(GMT+8)。
2.为什么要修改时区?
修改时区的可能原因有很多,这里只说一种:为了与数据库的自动同步。
Solr与数据库自动同步的原理概述:
- Solr在更新数据时,会记录这些数据的最后更新时间戳。
- MySql数据库等,在修改数据时,也可以记录修改的时间戳。
- 通过比较Solr更新时间戳和MySql更新时间戳,完成对数据是否需要同步的判断,从而实现数据更新。
为什么要修改时区?
- 一般情况下,MySql数据库的时区都与实际时区一致,对于我们来说,就是东八区(GMT+8)。
- 而Solr默认的时区是UTC,这与东八区(GMT+8)相差8个小时。
- 这种差距导致我们无法直接根据Solr更新时间戳和MySql更新时间戳的比较进行数据更新的判断。
- 所以,需要修改Solr的时区。
3.如何修改
Solr的时区属性所在配置文件:
- Windows:solr.in.cmd
- Linux:solr.in.sh
下面以Linux系统为例:
//编辑solr.in.sh文件
sudo vim /usr/local/solr-6.6.0/bin/solr.in.sh
在**solr.in.sh
中找到SOLR_TIMEZONE**的相关配置,如下:
说明:
- 默认SOLR_TIMEZONE=“UTC”,而且是注释掉的。
- 新增属性SOLR_TIMEZONE=“UTC+8”。
- 保存退出。
- 重启Solr服务。
再进入Solr Admin,然后点击左侧的Java Properties菜单,即可发现时区已经发生变化。