kafka安装和环境搭建

kafka具体的介绍这里不再进行叙述,已经有很多的好的文章进行叙述了,这里只是记录下自己搭建kafka环境的相关过程。

操作系统:centos6.5 64位

三台服务器(虚拟机)192.168.100.90,192.168.100.91,192.168.100.92

三台服务器组成kafka集群,90和91服务器组成zookeeper集群

 

一、安装zookeeper集群

zookeeper在kafka中起到了关键的作用,记录consumer、broker的注册信息,consumer的消费偏移量等等。当然,zookeeper不一定非得集群,部署一台也可以,这里只为涉及到相关的知识进行进群部署。

zookeeper部署很简单,只需要解压并且配置zoo.cfg即可。

 

1、解压zookeeper-3.4.6.tar.gz,这里解压到/usr/local目录

 

2、进入安装目录中的conf文件夹,复制zoo_sample.cfg文件并改名为zoo.cfg

cd /usr/local/zookeeper-3.4.6/conf
cp zoo_sample.cfg zoo.cfg

 

3、编辑zoo.cfg

 

dataDir=/data/zookeeper #zookeeper数据目录
#有几个服务器集群就配置以下几个server,格式如:server.X=IP:port1:port2, X为一个数字,用于标志服务器,IP即为本服务器ip,port1用于集群中follower与leader进行通信端口,port2用于leader选举的端口
server.90=192.168.100.90:2888:3888
server.91=192.168.100.90:2888:3888

 

4、在上面配置的dataDir目录下新建myid文件,内容为上面配置的本机对应的server后面的那个数字,即server.X中X的值,这里为90。这里主要用来标志zookeeper自己是集群中的那一台。

echo 90 > myid

5、启动zookeeper

 

bin/zkServer.sh start   #启动zookeeper
bin/zkServer.sh status #查看zookeeper启动状态
 

 

 

注:每台服务器的zoo.cfg可以完全一样,增加或减少服务器增减配置文件中server.X=IP:port1:port2配置即可,请注意不同服务器中myid值不同,为本服务器对应的server.X中X值

 

二、安装kafka

 

kafka的安装也很简单,解压完毕配置下即可

 

1、下载 kafka_2.10-0.8.2.1.tgz,并解压,这里解压目录依然为/usr/local

 

2、进入kafka安装目录的config文件夹,编辑里面的server.properties文件,下面列出几个比较关键的配置

broker.id=90  #即为kafka服务器起一个id,集群中这个值应保持不同,可以用ip最后一段
host.name=192.168.100.90  #绑定该服务器对应的ip,程序访问该broker时就填写该ip
zookeeper.connect=192.168.100.90:2181 #zookeeper地址

 

#注:以上仅为关键的几个配置,其余配置如接收消息字节限制,指定消息的保存时间,是否自动创建topic等等,这里不再叙述

 

3、启动

nohup bin/kafka-server-start.sh config/server.properties >kafka.log 2>&1 &

bin/kafka-server-start.sh -daemon config/server.properties  &

 

#注:启动时请使用nohup或者-daemon方式启动,不然你关闭了你的终端,kafka服务也随着停了。其余kafka服务器的配置参考上面配置,请注意broker.id的配置,每台服务器应不同

 

4、常用命令

     1、bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 2 --topic test #创建topic,replication-factor为复制集数,partitions 为该topic的partition数目,topic为创建topic名字

 

     2、bin/kafka-topics.sh --list --zookeeper localhost:2181 #查看topic列表

 

     3、bin/kafka-topics.sh -topic test -delete -zookeeper 192.168.100.90:2181 #删除topic,这是最新版本的kafka删除方式,最新版本删除须在server.properties中配置 delete.topic.enable=true

 

     4、bin/kafka-run-class.sh kafka.admin.DeleteTopicCommand --topic test --zookeeper #老版本删除topic方式,具体版本的分界线忘记了

 

     5、bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test #在控制台启动一个生产者,启动后输入发送内容即可

 

     6、bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning #在控制台启动一个消费者,配合上面生产者使用,上面发送消息,这里控制台即打印出发送的消息,这里的消费不会影响你程序中对数据的消费,可以大胆使用

 

#注:以上命令在任意一台kafka服务器执行即可,请保证命令里zookeeper与broker地址填写正确

 

