Java开发技巧杂记
创建项目的spring initializr,要求是创建spring boot3.0,且不在支持java8语言,且要求语言大于17,所以创建项目时,无法创建srping2.0项目了;如果要创建spring2.0,需要改server url,即获取创建模版的地址;地址使用阿里云的:https://start.aliyun.com
杂记二
1Panel是一个和宝塔一样的服务器管理面板,官方网站如下:
1Panel - 现代化、开源的 Linux 服务器运维管理面板
安装地址帮助地址如下:
1Panel会以docker容器安装应用。
杂记三
配置prperties 编码如下:
settings——Editor——FileEncodings配置Default encoding for prperties files:
杂记四
settings——Plugins搜索maven-search,然后安装插件,该插件可以快速搜索jar包,可以不用上https://mvnrepository.com/网站上搜索。
安装完,Tools会增加MavenSearch菜单。
杂记五
在安装了docker的服务器,执行下面命令,可以进入容器内部。
docker exec -it <container-id> /bin/bash docker exec -it fb623ac9704fb4bec8dc2a6cc84831890947728504c8fed8be57c0b5a3a6197a /bin/bash
权限不足则使用
docker exec -u 0 -it kafka0001 /bin/bash
在linux里执行下面命令,查看安装了哪些docker容器。
docker ps
which docker
命令用于查找 docker
命令所在的路径。
which docker
杂记六 使用1panel安装kafka
在maven-search中搜索kafka-clients,获取到依赖如下:
<dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka-clients</artifactId> <version>3.6.0</version> </dependency>
然后编写连接kafka代码。
static Collection<String> topicColl = Collections.singleton("my-topic"); //生产者:键编码器 static String keyEncoder = "org.apache.kafka.common.serialization.StringSerializer"; //生产者:值编码器 static String valueEncoder = "org.apache.kafka.common.serialization.StringSerializer"; //消费者:键解码器 static String keyDecoder = "org.apache.kafka.common.serialization.StringDeserializer"; //消费者:值解码器 static String valueDecoder = "org.apache.kafka.common.serialization.StringDeserializer"; public static void main(String[] args) { SpringApplication.run(KKafkaApplication.class, args); producter1(); consumer1(); } static void producter1() { Properties properties = new Properties(); properties.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, "10.1.0.145:9092"); properties.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, keyEncoder); properties.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, valueEncoder); properties.put(ConsumerConfig.GROUP_ID_CONFIG, "my-group-id"); KafkaProducer<String, String> producer = new KafkaProducer<>(properties); String message = "hello world "; try { for (int i = 0; i < 10; i++) { // 异步写入数据 String topic = topicColl.toArray()[0].toString(); ProducerRecord<String, String> producerRecord = new ProducerRecord<>(topic, message + i); producer.send(producerRecord, new Callback() { @Override public void onCompletion(RecordMetadata metadata, Exception exception) { if (Objects.nonNull(exception)) { log.error(">>>>>>>>>>Producer生产消息异常:", exception); } if (Objects.nonNull(metadata)) { log.info(">>>>>>>>>>Producer生产消息:metadata:{},partition:{}, offset:{}", metadata, metadata.partition(), metadata.offset()); } } }); } } catch (Exception ex) { throw new RuntimeException(ex); } finally { producer.close(); } } static void consumer1() { try { Properties properties = new Properties(); properties.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, "10.1.0.145:9092"); properties.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, keyDecoder); properties.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, valueDecoder); properties.put(ConsumerConfig.GROUP_ID_CONFIG, "my-group-id"); KafkaConsumer<String, String> consumer = new KafkaConsumer<>(properties); consumer.subscribe(topicColl); while (Boolean.TRUE) { ConsumerRecords<String, String> records = consumer.poll(Duration.ofMillis(10000)); for (ConsumerRecord<String, String> record : records) { log.info(">>>>>>>>Consumer offset:{}, value:{}", record.offset(), record.value()); } } } catch (Exception ex) { throw new RuntimeException(ex); } }
如果抛出异常java.net.UnknownHostException: kafka0001,则需要配置host文件。
在C:\Windows\System32\drivers\etc的host文件下,添加
10.1.0.145 kafka0001
杂记六 flink
需要到官网先下载安装包。
官网下载地址:https://flink.apache.org/downloads/
各个版本下载地址:https://dlcdn.apache.org/flink/
然后使用final shell上传到 soft/resources下。
然后进入soft/resources,执行命令解压
tar -zxvf flink-1.18.0-bin-scala_2.12.tgz -C /soft/flink/
然后进入flink文件夹
cd /soft/flink/flink-1.18.0/
然后进入conf。
cd conf
然后修改配置文件里的localhost都改为0.0.0.0
vi flink-conf.yaml
然后执行命令启动
bin/start-cluster.sh
然后放行8081,然后jps查看进程
jps
然后访问192.1.0.1:8081
flink使用maven快速创建java项目使用的包如下:
<!-- https://mvnrepository.com/artifact/org.apache.flink/flink-quickstart-java --> <dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-quickstart-java</artifactId> <version>1.18.0</version> </dependency>
ps:flink官网学习地址:https://nightlies.apache.org/flink/flink-docs-stable/docs/try-flink/local_installation/
ps:flinkCDC,cdc不是flink提供的,是ververica提供的,参考地址:MySQL CDC 连接器 — CDC Connectors for Apache Flink® documentation (ververica.github.io)
----------------------------------------------------------------------------------------------------
注:此文章为原创,任何形式的转载都请联系作者获得授权并注明出处!
若您觉得这篇文章还不错,请点击下方的【推荐】,非常感谢!