Skip to content

Commit e69230e

Browse files
author
Naomi Slater
committed
improve README, move bulk of info to main CrateDB docs
1 parent 703a86f commit e69230e

File tree

5 files changed

+38
-102
lines changed

5 files changed

+38
-102
lines changed

crate/README-short.txt

Lines changed: 0 additions & 1 deletion
This file was deleted.

crate/content.md

Lines changed: 17 additions & 99 deletions
Original file line numberDiff line numberDiff line change
@@ -1,111 +1,29 @@
1-
# What Is Crate?
2-
3-
Crate is an open source fast, scalable, easy to use SQL database that plays nicely with containers like Docker. It feels like the SQL databases you know, but makes scaling and operating your database ridiculously easy - regardless of the volume, complexity, or type of data. It ingests millions of records per second for time series setups and delivers analytics results in sub-second real time.
4-
5-
Crate comes with a distributed sort and aggregation engine, fast multi index queries, native full-text search and super simple scalability with sharding and partitioning builtin. Preconfigured replication takes care of data resiliency. The cluster management can be supervised with a built-in admin UI. Crate's masterless architecture and simplicity make the data part of Docker environments easy and elegant.
6-
7-
Crate provides several installation packages, including a supported Docker image. It fits perfectly into an orchestrated microservices environment. It acts like an ephemeral, omnipresent, persistent layer for data. Application containers access their data regardless of which host the data nodes run.
8-
9-
[Crate](https://crate.io/)
10-
111
%%LOGO%%
122

13-
# Quick Start Example: Multihost Production Setup
14-
15-
This is an example configuration to run in a multi-host production environment. The configuration includes the required minimum settings:
16-
17-
- Volume mapping
18-
- Port mapping to localhost (run only one container per machine)
19-
- Unicast host discovery
20-
21-
To start the Crate cluster in containers distributed to three hosts without multicast enabled, run this command on the first node and adapt the container and node names on the two other nodes:
22-
23-
```console
24-
# HOSTS="crate1.example.com:4300,crate2.example.com:4300,crate3.example.com:4300"
25-
# HOST="crate1.example.com"
26-
# docker run -d -p 4200:4200 -p 4300:4300 \
27-
--name crate1-container \
28-
--volume /mnt/data:/data \
29-
--ulimit nofile=65535 \
30-
--ulimit memlock=9223372036854775807 \
31-
crate \
32-
crate \
33-
-Ccluster.name=crate-cluster \
34-
-Cnode.name=crate1 \
35-
-Ctransport.publish_port=4300 \
36-
-Cnetwork.publish_host="$HOST" \
37-
-Cmulticast.enabled=false \
38-
-Cdiscovery.zen.ping.unicast.hosts="$HOSTS" \
39-
-Cdiscovery.zen.minimum_master_nodes=2
40-
```
41-
42-
# The crate Docker Image
43-
44-
To form a cluster from scratch, start a few instances of the Crate container as a background daemon:
45-
46-
```console
47-
# docker run -d crate crate
48-
```
49-
50-
To access the admin UI, map port 4200 and point your browser to port tcp/4200 of a node of your choice while you start it or look up its IP later:
51-
52-
```console
53-
# firefox "http://$(docker inspect --format='{{.NetworkSettings.IPAddress}}' $(docker run -d crate crate)):4200/admin"
54-
```
55-
56-
For production use it's strongly recommended to use only one container per machine. This will give the best possible performance and by mapping the ports from the Docker container to the host it acts like a native installation. Crate's default ports 4200 (HTTP) and 4300 (Transport protocol).
57-
58-
```console
59-
# docker run -d -p 4200:4200 -p 4300:4300 crate crate
60-
```
61-
62-
## Attach Persistent Data Directory
63-
64-
Crate stores all important data in */data*. It's advised to mount this directory to avoid writing within the docker image:
65-
66-
```console
67-
# docker run -d -v <data-dir>:/data crate crate
68-
```
69-
70-
## Use Custom Crate Configuration
71-
72-
Starting with 0.55.0, Crate does no longer support providing custom configuration files. However it is still possible to mount Crate's configuration into `/crate/config/crate.yml`.
73-
74-
```console
75-
# docker run -d -v <custom/config/path>/crate.yml:/crate/config/crate.yml crate crate
76-
```
77-
78-
For further configuration options refer to the[Configuration](https://crate.io/docs/stable/configuration.html) section of our documentation.
79-
80-
## Environment
81-
82-
Crate recognizes environment variables like `CRATE_HEAP_SIZE` that need to be set with the `--env` option before the actual Crate core starts. As a rule of thumb you may want to [assign about half of your memory ](https://crate.io/docs/reference/en/latest/configuration.html#crate-heap-size) to Crate:
83-
84-
```console
85-
# docker run -d --env CRATE_HEAP_SIZE=32g crate crate
86-
```
3+
# What Is CrateDB?
874

88-
## Open Files
5+
[CrateDB](github.com/crate/crate) is a distributed SQL database that makes it simple to store and analyze massive amounts of machine data in real-time.
896

90-
Depending on the size of your installation, Crate can open a lot of files. You can check the number of open files with `ulimit -n`, but it can depend on your host operating system. To increase the number, start containers with the option`--ulimit nofile=65535`. Furthermore it is recommended to set the `memlock` limit (the maximum locked-in-memory address space) to unlimited by setting it to a very high number (Docker requires a 64 bit integer) `--ulimit memlock=9223372036854775807`.
7+
Features of CrateDB:
918

92-
## Multicast
9+
- Standard SQL plus dynamic schemas, queryable objects, geospatial features, time series data, first-class BLOB support, and realtime full-text search.
10+
- Horizontally scalable, highly available, and fault tolerant clusters that run very well in virtualized and containerised environments.
11+
- Extremely fast distributed query execution.
12+
- Auto-partitioning, auto-sharding, and auto-replication.
13+
- Self-healing and auto-rebalancing.
14+
- CrateDB offers the scalability and flexibility typically associated with a NoSQL database and is designed to run on inexpensive commodity servers and can be deployed and run across any sort of network. From personal computers to multi-region hybrid clouds.
9315

94-
By Default, Crate uses multicast for node discovery. This means nodes started in the same multicast zone will discover each other automatically. Docker multicast support between containers on different hosts depends on an overlay network driver. If that does not support multicast, you have to [enable unicast in a custom*crate.yml*](https://crate.io/docs/reference/best_practice/multi_node_setup.html) file.
16+
The smallest CrateDB clusters can easily ingest tens of thousands of records per second. And this data can be queried, ad-hoc, in parallel across the whole cluster in real time.
9517

96-
Crate publishes the hostname it runs on for discovery within the cluster. If the address of the docker container differs from the actual host the docker image is running on, this is the case if you do port mapping to the host via the `-p` option, you need to tell Crate to publish the address of the docker host instead:
18+
# How to Use This Image
9719

98-
```console
99-
# docker run -d -p 4200:4200 -p 4300:4300 \
100-
crate crate -Cnetwork.publish_host=host1.example.com
101-
```
20+
Spin up this Docker image like so:
10221

103-
If you change the transport port from the default `4300` to something else, you need to pass the publish port to Crate by adding `-Ctransport.publish_port=4321` to your command.
22+
$ docker run -p 4200:4200 crate
10423

105-
## Crate Shell
24+
Once you're up and running, head on over to [the introductory docs](https://crate.io/docs/stable/hello.html).
10625

107-
The Crate Shell `crash` is bundled with the Docker image. Since the `crash` executable is already in the `$PATH` environment variable, simply run:
26+
Read more:
10827

109-
```console
110-
# docker run --rm -ti crate crash --hosts [host1, host2, ...]
111-
```
28+
- [Getting Started With CrateDB on Docker](https://crate.io/docs/install/containers/docker/)
29+
- [CrateDB Docker Best Practices](https://crate.io/docs/reference/best_practice/docker.html)

crate/get-help.md

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,18 @@
1-
[the public Crate community on Slack](https://crate.io/docs/support/slackin/)
1+
## Issues
2+
3+
Please report issues via the [GitHub issue tracker](https://github.com/crate/docker-crate/issues).
4+
5+
## Contributing
6+
7+
This image is primarily maintained by [Crate.io](http://crate.io/), but we welcome community contributions!
8+
9+
See the [developer docs](https://github.com/crate/docker-crateblob/master/DEVELOP.rst) and the [contribution docs](https://github.com/crate/docker-crate/blob/master/CONTRIBUTING.rst) for more information.
10+
11+
## Help
12+
13+
Looking for more help?
14+
15+
- Read [the project documentation](https://crate.io/docs/)
16+
- Check [StackOverflow](https://stackoverflow.com/tags/crate) for common problems
17+
- Chat with us on [Slack](https://crate.io/docs/support/slackin/)
18+
- Get [paid support](https://crate.io/pricing/)

crate/license.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,3 @@
1-
View [license information](https://github.com/crate/crate/blob/master/LICENSE.txt) for the software contained in this image.
1+
CrateDB is an open core project.
2+
3+
See the CrateDB [licensing docs](https://github.com/crate/crate/blob/master/LICENSE.txt) for more information.

crate/logo.png

777 Bytes
Loading

0 commit comments

Comments
 (0)