Commissioning the ClickHouse Application in a Linux Environment (MRS 3.3.0 and Later Versions)
ClickHouse applications can run in a Linux environment. After the application code is compiled and packaged, you can upload the JAR file to the prepared Linux environment.
Prerequisite
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.
Compiling and Running the Application
- Click Reload All Maven Projects in the Maven window on the right of the IDEA to import the Maven project dependency. Figure 1 reload projects
- Export the JAR package.
- Select Maven > clickhouse-examples > Lifecycle > clean and double-click clean to run the clean command of Maven.
- Select Maven > clickhouse-examples > Lifecycle > install and double-click install to run the install command of Maven.
Figure 2 Maven clean and install commands
- Copy the clickhouse-examples-*.jar file from the target directory and the conf folder from the clickhouse-examples directory to the ClickHouse client installation directory, for example, Client installation directory/JDBC or Client installation directory/JDBCTransaction.
The Client installation directory/JDBC directory is used to commission JDBC secondary samples.
The Client installation directory/JDBCTransaction directory is used to commission secondary transaction samples.
- Log in to the client node, go to the directory where the JAR file is uploaded, and change the file permission to 700.
cd Client installation directory/JDBC
Or cd Client installation directory/JDBCTransaction
chmod 700 clickhouse-examples-*.jar
- 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
cd Client installation directory/JDBC
Or cd Client installation directory/JDBCTransaction
java -jar clickhouse-examples-*.jar
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
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 or Client installation directory/JDBCTransaction/logs/clickhouse-example.log.
The execution result of the JAR file is as follows:
2023-09-21 09:08:38,944 | INFO | main | loadBalancerIPList is 192.168.5.132, loadBalancerHttpPort is 21422, user is ck_user, clusterName is default_cluster, isSec is true, password is Admin12!. | com.huawei.clickhouse.examples.Demo.main(Demo.java:42)
2023-09-21 09:08:38,949 | INFO | main | ckLbServerList current member is 0, ClickhouseBalancer is 192.168.5.132:21422 | com.huawei.clickhouse.examples.Demo.getCkLbServerList(Demo.java:111)
2023-09-21 09:08:38,982 | INFO | main | Current load balancer is 192.168.5.132:21422 | com.huawei.clickhouse.examples.Util.exeSql(Util.java:68)
2023-09-21 09:08:39,356 | INFO | main | Execute query:drop table if exists testdb.testtb on cluster default_cluster no delay | com.huawei.clickhouse.examples.Util.exeSql(Util.java:73)
2023-09-21 09:08:39,537 | INFO | main | Execute time is 181 ms | com.huawei.clickhouse.examples.Util.exeSql(Util.java:77)
2023-09-21 09:08:39,545 | INFO | main | Current load balancer is 192.168.5.132:21422 | com.huawei.clickhouse.examples.Util.exeSql(Util.java:68)
2023-09-21 09:08:39,580 | INFO | main | Execute query:drop table if exists testdb.testtb_all on cluster default_cluster no delay | com.huawei.clickhouse.examples.Util.exeSql(Util.java:73)
2023-09-21 09:08:39,717 | INFO | main | Execute time is 136 ms | com.huawei.clickhouse.examples.Util.exeSql(Util.java:77)
2023-09-21 09:08:39,718 | INFO | main | Current load balancer is 192.168.5.132:21422 | com.huawei.clickhouse.examples.Util.exeSql(Util.java:68)
2023-09-21 09:08:39,752 | INFO | main | Execute query:create database if not exists testdb on cluster default_cluster | com.huawei.clickhouse.examples.Util.exeSql(Util.java:73)
2023-09-21 09:08:39,887 | INFO | main | Execute time is 134 ms | com.huawei.clickhouse.examples.Util.exeSql(Util.java:77)
2023-09-21 09:08:39,888 | INFO | main | Current load balancer is 192.168.5.132:21422 | com.huawei.clickhouse.examples.Util.exeSql(Util.java:68)
2023-09-21 09:08:39,920 | INFO | main | Execute query:create table testdb.testtb on cluster default_cluster (name String, age UInt8, date Date)engine=ReplicatedMergeTree('/clickhouse/tables/{shard}/testdb.testtb','{replica}') partition by toYYYYMM(date) order by age | com.huawei.clickhouse.examples.Util.exeSql(Util.java:73)
2023-09-21 09:08:40,064 | INFO | main | Execute time is 143 ms | com.huawei.clickhouse.examples.Util.exeSql(Util.java:77)
2023-09-21 09:08:40,065 | INFO | main | Current load balancer is 192.168.5.132:21422 | com.huawei.clickhouse.examples.Util.exeSql(Util.java:68)
2023-09-21 09:08:40,096 | INFO | main | Execute query:create table testdb.testtb_all on cluster default_cluster as testdb.testtb ENGINE = Distributed(default_cluster,testdb,testtb, rand()); | com.huawei.clickhouse.examples.Util.exeSql(Util.java:73)
2023-09-21 09:08:40,231 | INFO | main | Execute time is 134 ms | com.huawei.clickhouse.examples.Util.exeSql(Util.java:77)
2023-09-21 09:08:40,232 | INFO | main | Current load balancer is 192.168.5.132:21422 | com.huawei.clickhouse.examples.Util.insertData(Util.java:143)
2023-09-21 09:08:40,447 | INFO | main | Insert batch time is 101 ms | com.huawei.clickhouse.examples.Util.insertData(Util.java:160)
2023-09-21 09:08:42,063 | INFO | main | Insert batch time is 113 ms | com.huawei.clickhouse.examples.Util.insertData(Util.java:160)
2023-09-21 09:08:43,564 | INFO | main | Inert all batch time is 3224 ms | com.huawei.clickhouse.examples.Util.insertData(Util.java:164)
2023-09-21 09:08:43,564 | INFO | main | Current load balancer is 192.168.5.132:21422 | com.huawei.clickhouse.examples.Util.exeSql(Util.java:68)
2023-09-21 09:08:43,596 | INFO | main | Execute query:select * from testdb.testtb_all order by age limit 10 | com.huawei.clickhouse.examples.Util.exeSql(Util.java:73)
2023-09-21 09:08:43,619 | INFO | main | Execute time is 23 ms | com.huawei.clickhouse.examples.Util.exeSql(Util.java:77)
2023-09-21 09:08:43,620 | INFO | main | Current load balancer is 192.168.5.132:21422 | com.huawei.clickhouse.examples.Util.exeSql(Util.java:68)
2023-09-21 09:08:43,652 | INFO | main | Execute query:select toYYYYMM(date),count(1) from testdb.testtb_all group by toYYYYMM(date) order by count(1) DESC limit 10 | com.huawei.clickhouse.examples.Util.exeSql(Util.java:73)
2023-09-21 09:08:43,675 | INFO | main | Execute time is 23 ms | com.huawei.clickhouse.examples.Util.exeSql(Util.java:77)
2023-09-21 09:08:43,677 | INFO | main | name age date | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:159)
2023-09-21 09:08:43,677 | INFO | main | huawei_7 4 2020-06-26 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:159)
2023-09-21 09:08:43,677 | INFO | main | huawei_1 10 2021-01-05 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:159)
2023-09-21 09:08:43,677 | INFO | main | huawei_12 17 2021-04-02 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:159)
2023-09-21 09:08:43,677 | INFO | main | huawei_6 21 2021-12-02 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:159)
2023-09-21 09:08:43,678 | INFO | main | huawei_8 22 2021-01-04 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:159)
2023-09-21 09:08:43,678 | INFO | main | huawei_4 26 2020-05-14 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:159)
2023-09-21 09:08:43,678 | INFO | main | huawei_11 30 2021-10-06 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:159)
2023-09-21 09:08:43,678 | INFO | main | huawei_18 32 2020-12-15 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:159)
2023-09-21 09:08:43,678 | INFO | main | huawei_0 33 2020-06-23 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:159)
2023-09-21 09:08:43,678 | INFO | main | huawei_15 35 2020-07-13 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:159)
2023-09-21 09:08:43,679 | INFO | main | toYYYYMM(date) count() | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:159)
2023-09-21 09:08:43,679 | INFO | main | 202006 4 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:159)
2023-09-21 09:08:43,679 | INFO | main | 202110 2 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:159)
2023-09-21 09:08:43,679 | INFO | main | 202101 2 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:159)
2023-09-21 09:08:43,679 | INFO | main | 202104 2 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:159)
2023-09-21 09:08:43,679 | INFO | main | 202001 2 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:159)
2023-09-21 09:08:43,679 | INFO | main | 202005 1 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:159)
2023-09-21 09:08:43,679 | INFO | main | 202012 1 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:159)
2023-09-21 09:08:43,679 | INFO | main | 202108 1 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:159)
2023-09-21 09:08:43,680 | INFO | main | 202107 1 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:159)
2023-09-21 09:08:43,680 | INFO | main | 202102 1 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:159)
2023-09-21 09:08:43,732 | INFO | main | Name is: huawei_7, age is: 4 | com.huawei.clickhouse.examples.ClickhouseJDBCHaDemo.queryData(ClickhouseJDBCHaDemo.java:79)
2023-09-21 09:08:43,732 | INFO | main | Name is: huawei_1, age is: 10 | com.huawei.clickhouse.examples.ClickhouseJDBCHaDemo.queryData(ClickhouseJDBCHaDemo.java:79)
2023-09-21 09:08:43,732 | INFO | main | Name is: huawei_12, age is: 17 | com.huawei.clickhouse.examples.ClickhouseJDBCHaDemo.queryData(ClickhouseJDBCHaDemo.java:79)
2023-09-21 09:08:43,733 | INFO | main | Name is: huawei_6, age is: 21 | com.huawei.clickhouse.examples.ClickhouseJDBCHaDemo.queryData(ClickhouseJDBCHaDemo.java:79)
2023-09-21 09:08:43,733 | INFO | main | Name is: huawei_8, age is: 22 | com.huawei.clickhouse.examples.ClickhouseJDBCHaDemo.queryData(ClickhouseJDBCHaDemo.java:79)
2023-09-21 09:08:43,733 | INFO | main | Name is: huawei_4, age is: 26 | com.huawei.clickhouse.examples.ClickhouseJDBCHaDemo.queryData(ClickhouseJDBCHaDemo.java:79)
2023-09-21 09:08:43,733 | INFO | main | Name is: huawei_11, age is: 30 | com.huawei.clickhouse.examples.ClickhouseJDBCHaDemo.queryData(ClickhouseJDBCHaDemo.java:79)
2023-09-21 09:08:43,734 | INFO | main | Name is: huawei_18, age is: 32 | com.huawei.clickhouse.examples.ClickhouseJDBCHaDemo.queryData(ClickhouseJDBCHaDemo.java:79)
2023-09-21 09:08:43,734 | INFO | main | Name is: huawei_0, age is: 33 | com.huawei.clickhouse.examples.ClickhouseJDBCHaDemo.queryData(ClickhouseJDBCHaDemo.java:79)
2023-09-21 09:08:43,734 | INFO | main | Name is: huawei_15, age is: 35 | com.huawei.clickhouse.examples.ClickhouseJDBCHaDemo.queryData(ClickhouseJDBCHaDemo.java:79) What is your overall rating for this page?
Thank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot