2020-03-20 10:10:48 +00:00
# Troubleshooting {#troubleshooting}
2019-02-04 13:30:28 +00:00
2020-03-21 04:11:51 +00:00
- [Installation ](#troubleshooting-installation-errors )
- [Connecting to the server ](#troubleshooting-accepts-no-connections )
- [Query processing ](#troubleshooting-does-not-process-queries )
- [Efficiency of query processing ](#troubleshooting-too-slow )
2019-02-04 13:30:28 +00:00
2020-03-18 18:43:51 +00:00
## Installation {#troubleshooting-installation-errors}
2019-02-04 13:30:28 +00:00
2020-03-20 10:10:48 +00:00
### You Cannot Get Deb Packages from ClickHouse Repository With apt-get {#you-cannot-get-deb-packages-from-clickhouse-repository-with-apt-get}
2019-02-04 13:30:28 +00:00
2020-03-21 04:11:51 +00:00
- Check firewall settings.
- If you cannot access the repository for any reason, download packages as described in the [Getting started ](../getting_started/index.md ) article and install them manually using the `sudo dpkg -i <packages>` command. You will also need the `tzdata` package.
2019-02-04 13:30:28 +00:00
2020-03-18 18:43:51 +00:00
## Connecting to the Server {#troubleshooting-accepts-no-connections}
2019-02-04 13:30:28 +00:00
2019-02-05 14:35:58 +00:00
Possible issues:
2019-02-04 13:30:28 +00:00
2020-03-21 04:11:51 +00:00
- The server is not running.
- Unexpected or wrong configuration parameters.
2019-02-04 13:30:28 +00:00
2020-03-20 10:10:48 +00:00
### Server Is Not Running {#server-is-not-running}
2019-02-04 13:30:28 +00:00
**Check if server is runnnig**
Command:
2020-03-20 10:10:48 +00:00
``` bash
2019-09-23 15:31:46 +00:00
$ sudo service clickhouse-server status
2019-02-04 13:30:28 +00:00
```
If the server is not running, start it with the command:
2020-03-20 10:10:48 +00:00
``` bash
2019-09-23 15:31:46 +00:00
$ sudo service clickhouse-server start
2019-02-04 13:30:28 +00:00
```
**Check logs**
2019-02-04 19:09:53 +00:00
The main log of `clickhouse-server` is in `/var/log/clickhouse-server/clickhouse-server.log` by default.
2019-02-04 13:30:28 +00:00
2019-02-11 14:48:37 +00:00
If the server started successfully, you should see the strings:
2019-02-04 13:30:28 +00:00
2020-03-21 04:11:51 +00:00
- `<Information> Application: starting up.` — Server started.
- `<Information> Application: Ready for connections.` — Server is running and ready for connections.
2019-02-04 13:30:28 +00:00
2019-02-11 14:48:37 +00:00
If `clickhouse-server` start failed with a configuration error, you should see the `<Error>` string with an error description. For example:
2019-02-04 13:30:28 +00:00
2020-03-20 10:10:48 +00:00
``` text
2019-02-04 13:30:28 +00:00
2019.01.11 15:23:25.549505 [ 45 ] {} < Error > ExternalDictionaries: Failed reloading 'event2id' external dictionary: Poco::Exception. Code: 1000, e.code() = 111, e.displayText() = Connection refused, e.what() = Connection refused
```
2020-03-20 10:10:48 +00:00
If you don’ t see an error at the end of the file, look through the entire file starting from the string:
2019-02-04 13:30:28 +00:00
2020-03-20 10:10:48 +00:00
``` text
2019-02-04 13:30:28 +00:00
< Information > Application: starting up.
```
2019-02-11 14:48:37 +00:00
If you try to start a second instance of `clickhouse-server` on the server, you see the following log:
2019-02-04 13:30:28 +00:00
2020-03-20 10:10:48 +00:00
``` text
2019-02-04 13:30:28 +00:00
2019.01.11 15:25:11.151730 [ 1 ] {} < Information > : Starting ClickHouse 19.1.0 with revision 54413
2019.01.11 15:25:11.154578 [ 1 ] {} < Information > Application: starting up
2019.01.11 15:25:11.156361 [ 1 ] {} < Information > StatusFile: Status file ./status already exists - unclean restart. Contents:
PID: 8510
Started at: 2019-01-11 15:24:23
Revision: 54413
2019.01.11 15:25:11.156673 [ 1 ] {} < Error > Application: DB::Exception: Cannot lock file ./status. Another server instance in same directory is already running.
2019.01.11 15:25:11.156682 [ 1 ] {} < Information > Application: shutting down
2019.01.11 15:25:11.156686 [ 1 ] {} < Debug > Application: Uninitializing subsystem: Logging Subsystem
2019.01.11 15:25:11.156716 [ 2 ] {} < Information > BaseDaemon: Stop SignalListener thread
```
**See system.d logs**
2020-03-20 10:10:48 +00:00
If you don’ t find any useful information in `clickhouse-server` logs or there aren’ t any logs, you can view `system.d` logs using the command:
2019-02-04 13:30:28 +00:00
2020-03-20 10:10:48 +00:00
``` bash
2019-09-23 15:31:46 +00:00
$ sudo journalctl -u clickhouse-server
2019-02-04 13:30:28 +00:00
```
**Start clickhouse-server in interactive mode**
2020-03-20 10:10:48 +00:00
``` bash
2019-09-23 15:31:46 +00:00
$ sudo -u clickhouse /usr/bin/clickhouse-server --config-file /etc/clickhouse-server/config.xml
2019-02-04 13:30:28 +00:00
```
2019-02-11 14:48:37 +00:00
This command starts the server as an interactive app with standard parameters of the autostart script. In this mode `clickhouse-server` prints all the event messages in the console.
2019-02-04 13:30:28 +00:00
2020-03-20 10:10:48 +00:00
### Configuration Parameters {#configuration-parameters}
2019-02-04 13:30:28 +00:00
Check:
2020-03-21 04:11:51 +00:00
- Docker settings.
2019-02-04 13:30:28 +00:00
2020-03-21 04:11:51 +00:00
If you run ClickHouse in Docker in an IPv6 network, make sure that `network=host` is set.
2019-02-04 13:30:28 +00:00
2020-03-21 04:11:51 +00:00
- Endpoint settings.
2019-02-04 13:30:28 +00:00
2020-03-21 04:11:51 +00:00
Check [listen\_host ](server_settings/settings.md#server_settings-listen_host ) and [tcp\_port ](server_settings/settings.md#server_settings-tcp_port ) settings.
2019-02-04 13:30:28 +00:00
2020-03-21 04:11:51 +00:00
ClickHouse server accepts localhost connections only by default.
2019-02-04 13:30:28 +00:00
2020-03-21 04:11:51 +00:00
- HTTP protocol settings.
2019-02-04 13:30:28 +00:00
2020-03-21 04:11:51 +00:00
Check protocol settings for the HTTP API.
2019-02-04 13:30:28 +00:00
2020-03-21 04:11:51 +00:00
- Secure connection settings.
2019-02-04 13:30:28 +00:00
2020-03-21 04:11:51 +00:00
Check:
2019-02-04 13:30:28 +00:00
2020-03-21 04:11:51 +00:00
- The [tcp\_port\_secure ](server_settings/settings.md#server_settings-tcp_port_secure ) setting.
- Settings for [SSL sertificates ](server_settings/settings.md#server_settings-openssl ).
2019-02-04 13:30:28 +00:00
2020-03-21 04:11:51 +00:00
Use proper parameters while connecting. For example, use the `port_secure` parameter with `clickhouse_client` .
2019-02-04 13:30:28 +00:00
2020-03-21 04:11:51 +00:00
- User settings.
2019-02-04 13:30:28 +00:00
2020-03-21 04:11:51 +00:00
You might be using the wrong user name or password.
2019-02-04 13:30:28 +00:00
2020-03-18 18:43:51 +00:00
## Query Processing {#troubleshooting-does-not-process-queries}
2019-02-04 13:30:28 +00:00
2019-02-11 14:48:37 +00:00
If ClickHouse is not able to process the query, it sends an error description to the client. In the `clickhouse-client` you get a description of the error in the console. If you are using the HTTP interface, ClickHouse sends the error description in the response body. For example:
2019-02-04 13:30:28 +00:00
2020-03-20 10:10:48 +00:00
``` bash
2019-02-04 13:30:28 +00:00
$ curl 'http://localhost:8123/' --data-binary "SELECT a"
2019-02-10 18:14:23 +00:00
Code: 47, e.displayText() = DB::Exception: Unknown identifier: a. Note that there are no tables (FROM clause) in your query, context: required_names: 'a' source_tables: table_aliases: private_aliases: column_aliases: public_columns: 'a' masked_columns: array_join_columns: source_columns: , e.what() = DB::Exception
2019-02-04 13:30:28 +00:00
```
2019-02-11 14:48:37 +00:00
If you start `clickhouse-client` with the `stack-trace` parameter, ClickHouse returns the server stack trace with the description of an error.
2019-02-04 13:30:28 +00:00
2019-02-11 14:48:37 +00:00
You might see a message about a broken connection. In this case, you can repeat the query. If the connection breaks every time you perform the query, check the server logs for errors.
2019-02-04 13:30:28 +00:00
2020-03-18 18:43:51 +00:00
## Efficiency of Query Processing {#troubleshooting-too-slow}
2019-02-04 13:30:28 +00:00
2019-02-11 14:48:37 +00:00
If you see that ClickHouse is working too slowly, you need to profile the load on the server resources and network for your queries.
2019-02-04 13:30:28 +00:00
2019-02-11 14:48:37 +00:00
You can use the clickhouse-benchmark utility to profile queries. It shows the number of queries processed per second, the number of rows processed per second, and percentiles of query processing times.