Data-Migration ElasticSearch 5.6.16 to 7.2.0 - database

how can i perfom full data migration from ElasticSearch 5.6.16 to 7.2.0. I have an application running version 5.6.16. No i have to update some of the data to version 7.2.0. The manufacturer has written / provided an own tool for the migration, but this requires that the new installation (7.2.0) has been installed on a new separate server. But this is the only the last option for me. So what's an easy and good way to do this on the same machine? Or would it be an solution to install the new version (7.2.0) on the same machine with different port and then do my stuff as this would be two servers?
First backup the data and the re-import after installing new version? Did i get problems with the indexes (i read something about this.. that this could result in errors)

You have few questions but I will try to answer two important ones,
How can you run the two different version of elasticsearch on a single machine
Answer : it is possible although not recommended in production environment, as you guess it right, by running these two version on different ports.
How to migrate from ES 5.6 to 7.2
Answer: Elasticsearch provides the backward compatibility till last major version, so if you are upgrading to 7.X, than ES 6.X indices can be backed up and re-imported in ES 7.X but you can't do this for 5.X indices.
Note: Refer upgrade elasticsearch official doc for detailed explanation and process.

Related

Latest stable version of solr

solr
Now i am using solr4. I need to migrate solr to latest version.
Which solr version is latest and stable?
What are the conditions i need to check for migration?
How can i merge this version to latest version?
Which version can u prefer for me?
any migration tool is available for this migration?
I think about solr 6.3.0
Is it stable ?
What are the manger difference in solr 4 and 6 ??
When upgrading you really have to choices:
Reindex. This is the easiest (and you should have a way to reindex on request anyway, but some use cases makes reindexing hard, since Solr could be your primary datastore), most flexible and gives you the best end result.
Do a version-by-version upgrade, going from each version that supports the old index format to the most recent version that supports that format, then repeat until you're on your target version of Solr. Since old index versions are usually readable through each main version tree (I think), you'll have to go 4 -> 5 -> 6. You can use the IndexUpgrader tool to help with this, and as you can see at the bottom of that page, Jan made a tool that automates 4 -> 5 -> 6 for you.
The differences are far too many to really list, please refer to the Changelog for each release. In particular there's a world of difference regarding cloud / cluster support between 4.x and 6.x, and there's a lot of new features, such as streaming expressions.
Upgrading the schema is a matter of going through the datatypes you're using and checking if they've changed definitions (ints vs tries, for example). You'll probably be OK with just minor changes. The default schema factory has changed from the classic index schema to the managed schema, so if you want to keep editing the schema.xml as you're used to, you'll have to change to the ClassicIndexSchemaFactory in your configuration.

Upgrade SOLR 6.0 to 6.2

I've got a SOLR 6.0 instance on Windows. Not a cluster, a single server setup. I'd like to migrate to 6.2, the latest, because why not. There's an 600GB index that I don't want to lose.
Please, how? The guide at https://cwiki.apache.org/confluence/display/solr/Upgrading+Solr contains no guidance whatsoever.
Just changing the Solr versions should be enough. The index format will be updated when the new segments are written, but 6.2 are able to read 6.0 indexes just fine. Unless you're bitten by the 6.1-thing about historical dates, installing the new Solr version and pointing in to your existing dataDir should work.
As always, testing it out somewhere else than production first is a good idea.

What will be the issues upgrading from Solr 3.6.0 to 4.x or 5.x?

I’ve inherited a project that uses a Solr 3.6.0 deployment. (Several
masters and several slaves – I think there are 6 Solr instances in total.)
I’ve been tasked with investigating if upgrading our 3.6.0 deployment will improve performance – there’s a lot of data and things are getting slow, apparently.
I’ve read Apache docs that from 3.6.x to 4.x there were improvements in scalability and performance.
I see that from 4.x to 5.x that Solr is now a standable server and no longer just a WAR running on Tomcat.
ISSUES:
A. Is it worth upgrading to 4.x or 5.x? Will I see a big improvement in performance?
B. Should I got to 4.x or 5.x? Will 4.x be an easier upgrade path since it's just a new WAR file?
C. In a nutshell ... what will the upgrade path look like, what kind of steps am I in for, and how can I avoid trouble?
Any help is GREATLY appreciated!!
It depends.
If stuff runs fine today and you don't need the extra performance or functionality - there is no good reason to touch it. You're so far behind that upgrading will be a large thing anyway. If you need the performance or the functionality, yes. It's worth it. You'll see an increase in performance and you can use a more recent Java version (current trunk of Lucene requires Java8).
If you can't reindex easily, you'll have to go through 4.x to get to 5.x anyway, since the current version of 5.x might not be able to read your current index format. If you can reindex easily, go directly to 5.x. You'll have to deal with the change in how Solr is being run at some time, better do it now when you're doing the breaking upgrade anyways.
Have a backup, replicate the current environment to a experimental server and try the update there. If you can easily reindex, set up 5.x and index to it and see if you can run the application straight from that backend instead (in development, not production). If it works (and you can reindex easily), create a Solr 5.x instance to run in parallel to your current installation, reindex to that and switch over production after confirming that it works in dev.
If you can't reindex, create a development clone of the current core and try to find the upgrade path that is able to upgrade the index files as you're going along. You're going to have to read a bit of documentation and try out different versions to get a proper migration of the index file format going.