以上就是kafka的安装过程,如有说明不到位或者需要补充的地方请指出,谢谢

 

 参考以及文章推荐:http://blog.youkuaiyun.com/lizhitao/article/details/39499283

 

 

 

 

 

 

<think>首先,用户的问题是关于“Hadoop、KafkaFlume环境搭建教程”。我需要基于提供的引用内容来构建一个清晰的回答。这些引用是站内引用,我必须引用它们并在回答中自然地添加引用标识。 系统级指令: - 行内数学表达式用 $...$ 格式。 - 独立公式用 $$...$$ 格式并单独成段。 - LaTeX语法正确。 - 使用中文回答。 - 生成相关问题。 - 回答中引用的段落末尾自然地添加引用标识。 - 回答结构清晰,逐步解决问题。 用户提供的引用: - [^1]: Flume安装步骤:下载解压,创建软链接到Kafka。 - [^2]: 将Flume安装目录发送到其他机器,环境变量设置。 - [^3]: 环境变量设置,包括ZOOKEEPER_HOMEKAFKA_HOME。 - [^4]: Flume启动停止脚本示例。 - [^5]: KafkaHive环境搭建,包括Kafka命令Hadoop环境变量设置。 用户的需求是Hadoop、KafkaFlume的环境搭建教程。所以,我需要整合这些引用内容到一个连贯的教程中。 结构化回答: 1. **引言**:简要介绍Hadoop、KafkaFlume,并说明它们的环境搭建步骤。 2. **分步骤教程**: - Hadoop环境搭建:基于引用[5],提到解压Hadoop、设置环境变量。 - Kafka环境搭建:基于引用[5][3],提到下载Kafka、设置环境变量、启动Kafka server、创建topic等。 - Flume环境搭建:基于引用[1]、[2][4],提到下载解压Flume、设置环境变量、配置启停脚本。 3. **整合部分**:如何集成这些组件,比如FlumeKafka集成(从引用[1]提到)。 4. **验证步骤**:如何验证安装成功(如运行简单命令)。 5. **相关脚本示例**:提供Flume启停脚本等。 6. **生成相关问题**:在最后添加相关问题。 确保引用自然: - 在每个引用点末尾添加[^n],例如在描述Flume安装时引用。 具体步骤: - **Hadoop环境搭建**: - 下载并解压Hadoop到/opt目录。 - 设置环境变量:在~/.bashrc中添加HADOOP_HOMEPATH。 - 验证:运行`hadoop dfs -ls /` 。 - **Kafka环境搭建**: - 下载并解压Kafka。 - 设置环境变量:添加ZOOKEEPER_HOMEKAFKA_HOME到/etc/profile [^3]。 - 启动ZooKeeper(如果需要,但引用中没有明确,只提到Kafka server)。 - 启动Kafka server:`./kafka-server-start.sh ../config/server.properties` 。 - 创建topic:`./kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test` 。 - 生产者消费者测试 [^5]。 - **Flume环境搭建**: - 下载并解压Flume:`tar -zxvf apache-flume-1.10.0-bin.tar.gz` [^1]。 - 创建软链接到Kafka(可选)。 - 分发到其他机器:使用scp命令 。 - 设置环境变量(可能需要在每个机器上设置)。 - 配置Flume agent:编辑conf文件,如kafka-flume-hdfs.conf 。 - 启停脚本:提供脚本示例,使用nohup启动ps kill停止 [^4]。 整合集成: - FlumeKafka集成:在Flume配置文件中指定Kafka作为source或sink。 回答结构: 1. 概述环境搭建的必要性步骤。 2. Hadoop搭建步骤。 3. Kafka搭建步骤。 4. Flume搭建步骤。 5. 验证测试。 6. 生成相关问题。 最后,生成相关问题: - 基于教程内容,提出如“如何优化FlumeKafka的集成?”或“Hadoop集群配置的最佳实践?”等。 确保语言清晰、中文。 </think> ### Hadoop、KafkaFlume环境搭建教程 以下是一个完整的Hadoop、KafkaFlume环境搭建教程,基于Linux系统(如CentOS或Ubuntu)。教程分为三个主要部分:Hadoop搭建Kafka搭建Flume搭建,最后介绍组件集成验证步骤。所有步骤均基于提供的引用内容进行整合,确保操作可靠。 #### 1. **Hadoop环境搭建** Hadoop是分布式计算框架,需先安装配置环境变量。 - **下载解压**: 从Apache官网下载Hadoop压缩包(如hadoop-3.1.1.tar.gz),解压到`/opt`目录: ```bash tar -zxvf hadoop-3.1.1.tar.gz sudo mv hadoop-3.1.1 /opt/hadoop ``` - **设置环境变量**: 编辑`~/.bashrc`文件,添加以下内容: ```bash export HADOOP_HOME=/opt/hadoop export PATH=$PATH:${HADOOP_HOME}/bin ``` 然后使配置生效:`source ~/.bashrc` 。 - **验证安装**: 运行简单命令检查是否成功: ```bash hadoop dfs -ls / ``` 如果看到文件系统列表,表示安装成功 。 #### 2. **Kafka环境搭建** Kafka依赖ZooKeeper,需先配置环境变量。 - **下载解压**: 下载Kafka(如kafka_2.11-2.4.1.tgz),解压到指定目录: ```bash tar -zxvf kafka_2.11-2.4.1.tgz sudo mv kafka_2.11-2.4.1 /hadoop/kafka ``` - **设置环境变量**: 编辑`/etc/profile`,添加: ```bash export ZOOKEEPER_HOME=/hadoop/zookeeper-3.4.13 # 需先安装ZooKeeper export KAFKA_HOME=/hadoop/kafka export PATH=$PATH:$KAFKA_HOME/bin ``` 生效配置:`source /etc/profile` [^3]。 - **启动测试**: - 启动Kafka server(先确保ZooKeeper运行): ```bash ./kafka-server-start.sh ../config/server.properties ``` - 创建topic: ```bash ./kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test ``` - 测试生产者消费者: - 生产者:`./kafka-console-producer.sh --broker-list localhost:9092 --topic test` - 消费者:`./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test` 如果消息能正常发送接收,表示Kafka安装成功 [^5]。 #### 3. **Flume环境搭建** Flume用于数据采集,常与Kafka集成。 - **下载解压**: 下载Flume(如apache-flume-1.10.0-bin.tar.gz),解压并创建软链接(可选): ```bash cd /home/hadoop/app tar -zxvf apache-flume-1.10.0-bin.tar.gz rm apache-flume-1.10.0-bin.tar.gz # 删除压缩包 ln -s apache-flume-1.10.0-bin flume # 创建软链接 ``` 分发到集群其他节点(如hadoop103): ```bash scp -r flume-1.9.0/ hadoop103:/opt/module/ ``` 确保所有节点环境变量一致 [^2]。 - **配置启停脚本**: - 编辑Flume配置文件(如`kafka-flume-hdfs.conf`),定义source(Kafka)、channelsink(HDFS)。 - 创建启停脚本`flume-control.sh`: ```bash #!/bin/bash case $1 in "start") for i in hadoop104 # 节点列表 do echo "--------启动 $i 消费flume-------" ssh $i "nohup /opt/module/flume/bin/flume-ng agent --conf-file /opt/module/flume/conf/kafka-flume-hdfs.conf --name a1 -Dflume.root.logger=INFO,LOGFILE >/opt/module/flume/log2.txt 2>&1 &" done ;; "stop") for i in hadoop104 do echo "--------停止 $i 消费flume-------" ssh $i "ps -ef | grep kafka-flume-hdfs | grep -v grep | awk '{print \$2}' | xargs -n1 kill" done ;; esac ``` 赋予执行权限:`chmod +x flume-control.sh`,使用`./flume-control.sh start`启动 。 #### 4. **集成与验证** - **Flume与Kafka集成**:在Flume配置文件中,设置Kafka作为source或sink(例如,从Kafka topic读取数据写入HDFS)。 - **整体验证**: 1. 启动Hadoop HDFS:`start-dfs.sh` 2. 启动Kafka生产者Flume agent。 3. 发送测试数据到Kafka,检查HDFS是否生成对应文件。 如果数据流正常,表示环境搭建完成 [^1]。 #### 注意事项 - **依赖项**:确保Java已安装(推荐JDK 8+),所有节点SSH免密登录配置。 - **路径调整**:根据实际安装目录修改环境变量脚本路径。 - **错误处理**:查看日志文件(如Flume的`log2.txt`)排查问题 。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值