Commissioning a Kafka Application
Prerequisites
- The client can log in to the Elastic Cloud Server (ECS) of MRS. For details about how to log in to the ECS, see Getting Started > Logging In to an ECS Using SSH in the ECS User Guide.
- The sample project has been compiled using Maven.
Example: Packing the Maven Project to Run Examples on Linux
- Run the mvn package command to generate a JAR file, for example, kafka-examples-1.6.0.jar, and obtain it from the target directory in the project directory.
- Run the mvn dependency:copy-dependencies -DoutputDirectory=kafka-examples-lib -DincludeScope=compile command to export the JAR files that the Kafka sample project depends on, for example, to the kafka-examples-lib directory.
- A JAR file and a lib directory are generated in the specified path.
- Copy the generated dependency library folder (kafka-examples-lib) to any directory in a Linux environment of the MRS service, for example: /opt/example, and then copy the generated JAR file to the /opt/example/kafka-examples-lib directory.
- Copy the conf directory of the sample project to the directory where the dependent library folder is located, that is, /opt/example, and create the logs directory for storing the run logs of the JAR file.
- Switch to the root user and change the directories conf, kafka-examples-lib, and logs to omm, which is owned by the omm:wheel user group. Run the following command to switch to the user group:
sudo su - root
chown -R omm:wheel /opt/example/*
- Switch to user omm and go to the /opt/example directory. Ensure that all files in the conf directory and the dependent library file directory can be read by the current user. Ensure that the JDK has been installed and Java environment variables have been set. Then run the java -cp .:/opt/example/conf:/opt/example/kafka-examples-lib/* com.huawei.bigdata.kafka.example.Producer command to run the sample project.
su - omm
chmod 750 /opt/example
cd /opt/example
java -cp .:/opt/example/conf:/opt/example/kafka-examples-lib/* com.huawei.bigdata.kafka.example.Producer
Observing the Running Result
The running result of the JAR file of the sample program project can be viewed in the client.log file in the logs directory. The log4j.properties file does not output the running status by default. To view the running information of the program, you need to configure the log4j.properties file as follows:
# Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed with # this work for additional information regarding copyright ownership. # The ASF licenses this file to You under the Apache License, Version 2.0 # (the "License"); you may not use this file except in compliance with # the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. kafka.logs.dir=logs log4j.rootLogger=INFO, stdout, kafkaAppender log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=[%d] %p %m (%c)%n log4j.logger.kafka=INFO, kafkaAppender log4j.appender.kafkaAppender=org.apache.log4j.DailyRollingFileAppender log4j.appender.kafkaAppender.DatePattern='.'yyyy-MM-dd-HH log4j.appender.kafkaAppender.File=${kafka.logs.dir}/client.log log4j.appender.kafkaAppender.layout=org.apache.log4j.PatternLayout log4j.appender.kafkaAppender.layout.ConversionPattern=[%d] %p %m (%c)%n # Turn on all our debugging info #log4j.logger.kafka.producer.async.DefaultEventHandler=DEBUG, kafkaAppender #log4j.logger.kafka.client.ClientUtils=DEBUG, kafkaAppender #log4j.logger.kafka.perf=DEBUG, kafkaAppender #log4j.logger.kafka.perf.ProducerPerformance$ProducerThread=DEBUG, kafkaAppender #log4j.logger.org.I0Itec.zkclient.ZkClient=DEBUG
Add kafkaAppender to rootLogger and change the log level to the level that you want to observe.
Feedback
Was this page helpful?
Provide feedbackThank 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