JBoss most latest and stable version

I am trying to build a highly available, scalable and performance optimistic Jboss cluster system. I will be using Infinispan subsystem for caching service.
I started off with Jboss 7.1.1 Final version but later on found that it has some really serious bugs. Also, the infinispan subsystem was not behaving as per my requirements in the same.
As of now, I need to evaluate different versions of Jboss which suffices above mentioned requirements.
Please let me know which the most stable and latest version of Jboss currently available.
Just for information, I am performing the whole stuff in Cloud (AWS).
JBoss Application server was renamed to Wildfly, checkout its downloads page. Right now it is stable 9.0.1 (I think this is using Infinispan 7.x) and unstable 10.0.0.Beta2 (I think it still uses 7.x too since Infinispan 8 was not released yet, but it's possible that version 8 will get into the final release).

Apply upgrades (application related) to database

Since I've not done this before I am not sure if the way I am planning to do this is okay or is there a better way. Like using Windows Installer or Install Shield or Windows Installer XML (WiX) toolset. Any help would be great, as I have no clue.
We have a product and we ship new version every few months. So far we've only been rolling out complete versions i.e. Either Version 1.0, or Version 1.5, but no upgrade from 1.0 to 1.2 to 1.3 to .... you get the picture, right! So any customer that get version 1.0 cannot upgrade to version 1.2 or 1.3 or even the latest. They'll have to uninstall old version and install the latest version. This is not right, but thats what we could do until now. But we'd like to change it.
My plan is to have a install file with (Sql Scripts) for each upgrade path. Check the table in database that stores the version info and depending on it run different script to upgrade database.
My concern is that this method may not be scalable, once we have more than 5 or 6 different versions.
If you could point to any articles or books on this topic, that would help a lot too.
Also, could we use Windows Installer or Install Shield for this?
thanks,
_UB
We've been using DBGhost for a year or so now to keep our database under source control along with our codebase, and it makes this kind of thing dead easy. It's not just well thought through, but they've been using it to roll out their own code for years, so it's dead solid.
Your problem is a pretty common one, and I've had to deal with this kind of problem at my last job. There is another tool aside from the RedGate tool that may help you do what you need to do. It's a tool called DB Ghost. They explicitly address the versioning problem, and have a packager as well. I would suggest doing a trial of the DB Ghost product because they have some interesting claims concerning multiple version upgrades. This was taken from their FAQ (http://www.innovartis.co.uk/faqs/faqs.aspx):
Q: Our problem is going to be managing
data structure changes during
upgrades. Our product line is
Shrink-Wrapped, or downloadable from
the website. So when a user downloads
an upgrade, they can be upgrading from
a very recent version, with few
database structure changes, or the
upgrade may be from a very old version
with a multitude of structural
changes. One upgrade needs to manage
it all. The user would be offsite, so
we can't hold their hand. We have
users in Greece, Australia, Malaysia,
Norway, etc. How would DB Ghost, if at
all, handle updates in remote
locations?
A: The DB Ghost Packager Plus product was
design to specifically address this
issue as it can dynamically handle the
required updates to a target database
seamlessly.
I'm just mentioning this because our company is trying to do something similar and I was doing research on this tool.
Thanks,
Eric
Do you insist on doing it yourself, or could you see yourself committing and investing in a tool?
I really like the idea of Red-Gate's SQL Packager, which will "diff" your two database versions, and then create a SQL script, a C# project, or a stand-alone executable to upgrade from version 1 to version 2.
Not 100% how you'd be able to upgrade from 1.0, 1.1, 1.2, 1.3 all to 2.0 - check out their website and see if they offer something for that scenario!
Otherwise, I guess it'll get quite thorny and messy......
Marc
In the Rails world they are using a tool/method called Migrations.
Basically is boils down to creating a small sql script to upgrade and downgrade each little change to the database.
When you are testing the application you migrate your database to the version you want and on deployment the application can check what version it needs and migrate to that version.
There are free migration toolkits for most popular languages, they might be part of some MVC framework though.
A nice side effect of migrations is that you have database source code that is easily stored in you source control repository.

Resources