数据库(database)
Apr 11
---begin
kafka快速入门--中文伪官网
kafka官网地址:
中文版本

kafka-console-producer.sh
kafka-console-producer.sh
bin/kafka-console-producer.sh --broker-list localhost:9092  --topic test
--broker-list localhost:9092 --topic test

bin/kafka-topics.sh  --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
Linux版本 快捷版本步骤
Step 1: 下载代码
下载 1.0.0版本并解压缩。.
> tar -xzf kafka_2.11-1.0.0.tgz
> cd kafka_2.11-1.0.0
Step 2.1: 启动服务器--zookeeper
Kafka 使用 ZooKeeper 如果你还没有ZooKeeper服务器,你需要先启动一个ZooKeeper服务器。 您可以通过与kafka打包在一起的便捷脚本来快速简单地创建一个单节点ZooKeeper实例。
> bin/zookeeper-server-start.sh config/zookeeper.properties

Step 2.2
现在启动Kafka服务器
> bin/kafka-server-start.sh config/server.properties

Step 3: 创建一个 topic
让我们创建一个名为“test”的topic,它有一个分区和一个副本:
> bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
现在我们可以运行list(列表)命令来查看这个topic:
> bin/kafka-topics.sh --list --zookeeper localhost:2181
输出结果 test
或者,您也可将代理配置为:在发布的topic不存在时,自动创建topic,而不是手动创建。

Step 4: 发送一些消息
Kafka自带一个命令行客户端,它从文件或标准输入中获取输入,并将其作为message(消息)发送到Kafka集群。默认情况下,每行将作为单独的message发送。

运行 producer,然后在控制台输入一些消息以发送到服务器。
> bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
>输入值this is a message

Step 5: 启动一个 consumer
Kafka 还有一个命令行consumer(消费者),将消息转储到标准输出。
> bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning

Step 6: 设置多代理集群(更多高级用法)
到目前为止,我们一直在使用单个代理,这并不好玩。对 Kafka来说,单个代理只是一个大小为一的集群,除了启动更多的代理实例外,没有什么变化。 为了深入了解它,让我们把集群扩展到三个节点(仍然在本地机器上)。
首先,为每个代理创建一个配置文件 (在Windows上使用copy 命令来代替):

> cp config/server.properties config/server-1.properties
> cp config/server.properties config/server-2.properties
现在编辑这些新文件并设置如下属性:
config/server-1.properties:
    broker.id=1
    listeners=PLAINTEXT://:9093
    log.dir=/tmp/kafka-logs-1
 
config/server-2.properties:
    broker.id=2
    listeners=PLAINTEXT://:9094
    log.dir=/tmp/kafka-logs-2
broker.id属性是集群中每个节点的名称,这一名称是唯一且永久的。我们必须重写端口和日志目录,因为我们在同一台机器上运行这些,我们不希望所有的代理尝试在同一个端口注册,或者覆盖彼此的数据。

我们已经建立Zookeeper和一个单节点了,现在我们只需要启动两个新的节点:
> bin/kafka-server-start.sh config/server-1.properties &
...
> bin/kafka-server-start.sh config/server-2.properties &

Step 7: 使用Kafka Connect来导入/导出数据
略--具体看页面顶部网站
Step 8:使用 Kafka Streams 来处理数据
略--具体看页面顶部网站
Kafka Streams是用于构建实时关键应用程序和微服务的客户端库,输入与输出数据存储在Kafka集群中。 Kafka Streams把客户端能够轻便地编写部署标准Java和Scala应用程序的优势与Kafka服务器端集群技术相结合,使这些应用程序具有高度伸缩性、弹性、容错性、分布式等特性.
kafka-quick-begin
---end
Tags:
Apr 11

Pulsar VS RocketMQ 不指定

admin , 22:04 , 数据库 » Pulsar , 评论(0) , 引用(0) , 阅读(73) , Via 本站原创
---begin
Pulsar VS RocketMQ

RocketMQPulsar
架构单层架构,Broker服务也负责存储存储和服务分离,Broker负责提供服务,BookKeeper提供存储能力
存储Master-Slave结构BookKeeper,高可用存储
多域部署GEO-REPLICATION
订阅模式集群消费、广播消费Exclusive、Shared、Failover三种模式
Stream不支持支持
ACKcumulative ackindividual & cumulative ack
顺序消息支持支持
事务消息支持
二级消息支持
定时消息支持

from:Pulsar-VS-RocketMQ
--end
Tags: ,
Apr 11
-- begin
Pulsar 替代 Kafka
在这之前智联招聘使用 RabbitMQ + Kafka 等产品来支撑智联招聘消息系统以流式处理、批处理的支持,RabbitMQ 主要支持在线业务的消息投递,Kafka 主要应用在流式处理、批处理、日志处理等场景。
但痛点如下:
两种产品带来的高维护成本
两套系统数据的一致性问题
数据存储分散且透明度不足
在经过大量的技术调研工作之后, Apache Pulsar 的分层抽象、存储设计以及多租户、多订阅模式等特性让它在技术选型中胜出。
why-pulsar-replace-kafka-demo
--- end
Tags: ,
Dec 12
记一次ERROR 1044 (42000): Access denied for user 'root'@'%' to database 的处理
这个原因有很多。我的场景是root用户无法远程无法链接。
处理方式本地root命令行登陆

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

mysql>
mysql>
mysql>
重启mysql服务即可处理

mysql ERROR 1044 (42000
mysql-ERROR-1044-42000
---end
Tags:
Sep 19
java中如何判断一个字符串是否包含某个字符(收集)Java determines whether a string contains a character.
一、contains方法
1:描述
java.lang.String.contains() 方法返回true,当且仅当此字符串包含指定的char值序列

2:声明
public boolean contains(CharSequence s)
3:返回值
此方法返回true,如果此字符串包含,否则返回false。
4:实例

public static void main(String[] args) {
        String str = "abc";
        boolean status = str.contains("a");
        if(status){
            System.out.println("包含");
        }else{
            System.out.println("不包含");
        }
    }
二、indexOf方法
1:描述
java.lang.String.indexOf() 的用途是在一个字符串中寻找一个字的位置,同时也可以判断一个字符串中是否包含某个字符。

2:声明
int indexOf(int ch,int fromIndex)
3:返回值
indexOf的返回值为int

4:实例

    public static void main(String[] args) {
        String str1 = "abcdefg";
        int result1 = str1.indexOf("a");
        if(result1 != -1){
            System.out.println("字符串str中包含子串“a”"+result1);
        }else{
            System.out.println("字符串str中不包含子串“a”"+result1);
        }
}
how-java-determines-whether-a-string-contains-a-character
from:
https://blog.csdn.net/w410589502/article/details/59117647/
Tags:
分页: 1/68 第一页 1 2 3 4 5 6 7 8 9 10 下页 最后页 [ 显示模式: 摘要 | 列表 ]