我目前正在尝试创建我的弹性搜索集群的快照。我已经遵循了文件并按照程序添加:
path.repo:["/data/snapshot"]
到我的4个节点的所有elasticsearch.yml配置文件。然而,在重新启动节点之后,所述配置没有被识别。
运行GET时http://ipaddress/_nodes/settings?pretty
我可以看到所有4个节点的整个配置,这是我在所有4:的路径属性中得到的
"path": {
"data": "/usr/local/elasticsearch/data",
"logs": "/usr/local/elasticsearch/logs",
"home": "/usr/local/elasticsearch"
}
它们都是作为服务运行的,尽管配置文件显然被考虑在内,但我还是在启动daemin选项中包括了以下内容:
DAEMON_OPTS="-d -p $PID_FILE -Des.default.config=$CONF_FILE -Des.default.path.home=$ES_HOME -Des.default.path.logs=$LOG_DIR -Des.default.path.data=$DATA_DIR -Des.default.path.work=$WORK_DIR -Des.default.path.conf=$CONF_DIR -Des.default.path.repo=$REPO_DIR"
我不知道发生了什么,花了将近两天的时间尝试和阅读其他经历,但运气不佳。
我想明白了。我在1个节点上使用了不同版本的java。一定要核实一下,因为这会让你发疯。
检查方式:
java版本
然后确保它包含在/etc/init.d/elasticsearch文件中,如下所示:
# The first existing directory is used for JAVA_HOME (if JAVA_HOME is not defined in $DEFAULT)
JDK_DIRS="/usr/lib/jvm/java-8-oracle/ /usr/lib/jvm/j2sdk1.8-oracle/ /usr/lib/jvm/jdk-7-oracle-x64 /usr/lib/jvm/java-7-oracle /usr/lib/jvm/j2sdk1.7-oracle/ /usr/lib/jvm/java-7-openjdk /usr/lib/jvm/java-7-openjdk-amd64/ /usr/lib/jvm/java-7-openjdk-armhf /usr/lib/jvm/java-7-openjdk-i386/ /usr/lib/jvm/default-java"
希望这能帮助