小编nic*_*ico的帖子

MySQL:从大表中删除列

我有这样一个有三列的大表:

+-----+-----+----------+
| id1 | id2 | associd  |
+-----+-----+----------+
|   1 |  38 | 73157604 |
|   1 | 112 | 73157605 |
|   1 | 113 | 73157606 |
|   1 | 198 | 31936810 |
|   1 | 391 | 73157607 |
+-----+-----+----------+
Run Code Online (Sandbox Code Playgroud)

这持续38米行.问题是我想删除'associd'列,但运行ALTER TABLE table_name DROP COLUMN associd;只需要太长时间.我想要做这样的事情:ALTER TABLE table_name SET UNUSED associd;ALTER TABLE table_name DROP UNUSED COLUMNS CHECKPOINT 250;那么这显然加速了过程,但它是不可能在MySQL?

是否有替代方法可以删除此列 - 可能只创建一个只包含两列的新表或者使用检查点进行删除?谢谢!

mysql sql phpmyadmin

24
推荐指数
2
解决办法
1万
查看次数

Kafka bootstrap-servers与kafka-console-consumer中的zookeeper

我正在尝试使用3个代理和zookeeper来测试运行单个Kafka节点.我希望使用控制台工具进行测试.我这样运行生产者:

kafka-console-producer --broker-list localhost:9092,localhost:9093,localhost:9094 --topic testTopic
Run Code Online (Sandbox Code Playgroud)

然后我这样运行消费者:

kafka-console-consumer --zookeeper localhost:2181 --topic testTopic --from-beginning
Run Code Online (Sandbox Code Playgroud)

我可以按照预期在生产者中输入消息并在消费者中查看消息.但是,当我使用bootstrap-server运行使用者的更新版本时,我什么也得不到.例如

kafka-console-consumer --bootstrap-server localhost:9092,localhost:9093,localhost:9094 --topic testTopic --from-beginning
Run Code Online (Sandbox Code Playgroud)

当我在端口9092上运行一个代理时,这很好用,所以我很困惑.有没有办法可以看到zookeeper提供什么作为引导程序服务器?引导服务器与代理列表不同吗?Kafka使用Scala 2.11编译.

apache-kafka kafka-consumer-api

12
推荐指数
1
解决办法
3万
查看次数

如何启动Zookeeper然后启动Kafka?

我正在开始使用Confluence Platform,它需要运行 Zookeeper ( zookeeper-server-start /etc/kafka/zookeeper.properties),然后运行 ​​Kafka ( kafka-server-start /etc/kafka/server.properties)。我正在编写一个应该同时运行 Kafka 和 Zookeeper 的 Upstart 脚本。问题是 Kafka 应该阻塞直到 Zookeeper 准备好(因为它取决于它),但我找不到可靠的方法来知道 Zookeeper 何时准备好。以下是运行 Zookeeper 服务器启动后的一些伪代码尝试:

  1. 使用硬编码块

    sleep 5   
    
    Run Code Online (Sandbox Code Playgroud)

    在速度较慢的计算机上无法可靠工作和/或等待时间超过所需时间。

  2. 检查端口 2181 上何时运行某些内容(希望是 Zookeeper)

    wait until $(echo stat | nc localhost ${port}) is not none
    
    Run Code Online (Sandbox Code Playgroud)

    这似乎不起作用,因为它没有等待足够长的时间让 Zookeeper 接受 Kafka 连接。

  3. 检查日志

     wait until specific string in zookeeper log is found
    
    Run Code Online (Sandbox Code Playgroud)

    这是粗略的,甚至没有一个字符串也不能在错误中找到(例如“绑定到端口[...]”)。

有没有可靠的方法来知道 Zookeeper 何时准备好接受 Kafka 连接?否则,我将不得不采用 1 和 2 的组合。

apache-kafka apache-zookeeper

5
推荐指数
2
解决办法
1万
查看次数