This page guides how to set up environment on Windows for Apache Storm.
Starting at 1.0.0, Apache Storm utilizes symbolic link
to aggregate log directory and resource directory into worker directory.
Unfortunately, creating symbolic link
on Windows needs non-default privilege, so users should configure it manually to make sure Storm processes can create symbolic link on runtime.
Depending on the Windows version (i.e. non-professional), setting symbolic links privilege by a security policy is not possible since the tool is not installed.
When creating a symbolic link is not possible, the Supervisor process will stop as soon as it tries to start workers since the permission exception is considered a fatal error.
Below pages (MS technet) guide how to configure that policy to the account which Storm runs on.
One tricky point is, administrator
group already has this privilege, but it's activated only process is run as administrator
account.
So if your account belongs to administrator
group (and you don't want to change it), you may want to open command prompt
with run as administrator
and execute processes within that console.
If you don't want to execute Storm processes directly (not on command prompt), please execute processes with runas /user:administrator
to run as administrator account.
Starting with Windows 10 Creators Update, it will be possible to activate a Developer Mode that supports creating symbolic links without run as administrator
Symlinks in Windows 10!
Alternatively you can disable usage of symbolic links by setting the config storm.disable.symlinks
to true
on Nimbus and all of the Supervisor nodes. This will also disable features that require symlinks. Currently this is only downloading
dependent blobs, but may change in the future. Some topologies may rely on symbolic links to resources in the current working directory of the worker that are
created as a convienence, so it is not a 100% backwards compatible change.