This article explains how to manually update the Kafka component used by the meshIQ Platform.
Starting with meshIQ Platform v11.3.2, Kafka is included as part of the platform packages. We recommend using the Kafka version provided with your platform release because it has been validated for compatibility.
For releases earlier than v11.3.2, contact meshIQ Support to determine the appropriate Kafka version.
Before updating Kafka:
- Back up the existing Kafka installation and configuration.
- Ensure you have administrator/root access.
- Stop all Track services that connect to Kafka.
Update the Kafka package
- Stop the Kafka service by using the command
./stop.sh kafkasrvin$APIN_HOME/sbin. - Navigate back to Kafka directory present in
$APIN_HOME/kafka. Untar the downloaded Kafka package using the command.
tar -zxvf kafka2.13-xxx.tar.gz
- Kafka2.13-xxx folder is obtained which will be the current version.
Unlink the old version of Kafka by using the command.
Unlink Current
Link the current version of kafka by using the command.
ln -s kafka2.13-xxx current
Open the untared folder and edit the
server.propertiesfile present in the$APIN_HOME/kafka/kafka2.13-xxx/config/.
cd/$APIN_HOME/kafka/kafka2.13-xxx/config/ view server.properties
Add the following properties under Server Basics:
message.max.bytes=10485760 replica.fetch.max.bytes=10485760
Under zookeeper add the following line
zookeeper.connect=localhost:2181/xraykafka
Change the following properties:
-
Under Socket Server Settings:
Change
num.network.threadsfrom 3 to 8
Changenum.network.threads=8num.io.threadsfrom 8 to 16
num.io.threads=16 -
By default, log.dirs is set to the folder shown below. But
you can change it if you do not want to use the default folder.
log.dirs=/tmp/kafka-logs
-
Under Log Basics:
Changenum.partitionsfrom 1 to 16
num.partitions=16 -
Under Log Flush Policy, uncomment the following line:
log.segment.bytes=107374182
-
Under Socket Server Settings:
- Save the
server.propertiesfile after the above changes. - After completion of all steps, restart the Kafka service from
/opt/meshiq/sbinby using the command./start.sh kafkasrvto apply the changes. - Recreate Kafka topics using the command
./config.sh kafin$APIN_HOME/sbin.