ElasticSearch remote buckler installer failed without internet connection
Platform Notice: Data Center Only - This article only applies to Atlassian products on the Data Center platform.
Note that this KB was created for the Data Center version of the product. Data Center KBs for non-Data-Center-specific features may also work for Server versions of the product, however they have not been tested. Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Except Fisheye and Crucible
Problem
Setting up Elasticsearch on a remote instance as guided in How to Install and configure a remote Elasticsearch instance KB. The installation is expected to done without internet connection but only with intranet or extranet connection. This would restrict the installation of buckler on remote ElasticSearch server without the connection to Atlassian packages site.
On installing the plugin onto remote Elasticsearch instance using the plugin helper called elacticsearch-plugin located in Elasticsearch bin/ directory:
Instead of using the URL link, download the buckler plugin and move it to the instance hosting remote Elasticsearch.
Run the command to install the buckler using elacticsearch-plugin:
$ cd /path/to/elasticsearch/bin $ ./elasticsearch-plugin install -b /path/to/elasticsearch/bin/buckler-plugin-2.1.2-6.8.6.zip
The following appears in the UNIX terminal:
$ ./elasticsearch-plugin install -b /path/to/elasticsearch/bin/buckler-plugin-2.1.2-6.8.6.zip
A tool for managing installed elasticsearch plugins
Commands
--------
list - Lists installed elasticsearch plugins
install - Install a plugin
remove - removes a plugin from Elasticsearch
Non-option arguments:
command
Option Description
------ -----------
-h, --help show help
-s, --silent show minimal output
-v, --verbose show verbose output
ERROR: Unknown plugin /path/to/elasticsearch/bin/buckler-plugin-2.1.2-6.8.6.zip
Cause
The buckler is expected to be installed from Buckler plugin URL as the elasticseach-plugin file expects the URL protocol apart from the internet connection.
Workaround
Since the elasticseach-plugin file expects the URL protocol, the file:/// can be used to point to the buckler-plugin's URL in the local directory.
Download the buckler archive file into the local directory (in this case:
buckler-plugin-2.1.2-6.8.6.zip
).Run with the command with file:/// protocol and the full path to the plugin's archive file, but without specifying the option -b - eg.
$ ./elasticsearch-plugin install file:///path/to/elasticsearch/bin/buckler-plugin-2.1.2-6.8.6.zip
There will be a warning message with and confirmation option to install the buckler into Elasticsearch as such:
-> Downloading file:///path/to/elasticsearch/bin/buckler-plugin-2.1.2-6.8.6.zip
[=================================================] 100%??
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: plugin requires additional permissions @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
* java.io.FilePermission /usr/share/elasticsearch/config/buckler/*#plus write
* java.lang.RuntimePermission setContextClassLoader
* java.net.SocketPermission * connect,accept,resolve
See http://docs.oracle.com/javase/8/docs/technotes/guides/security/permissions.html
for descriptions of what these permissions allow and the associated risks.
Continue with installation? [y/N]
- If you understand the risk and wish to continue, please key in y and enter to continue with the installation.