My configuration is to run each elastic on 3 different servers.
Elastic that works as a master node (also a data node) on the 1st server.
Elastic No. 2 and No. 3 operate as data nodes.
I know that I have to specify the same path in all three Elastic configuration files by searching.
However, I have no idea how to write the path.repo.
After configuring Elastic on 3 different servers like this, please do not know how to set path.repo to set up snapshot..
A snapshot contains all indices from a cluster (as far as i know). If you enter path.repo on node1 and you use this node for the snapshots you should be finde. Why do you want to enter different paths on different nodes?
To be sure that your snapshot system works:
Set Path.repo on Node1.
Take a snapshot using this Node1.
Set up a new node outside the cluster and try to restore the snapshot.
If all goes according to plan you will have all the indices from the cluster. Even if they are not on Node1.
If this works you are all set.
The location path used while registering a shared filesystem repository must resolve to a single directory location (not just path string value) from every master and data node.
One of the directories in the location path must be specified in repo.path.
Let's say you mount a shared directory on 3 ES nodes as /mnt/backup.
and repository location as /mnt/backup/foo/bar/baz. Configuration meets both criteria. Your snapshots will work.
However this configuration will not work if use relative path as repository location for ex. my_backup. The first node will resolve the relative path as /mnt/backup/foo/bar/baz/my_backup, second node will resolve as /mnt/backup/foo/bar/my_backup and third node as /mnt/backup/foo/my_backup. Your register repository call will fail.
The repository you use have to be shared storage and accessible from ALL nodes in the cluster. Elasticsearch will test this by having one node write a file and have another one read it. The path has to be set up on all nodes and has to be the same across the board.
First of all, thank you so much for helping me with the difficulties I have had for a long time
First, I set path.repo on node1 only
then taking a snapshot. But what I got is an error.
The error came out like this
RemoteTransportException[[node2][node2_ip][internal:admin/repository/verify]]; nested: RepositoryMissingException[[mybackup] missing];
Same for node 3.
So I thought I did that by not setting path.repo on nodes 2 and 3.
However, it is amazing to say that you only need to set node1.
So what am I missing now? Confusing
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.