Comments (10)
Hey Kristin,
In general we need to work on documentation, but there's a bit in the README on the requirements to make backups work. I also need to cut a release of the operator, so that you can use the backup functionality. I'll try to beef up the documentation over the next few days and also cut a release.
from solr-operator.
I see you merged backup capabilities #14 -- Is there any documentation available about usage/how to perform backups? Thanks!
from solr-operator.
Great to hear @HoustonPutman !
from solr-operator.
Are there any updates on restore functionality? @HoustonPutman
from solr-operator.
Hey @kcmartin, sorry for the delay on this. I know backups are kind of useless without being able to restore. I think I'll be able to put some work into it early next month. Hopefully it doesn't take too long, as the workflow should basically be the opposite of the backup controller.
Have y'all played around with the backup CRDs yet? Or are you waiting on the restore functionality?
from solr-operator.
Hi @HoustonPutman, thanks, I think my teammates have experimented with the backup CRDs a bit... My plan is to wait and do more tests once the restore capability is available. :)
from solr-operator.
@HoustonPutman
We use NFS and encountered a "permission denied" issue. The solr user doesn't have permission to write to the NFS shared volume. We added this init container to the statefulset which resolved the issue:
{
Name: "backup",
Image: solrCloud.Spec.BusyBoxImage.ToImageName(),
ImagePullPolicy: solrCloud.Spec.BusyBoxImage.PullPolicy,
TerminationMessagePath: "/dev/termination-log",
TerminationMessagePolicy: "File",
SecurityContext: &corev1.SecurityContext{
RunAsUser: &runAsUser,
},
Command: []string{"sh", "-c", "chown " + strconv.Itoa(int(fsGroup)) + " " + BaseBackupRestorePath},
VolumeMounts: []corev1.VolumeMount{
{
Name: BackupRestoreVolume,
MountPath: BaseBackupRestorePath,
SubPath: BackupRestoreSubPathForCloud(solrCloud.Name),
},
},
}
and this is in solrcloud.yaml:
backupRestoreVolume:
nfs:
path: /
server: BACKUP_ENDPOINT
It would be great if there was a nicer workaround, but I didn't find any. Does it make sense to add this to the operator?
from solr-operator.
That makes sense to me. Does it still allow the Kube Job to copy the backup to S3 or another volume? We might have to change the runAsUser of that job as well.
from solr-operator.
I am curious as to backup and restore options. Is there currently any viable way of backing up and restoring a collection? Either at the application level, or maybe by providing an existing PV (in my case, on AWS, I could create these from EBS snapshots, perhaps).
Is "there is no current way to restore these backups" completely true? Or just that there's no method supported by this project? Does the existing backup functionality make use of https://solr.apache.org/guide/8_1/collections-api.html#backup ? In which case I could handle the restore myself by retrieving the backup (eg from S3) and making a request to the Solr API, perhaps?
I'm really anxious to migrate to this project, rather than using our existing home-grown Solr chart. But for all its faults, it does allow me to quickly restore using EBS snapshots. I would like to understand any potential recovery process that exists now or might exist soon.
from solr-operator.
The backup should work, but it is tested less than the other options.
There is no way to restore that is supported by the project. You should still be able to load the backup data into the shared backup/restore PV yourself, then issue the commands to restore via the Collections API. (The operator generates the backup via that Collections API command you linked)
It is possible, and there have been people that have used the backup functionality, then restored via their own methods.
In Solr 9.0, there will be much easier backup/restore functionality that should work natively with S3, and won't require any intervention with the Operator. You will be able to do it entirely via Solr API commands. You can follow that progress here: https://issues.apache.org/jira/browse/SOLR-15086
from solr-operator.
Related Issues (20)
- Authentication not woking with solr-cloud. Pods are getting restarted. HOT 4
- Shards in a down state after an HPA scale up / scale down event. HOT 2
- User helm chart 0.8.0 with default values thorw the error in ValidationError(SolrCloud.spec): unknown field "scaling" in org.apache.solr.v1beta1.SolrCloud.spec HOT 1
- gen-pkcs12-keystore init container fails if the tls secret contains no ca.crt HOT 1
- Support running the solr operator on ARM nodes HOT 4
- Solr Backup recurrence/schedule not enabled by helm 0.7.1 HOT 1
- Actual running pod counts are different from the HPA-allocated HOT 1
- Add useful Operator metrics
- Support replicaPlacementFactory in solr.xml HOT 2
- Liveness probe failing for Prometheus Exporter connected to a large SolrCloud
- Disabling PodDisruptionBudgets for both zk pods and solr pods HOT 3
- adding automountServiceAccountToken HOT 1
- Replica allocation after Node is DisabledScheduling HOT 1
- zkHost and zkServer generated incorrectly - helm templates HOT 2
- Solr 8.11 with SolrMetrics produces duplicate samples with prometheus v2.52 HOT 12
- Scale down operation fails and is never requeued if `getReplicasForPod` fails transiently HOT 2
- Configure Resources for zookeeper operator HOT 1
- Allow resizing (expanding) of persistent data PVCs
- Upgrade from Kubebuilder 3 to 4
- SolrOperator leads to 404 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from solr-operator.