Single Node collector is easy to deploy, and provides same features as cluster mode. You can use almost all default config to run in this mode. And attention, all the default configs of single node mode, depend on running the collector, traced application, ElasticSearch and Zookeeper in the same machine.
### Deploy collector servers
1. Run `tar -xvf skywalking-collector.tar.gz`
1. Run `bin/startup.sh`
2. Config collector in cluster mode.
Cluster mode depends on Zookeeper register and application discovery capabilities. So, you just need to adjust the IP config items in `config/application.yml`. Change IP and port configs of agent_server, agent_stream, ui, collector_inside, replace them to the real ip or hostname which you want to use for cluster.
-`config/application.yml`
```
cluster:
# The address of Zookeeper
# The Zookeeper cluster for collector cluster management.
zookeeper:
hostPort: localhost:2181
sessionTimeout: 100000
# IPs in agent_server, agent_stream, ui, collector_inside are addresses of Collector
agent_server:
naming:
# Host and port used for agent config
jetty:
host: localhost
# The port used
port: 10800
context_path: /
agent_stream:
grpc:
remote:
gRPC:
host: localhost
port: 11800
agent_gRPC:
gRPC:
host: localhost
port: 11800
agent_jetty:
jetty:
host: localhost
port: 12800
context_path: /
agent_stream:
default:
buffer_file_path: ../buffer/
buffer_offset_max_file_size: 10M
buffer_segment_max_file_size: 500M
ui:
jetty:
host: localhost
port: 12800
context_path: /
collector_inside:
grpc:
host: localhost
port: 11800
# Config Elasticsearch cluster connection info.
storage:
elasticsearch:
cluster_name: CollectorDBCluster
cluster_transport_sniffer: true
# The address of Elastic Search
cluster_nodes: localhost:9300
index_shards_number: 2
index_replicas_number: 0
ttl: 7
```
## Cluster Mode Collector
Cluster mode depends on Zookeeper register and application discovery capabilities. So, you just need to adjust the IP config items in `config/application.yml`. Change IP and port configs of agent_server, agent_stream, ui, collector_inside, replace them to the real ip or hostname which you want to use for cluster.
Standalong mode collector means don't support cluster. It uses H2 as storage layer implementation, suggest that use only for preview, test, demonstration, low throughputs and small scale system.
Default standalong mode collector means don't support cluster. It uses H2 as storage layer implementation, suggest that use only for preview, test, demonstration, low throughputs and small scale system.
# Requirements
If you are using skywalking in a low throughputs monitoring scenario, and don't want to deploy cluster, at least, swith the storage implementation from H2 to Elasticsearch.
You can simplely tar/unzip and startup if ports 10800, 11800, 12800 are free.
-`tar -xvf skywalking-collector.tar.gz` in Linux, or unzip in windows.
...
...
@@ -15,6 +17,19 @@ You can simplely tar/unzip and startup if ports 10800, 11800, 12800 are free.
You should keep the `config/application.yml` as default.
# Use Elastic Search instead of H2 as storage layer implementation
Even in standalone mode, collector can run with Elastic Search as storage. If so, uncomment the `storage` section in `application.yml`, set the config right.
## Use Elastic Search instead of H2 as storage layer implementation
Even in standalone mode, collector can run with Elastic Search as storage. If so, uncomment the `storage` section in `application.yml`, set the config right. The default configs fit for collector and Elasticsearch both running in same machine, and not cluster.
## Deploy Elasticsearch server
- Modify `elasticsearch.yml`
- Set `cluster.name: CollectorDBCluster`
- Set `node.name: anyname`, this name can be any, it based on Elasticsearch.