网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
1.配置文件:
core-site.xml、hdfs-site.xml、maprd-site.xml、yarn-site.xml
salves/wokers
2.常用端口号说明:
2.X版本:
NameNode通信端口:8020/9000
hdfs文件系统的webUI端口:50070
ResourceManager的webUI端口:8088
历史服务器通信端口:19888
3.X版本:
NameNode通信端口:8020/9000/9820
hdfs文件系统的webUI端口:9870
ResourceManager的webUI端口:8088
历史服务器通信端口:19888
3.启动集群
1.集群第一次启动(首次格式化):
hdfs namenode -format
注意:第一次启动如果报错,需要重新格式化的话,执行以下步骤:
1)保证namenode和datanode进程是停止的
2)删除集群所有机器的data和logs目录
3)重新执行格式化命令
2.启动命令(启动hdfs===>启动yarn===>启动historyserver):
sbin/start-dfs.sh
sbin/start-yarn.sh
bin/mapred --daemon start historyserver
3.停止命令(和启动相反,关闭historyserver===>关闭yarn===>关闭hdfs):
sbin/stop-yarn.sh
sbin/stop-yarn.sh
bin/mapred --daemon stop historyserver
kafka(集群):
1.启动命令:
前台启动:
1)bin/kafka-server-start.sh config/server.properties
后台启动:
1)bin/kafka-server-start.sh -daemon config/server.properties
2)nohup bin/kafka-server-start.sh config/server.properties &
2.停止命令:
bin/kafka-server-stop.sh
3.topic相关命令:
创建topic(一定要带上zk的地址,就算zk在配置文件中已经指定):
bin/kafka-topics.sh -zookeeper localhost:2181 --create --partitions 3 --replication-factor 3 --topic test_kafka_topic
bin/kafka-topics.sh --create --zookeeper localhost:2181/kafka --replication-factor 3 --partitions 3 --topic test_kafka_topic
查询topic列表:
bin/kafka-topics.sh --list --zookeeper localhost:2181
查询某个topic详情:
bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic test_kafka_topic
增加某个topic的分区数:
bin/kafka-topics.sh --zookeeper localhost:2181 --alter --topic test_kafka_topic --partitions 5
查看 topic 指定分区 offset 的最大值或最小值
最大值:bin/kafka-run-class.sh kafka.tools.GetOffsetShell --topic test_kafka_topic --time -1 --broker-list 127.0.0.1:9092 --partitions 0
最小值:bin/kafka-run-class.sh kafka.tools.GetOffsetShell --topic test_kafka_topic --time -2 --broker-list 127.0.0.1:9092 --partitions 0
删除topic:
bin/kafka-topics.sh --delete --zookeeper localhost:2181 --topic test_kafka_topic
说明:在${KAFKA_HOME}/config/server.properties中配置 delete.topic.enable 为 true,这样才能生效,删除指定的 topic主题
4.消息相关命令:
生产者发送消息:
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test_kafka_topic
消费者消费消息:
1)(第一次消费)从头开始消费:
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --from-beginning --topic test_kafka_topic
2)(实时监控消费)从尾开始消费:
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test_kafka_topic --offset latest
3)(这里设置3个分区演示)从尾开始,并且指定分区:
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test_kafka_topic --offset latest --partition 0
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test_kafka_topic --offset latest --partition 1
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test_kafka_topic --offset latest --partition 2
4)从尾开始,指定分区,指定偏移量:
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test_kafka_topic --partition 0 --offset 100
5)指定分组消费数据:
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --from-beginning --topic test_kafka_topic --group t1
6)(用于分析测试)取指定个数:
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test_kafka_topic --offset latest --partition 0 --max-messages 10
5.消费者组相关命令:
查看消费者Group列表:
bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --list
查看Group详情:
bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --group test_group --describe
输出日志如下:
Consumer group ‘test_group’ has no active members.
TOPIC PARTITION CURRENT-OFFSET LOG-END-OFFSET LAG CONSUMER-ID HOST CLIENT-ID
test 0 5 5 0 - - -
说明:
CURRENT-OFFSET: 当前消费者群组最近提交的 offset,也就是消费者分区里读取的当前位置
LOG-END-OFFSET: 当前最高水位偏移量,也就是最近一个读取消息的偏移量,同时也是最近一个提交到集群的偏移量
LAG:消费者的 CURRENT-OFFSET 与 broker 的 LOG-END-OFFSET 之间的差距
删除Group中的Topic:
bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --group test_group --topic test_topic --delete
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!