Axero uses Elasticsearch for its search engine. If you are installing Axero on your server, you must set up Elasticsearch separately as it runs within a Java process. You can set up Elasticsearch on the same server where Axero is installed, or you can have a separate search server (recommended for installs with over 500 users)
"Elasticsearch allows you to start small and scale horizontally as you grow. Simply add more nodes, and let the cluster automatically take advantage of the extra hardware. Petabytes of data? Thousands of nodes? No problem."
Axero 8.0+ uses Elasticsearch 7.16.2. Elasticsearch includes a bundled version of OpenJDK from the JDK maintainers (GPLv2+CE), which is the recommended option. To use your own version of Java, see the JVM version requirements.
Download the .zip package for Elasticsearch v7.16.2 from https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.16.2-windows-x86_64.zip
.zip
Note Before beginning the installation for Elasticsearch v7.16.2, uninstall the currently installed Elasticsearch version. This can be done from Control Panel > Programs and Features.
C:\Elasticsearch
C:\ElasticSearch
set JAVA_HOME=C:\ElasticSearch\jdk
echo %JAVA_HOME%
Elasticsearch.yml
C:\ElasticSearch\config\elasticsearh.yml
# ======================== Elasticsearch Configuration ========================= # # NOTE: Elasticsearch comes with reasonable defaults for most settings. # Before you set out to tweak and tune the configuration, make sure you # understand what are you trying to accomplish and the consequences. # # The primary way of configuring a node is via this file. This template lists # the most important settings you may want to configure for a production cluster. # # Please consult the documentation for further information on configuration options: # https://www.elastic.co/guide/en/elasticsearch/reference/index.html # # ---------------------------------- Cluster ----------------------------------- # # Use a descriptive name for your cluster: # #cluster.name: my-application # # ------------------------------------ Node ------------------------------------ # # Use a descriptive name for the node: # #node.name: node-1 # # Add custom attributes to the node: # #node.attr.rack: r1 # # ----------------------------------- Paths ------------------------------------ # # Path to directory where to store the data (separate multiple locations by comma): # #path.data: /path/to/data # # Path to log files: # #path.logs: /path/to/logs # # ----------------------------------- Memory ----------------------------------- # # Lock the memory on startup: # #bootstrap.memory_lock: true # # Make sure that the heap size is set to about half the memory available # on the system and that the owner of the process is allowed to use this # limit. # # Elasticsearch performs poorly when the system is swapping the memory. # # ---------------------------------- Network ----------------------------------- # # By default Elasticsearch is only accessible on localhost. Set a different # address here to expose this node on the network: # #network.host: 192.168.0.1 # # By default Elasticsearch listens for HTTP traffic on the first free port it # finds starting at 9200. Set a specific HTTP port here: # #http.port: 9200 # # For more information, consult the network module documentation. # # --------------------------------- Discovery ---------------------------------- # # Pass an initial list of hosts to perform discovery when this node is started: # The default list of hosts is ["127.0.0.1", "[::1]"] # discovery.seed_hosts: ["127.0.0.1", "[::1]"] network.host: 0.0.0.0 discovery.type: single-node # Bootstrap the cluster using an initial set of master-eligible nodes: # #cluster.initial_master_nodes: ["node-1", "node-2"] # # For more information, consult the discovery and cluster formation module documentation. # # ---------------------------------- Various ----------------------------------- # # Require explicit names when deleting indices: # #action.destructive_requires_name: true # # ---------------------------------- Security ---------------------------------- # # *** WARNING *** # # Elasticsearch security features are not enabled by default. # These features are free, but require configuration changes to enable them. # This means that users don’t have to provide credentials and can get full access # to the cluster. Network connections are also not encrypted. # # To protect your data, we strongly encourage you to enable the Elasticsearch security features. # Refer to the following documentation for instructions. # # https://www.elastic.co/guide/en/elasticsearch/reference/7.16/configuring-stack-security.html
C:\ElasticSearch\bin
cd C:\ElasticSearch\bin
elasticsearch-service.bat install
elasticsearch-service.bat start
http://localhost:9200
In Axero, go to Control Panel > System > System Properties. Click the Search Settings category from the left side pane. Then set the following properties based on your custom settings:
Note Make sure that the ElasticsearchServer and port values in System Properties match the values in the elasticsearch.yml file.
The network settings can be edited in the elasticsearch.yml file under the Network section.
elasticsearch.yml
To make the service run on a server IP edit and uncomment network.host: 192.168.0.1 with your desired IP address, and save the file.
network.host: 192.168.0.1
Go to Control Panel > System > Advanced System Utilities. Click Rebuild Index. If you face any errors, please refer to the FAQ below. After a few minutes, the index should be ready, and you can test it by searching a keyword on your Axero site.
How do I know which Java JDK version I have installed?
We recommend using the JDK that comes bundled with Elasticsearch 7.16.2. Open Windows Command Prompt, type "java -version", then press Enter. It will show you the Java runtime version installed on your system.
I have JDK 10 installed. Can I install JDK 8 and run Elasticsearch using it?
We recommend using the JDK that comes bundled with Elasticsearch 7.16.2.
Should I install Elasticsearch on the same server as the web server or on a separate server?
We recommend installing Elasticsearch on a separate server if you have more than 500 users and your web server specs have limited RAM. Elasticsearch uses a lot of memory, so it's best to have its own server for faster performance.
I am getting an error while installing Elasticsearch. How do I fix it?
First, check the logs. You can access the logs in the C:\ElasticSearch\logs folder. Open the elasticsearch.txt file. Submit a private case with the error log attached.
elasticsearch.txt
How do I uninstall an older version of Elasticsearch?
If you have installed Elasticsearch via the MSI installer, open Windows Program and Features and uninstall the version.
If you installed Elasticsearch manually, follow these steps:
C:> cd C:\ProgramFiles\Elastic\Elasticsearch\7.16.2
C:\7.16.2> cd bin
C:\7.16.2\bin> elasticsearch-service remove {old-service-name}
You will receive a message: The service {old-service-name} has been removed.
How do I set up Elasticsearch for a web farm configuration?
In cases where Axero is hosted in a web farm environment, you can have any server as a search server where Elasticsearch will be installed, or you can have a separate server dedicated to search. Install Elasticsearch on this server following the instructions above. After this, you can test the Elasticsearch server connectivity from other servers to ensure that the search server is reachable from all web farm nodes.
I am getting this error when starting the Elasticsearch service: "Error while trying to start the service: Commons Daemon procrun failed with exit value: 5 (Failed to start service). The data area passed to a system call is too small."
To fix this error, follow these steps:
How do I increase the memory limit after Elasticsearch has been installed?
If you have already installed Elasticsearch service or have manually installed Elasticsearch before, follow the below steps to increase the memory:
HKEY_LOCAL_MACHINE > SOFTWARE > WOW6432Node > Apache Software Foundation > Procrun 2.0 > CFElasticSearchService{Version} > Parameters > Java
To confirm your setting has been applied, open the following URL on your server where Elasticsearch is installed:http://localhost:9200/_nodes/stats/jvm9200 in the URL above is the port on which the Elasticsearch service is running.
Check the "heap max in bytes" property value in the JSON response returned by the above URL. It should be around the value you set in the registry for the max heap size.
Elasticsearch needs a lot of RAM for its heap size, but due to JVM limitations, this heap size should not be more than 50% of the available memory and should be less than 26 GB (max cap of JVM). We recommend giving 40-50% of RAM to Elasticsearch.
I am getting "all indices on this node will marked read-only" like:
2018-08-18T02:15:43,718][WARN ][o.e.c.r.a.DiskThresholdMonitor] [CF-Node-1] flood stage disk watermark [95%] exceeded on [NYcL-P5JT4ep0WSNB0ZT7g][CF-Node-1][d:\elasticsearch-6.0.0\data\nodes\0] free: 98.8gb[4.4%], all indices on this node will marked read-only
Ensure you have more than 20% free space in your hard disk.
is requesting access to a wiki that you have locked: https://my.axerosolutions.com/spaces/5/communifire-documentation/wiki/view/88508/on-premise-elasticsearch-installation
Your session has expired. You are being logged out.