安装 cmak(原名为 kafka manager)
- 安装 OpenJDK
sudo apt update
sudo apt install openjdk-11-jdk
必须 OpenJDK 11 的不然启动会报错
java.lang.UnsupportedClassVersionError: controllers/routes has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
- 下载并解压 cmak
wget https://github.com/yahoo/CMAK/releases/download/3.0.0.5/cmak-3.0.0.5.zip
unzip cmak-3.0.0.5.zip
- 编辑 cmak 配置文件
vim conf/application.conf
主要修改 zookeeper的服务地址,不然也是没法启动的
- 启动 cmak
./bin/cmak
然后访问 IP:9000 就可以访问管理后台页面了
Kafka 开启 JMX 并验证是否开启成功
Kafka 开启 JMX
- 方法一:**修改 bin/kafka-run-class.sh 脚本**
在脚本开头加入 JMX_PORT=9999
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#open jmx monitor
JMX_PORT=9999
if [ $# -lt 1 ];
- 方法二:**修改 kafka-server-start.sh 脚本**
在脚本开头加入 JMX_PORT=9999
export JMX_PORT="9999"
- 方法三:**在运行启动命令前加上 JMX_PORT**
JMX_PORT=9999 bin/kafka-server-start.sh -daemon config/server.properties
验证 JMX 是否开启
- 在终端输入:jconsole,启动 Java 监视和管理控制台
jconsole
- 在远程连接输入 127.0.0.1:9999(127.0.0.1 可以换成 kafka 服务器所在的 ip),然后点击连接
- 在连接时候出现一个安全认证的问题,直接点击不完全的连接
- 点击 MBean,可以查看 Kafka 的各种监控指标,都是以 kafka.xxx:type=xxx,xxx=xxx 打头 MBean
使用 cmak
创建 cluster
填入 cluster name 和 cluster zookeeper hosts,然后其他基本上按照默认值或者错误提示配置。
创建集群
创建集群成功
创建 topic
填入 topic 名字和分片数和复制备份数
创建 topic
创建成功
查看 topic 列表和概况
topic 列表
Brokers Spread
看作 broker 使用率,如 kafka 集群 9 个 broker,某 topic 有 7 个 partition,则broker spread: 7 / 9 = 77%
Broker skew
(broker的分配倾斜度)
衡量 broker 分配的不均衡性。broker 的 partition 数超过平均的 partiition,则该 broker 算失衡。失衡的 broker / 所有的 broker = 失衡倾斜度
topic 概况
查看 broker 概况
broker 概况
分片信息
此外还可以看到其他比如消费者信息,分片信息等等,甚至可以操作这些分片和 broker 的重分配
分片消息
分片信息
给 topic 添加分片
添加分片
添加分片成功
还有其他可以操作分片的选项
操作分片选项
topic 分片重分配
分片重分配
参考文档