Init mode

The SkyWalking backend supports multiple storage implementors. Most of them would automatically initialize the storage, such as Elastic Search or Database, when the backend starts up first.

But there may be some unexpected events that may occur with the storage, such as When multiple Elastic Search indexes are created concurrently, these backend instances would startup at the same time., When there is a change, the APIs of Elastic Search would be blocked without reporting any exception. This often happens on container management platforms, such as k8s.

This is where you need the Init mode startup.

Solution

Only a single instance should run in the Init mode before other instances start up. And this instance will exit graciously after all initialization steps are done.

Use oapServiceInit.sh/oapServiceInit.bat to start up backend. You should see the following logs:

2018-11-09 23:04:39,465 - org.apache.skywalking.oap.server.starter.OAPServerStartUp -2214 [main] INFO [] - OAP starts up in init mode successfully, exit now…

Kubernetes

Initialization in this mode would be included in our Kubernetes scripts and Helm.