Updated on 2024-08-12 GMT+08:00

Commissioning a ClickHouse Application in a Linux Environment

ClickHouse applications can run in a Linux environment. After the application code is developed, you can upload the JAR file to the prepared Linux environment.

Prerequisites

JDK has been installed on Linux. The version must be the same as JDK version of the JAR file exported from IntelliJ IDEA. Java environment variables have been set.

Compile and run applications.

  1. Export the JAR file.

    1. Log in to IntelliJ IDEA and choose File > Project Structure > Artifacts.
    2. Click the plus sign (+) and choose JAR > From modules with dependencies.

    3. Choose com.huawei.clickhouse.examples.Demo from the Main Class drop-down list and click OK.

    4. Choose Build > Build Artifacts.... After the compilation is successful, view and obtain all JAR files in the clickhouse-examples\out\artifacts\ directory.

  2. Copy all JAR files in the clickhouse-examples\out\artifacts\clickhouse_examples.jar directory and the conf folder in the clickhouse-examples directory to the ClickHouse client installation directory, for example, Client installation directory/JDBC.
  3. Log in to the client node, go to the directory where the JAR file is uploaded, and change the file permission to 700.

    cd /opt/client

    chmod 700 clickhouse-examples.jar

  4. In the client directory where clickhouse_examples.jar is stored, run the following commands to run the JAR file:

    source Client installation directory/bigdata_env

    java -cp ./*:conf/clickhouse-example.properties com.huawei.clickhouse.examples.Demo

Viewing Commissioning Results

After a ClickHouse application is run, you can use one of the following methods to view the running result:

  • Viewing the command output
  • Viewing ClickHouse logs

    That is, view the logs/clickhouse-example.log file in the directory where the current JAR file is located, for example, Client installation directory/JDBC/logs/clickhouse-example.log.

    The execution result of the JAR file is as follows:

    2021-06-10 20:53:56,028 | INFO  | main | Current load balancer is 10.112.17.150:21426 | com.huawei.clickhouse.examples.Util.insertData(Util.java:128)
    2021-06-10 20:53:58,247 | INFO  | main | Inert batch time is 1442 ms | com.huawei.clickhouse.examples.Util.insertData(Util.java:145)
    2021-06-10 20:53:59,649 | INFO  | main | Inert batch time is 1313 ms | com.huawei.clickhouse.examples.Util.insertData(Util.java:145)
    2021-06-10 20:54:05,872 | INFO  | main | Inert batch time is 6132 ms | com.huawei.clickhouse.examples.Util.insertData(Util.java:145)
    2021-06-10 20:54:10,223 | INFO  | main | Inert batch time is 4272 ms | com.huawei.clickhouse.examples.Util.insertData(Util.java:145)
    2021-06-10 20:54:11,614 | INFO  | main | Inert batch time is 1300 ms | com.huawei.clickhouse.examples.Util.insertData(Util.java:145)
    2021-06-10 20:54:12,871 | INFO  | main | Inert batch time is 1200 ms | com.huawei.clickhouse.examples.Util.insertData(Util.java:145)
    2021-06-10 20:54:14,589 | INFO  | main | Inert batch time is 1663 ms | com.huawei.clickhouse.examples.Util.insertData(Util.java:145)
    2021-06-10 20:54:16,141 | INFO  | main | Inert batch time is 1500 ms | com.huawei.clickhouse.examples.Util.insertData(Util.java:145)
    2021-06-10 20:54:17,690 | INFO  | main | Inert batch time is 1498 ms | com.huawei.clickhouse.examples.Util.insertData(Util.java:145)
    2021-06-10 20:54:19,206 | INFO  | main | Inert batch time is 1468 ms | com.huawei.clickhouse.examples.Util.insertData(Util.java:145)
    2021-06-10 20:54:19,207 | INFO  | main | Inert all batch time is 22626 ms | com.huawei.clickhouse.examples.Util.insertData(Util.java:148)
    2021-06-10 20:54:19,208 | INFO  | main | Current load balancer is 10.112.17.150:21426 | com.huawei.clickhouse.examples.Util.exeSql(Util.java:58)
    2021-06-10 20:54:20,231 | INFO  | main | Execute query:select * from mutong1.testtb_all order by age limit 10 | com.huawei.clickhouse.examples.Util.exeSql(Util.java:63)
    2021-06-10 20:54:21,266 | INFO  | main | Execute time is 1035 ms | com.huawei.clickhouse.examples.Util.exeSql(Util.java:67)
    2021-06-10 20:54:21,267 | INFO  | main | Current load balancer is 10.112.17.150:21426 | com.huawei.clickhouse.examples.Util.exeSql(Util.java:58)
    2021-06-10 20:54:21,815 | INFO  | main | Execute query:select toYYYYMM(date),count(1) from mutong1.testtb_all group by toYYYYMM(date) order by count(1) DESC limit 10 | com.huawei.clickhouse.examples.Util.exeSql(Util.java:63)
    2021-06-10 20:54:22,897 | INFO  | main | Execute time is 1082 ms | com.huawei.clickhouse.examples.Util.exeSql(Util.java:67)
    2021-06-10 20:54:22,898 | INFO  | main | name	age	date	 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:144)
    2021-06-10 20:54:22,898 | INFO  | main | huawei_266	0	2021-12-19	 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:144)
    2021-06-10 20:54:22,899 | INFO  | main | huawei_2500	0	2021-12-29	 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:144)
    2021-06-10 20:54:22,899 | INFO  | main | huawei_8980	0	2021-12-16	 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:144)
    2021-06-10 20:54:22,899 | INFO  | main | huawei_671	0	2021-12-29	 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:144)
    2021-06-10 20:54:22,899 | INFO  | main | huawei_2225	0	2021-12-12	 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:144)
    2021-06-10 20:54:22,899 | INFO  | main | huawei_6040	0	2021-12-14	 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:144)
    2021-06-10 20:54:22,899 | INFO  | main | huawei_7294	0	2021-12-10	 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:144)
    2021-06-10 20:54:22,899 | INFO  | main | huawei_1133	0	2021-12-25	 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:144)
    2021-06-10 20:54:22,900 | INFO  | main | huawei_3161	0	2021-12-21	 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:144)
    2021-06-10 20:54:22,900 | INFO  | main | huawei_3992	0	2021-11-25	 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:144)
    2021-06-10 20:54:22,900 | INFO  | main | toYYYYMM(date)	count()	 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:144)
    2021-06-10 20:54:22,900 | INFO  | main | 201910	2247	 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:144)
    2021-06-10 20:54:22,900 | INFO  | main | 202105	2213	 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:144)
    2021-06-10 20:54:22,900 | INFO  | main | 201801	2208	 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:144)
    2021-06-10 20:54:22,900 | INFO  | main | 201803	2204	 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:144)
    2021-06-10 20:54:22,901 | INFO  | main | 201810	2167	 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:144)
    2021-06-10 20:54:22,901 | INFO  | main | 201805	2166	 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:144)
    2021-06-10 20:54:22,901 | INFO  | main | 201901	2164	 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:144)
    2021-06-10 20:54:22,901 | INFO  | main | 201908	2145	 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:144)
    2021-06-10 20:54:22,901 | INFO  | main | 201912	2143	 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:144)
    2021-06-10 20:54:22,901 | INFO  | main | 202107	2137	 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:144)