kafka准备工作:
开启zookeeper服务和kafka服务
zkServer.sh start
kafka-server-start.sh /opt/soft/kafka211/config/server.properties
创建副本为1,分区为4的topic:mydemo1
kafka-topics.sh --zookeeper 192.168.181.132:2181 --create --topic mydemo1 --replication-factor 1 --partitions 4
JAVA开多线程写入数据:
接口:
package org.example.commons;
import java.util.Map;
public interface Dbinfo {
public String getIp();
public int getPort();
public String getDbName();
public Map<String,String>getOther();
}
kafka配置类:
package org.example.commons;
import java.util.Map;
public class KafkaConfiguration implements Dbinfo
{
private String ip;
private int port;
private String Dbname;
public void setIp(String ip) {
this.ip = ip;
}
public void setPort(int port) {
this.port = port;
}
public String getDbname() {
return Dbname;
}
public void setDbname(String dbname) {
this.Dbname = dbname;
}
@Override
public String getIp() {
return this.ip;
}
@Override
public int getPort() {
return this.port;
}
@Override
public String getDbName() {
return this.Dbname;
}
@Override
public Map<String, String> getOther() {
return null;
}
}
kafkaConnector类:
package org.example.commons;
import org.apache.kafka.clients.admin.AdminClient;
import org.apache.kafka.clients.admin.DescribeTopicsResult;
import org.apache.kafka.clients.admin.KafkaAdminClient;
import org.apache.kafka.clients.admin.TopicDescription;
import org.apache.kafka.clients.producer.ProducerConfig;
import org.apache.kafka.common.KafkaFuture;
import org.apache.kafka.common.serialization.StringSerializer;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.LineNumberReader;
import java.util.*;
import java.util.concurrent.ExecutionException;
public class KafkaConnector {
private Dbinfo info;
private int totalRow;
private List<Long> rowSize = new ArrayList<>()