how-to-install-kafka-full-distributed-cluaster-on-centos6.6-x86_64
2015-04-26 19:14
507 查看
kafka入门部署测试记录
对象:新人
kafka
对象:新人
参考:
kafka 官方文档prepare software
jdk >=1.6kafka
[kafka download](http://kafka.apache.org/downloads.html) curl -C - -O https://www.apache.org/dyn/closer.cgi?path=/kafka/0.8.2.1/kafka_2.10-0.8.2.1.tgz[/code]
上传下载的tar包到测试主机: /docker_vo01/soft/bigdata/kafka_2.10-0.8.2.1.tgzprepare test vms using docker
使用已存在的 hadoop/spark集群 spark1/spark2/spark3
之前使用 docker构建了 hadoop/spark集群。
具体部署还没发布到博客,等发布后再补链接。
创建测试虚拟机的命令:docker run -i -t -d -P -h spark1 --name spark1 --volume=/Users/Users_datadir_docker:/docker_vol01 centos:centos6 /bin/bash docker run -i -t -d -P -h spark2 --name spark2 --volume=/Users/Users_datadir_docker:/docker_vol01 centos:centos6 /bin/bash docker run -i -t -d -P -h spark3 --name spark3 --volume=/Users/Users_datadir_docker:/docker_vol01 centos:centos6 /bin/bashinstall kafka on spark1/2/3
解压预编译的安装包(tar.gz/tgz)su - hadoop mkdir -p ~/app/ cd ~/app/ tar zxf /docker_vol01/soft/bigdata/kafka_2.10-0.8.2.1.tgz ln -s kafka_2.10-0.8.2.1/ kafka 可选,编辑用户环境 vi ~/.bash_profile \#For kafka KAFKA_HOME=~/app/kafka/ PATH=$KAFKA_HOME/bin:$PATH export KAFKA_HOMEconfigure kafka in full distributed cluster on spark1/2/3
cd ~/app/kafka
mkdir -p ~/data/kafka_tmp_dir/logs
cp config/server.properties config/server.properties.org
vi config/server.properties
spark1broker.id=0 port=9092 log.dir=/home/hadoop/data/kafka_tmp_dir/logs #zookeeper.connect=spark1:2181,spark2:2181, spark3:2181 zookeeper.connect=spark1:2181,spark2:2181,spark3:2181
spark2broker.id=1 port=9092 log.dir=/home/hadoop/data/kafka_tmp_dir/logs zookeeper.connect=spark1:2181,spark2:2181,spark3:2181
spark3broker.id=2 port=9092 log.dir=/home/hadoop/data/kafka_tmp_dir/logs zookeeper.connect=spark1:2181,spark2:2181,spark3:2181
start kafka server with existed zookeeper
生产环境通常有部署好的 zookeeper集群,可以直接使用;
测试环境如果没有部署 zookeeper,可以直接使用 kafka 集成的 zookeeper
启动 kafka servernohup bin/kafka-server-start.sh config/server.properties &
常见问题1:启动 kafka server 报错,
[2015-04-15 01:23:25,213] FATAL Fatal error during KafkaServerStartable startup. Prepare to shutdown (kafka.server.KafkaServerStartable)
org.I0Itec.zkclient.exception.ZkException: Unable to connect to spark1:2181,spark2:2181, spark3:2181
…
Caused by: java.net.UnknownHostException: spark3: Name or service not known
原因:zookeeper.connect 不支持空格
处理方法:修改 config/server.properties 中 zookeeper.connect 配置test kafka
测试 kafka
create advanced topic
create a new topic with a replication factor of three:
创建 多 replication factor的 topic (可以实现冗余)bin/kafka-topics.sh --zookeeper localhost:2181 --list bin/kafka-topics.sh --zookeeper localhost:2181 --create --replication-factor 3 --partitions 1 --topic test2 bin/kafka-topics.sh --zookeeper localhost:2181 --describe
get broker info
查看 broker 工作状态
Okay but now that we have a cluster how can we know which broker is doing what? To see that run the “describe topics” command:bin/kafka-topics.sh --zookeeper localhost:2181 --describe --topic test2
start producer
启动测试 producerbin/kafka-console-producer.sh --broker-list localhost:9092 --topic test2 other examples: bin/kafka-console-producer.sh --broker-list spark2:9092,spark1:9092,spark3:9092 --topic test2
start consumer
启动测试 consumerbin/kafka-console-consumer.sh --zookeeper localhost:2181 --from-beginning --topic test2
test 消息发送接收
略
测试问题1:topic test2 的leader spark1,spark3启动 consumer,spark2上执行启动 producer,存在较大延迟(停 spark2上 producer时,spark3上 consumer才接收到消息)
原因:我的测试环境使用了 dnsmasq 作为测试主机的 DNS,如果 spark1/2/3 没有在 /etc/hosts 中直接配置集群主机的<hostname> <ip>映射条目,会出现访问慢的问题,个人感觉与 zookeeper 有关;
处理方法1:在 /etc/hosts 中直接配置集群主机的<hostname> <ip>映射条目
处理结果: 延迟有明显减小
test failure
测试冗余
测试结果:发现存在丢数据的情况,具体测试待整理kafka-topic.sh --zookeeper localhost:2181 --describe kafka-topic.sh --zookeeper localhost:2181 --list
相关文章推荐
- how-to-install-ganglia-from-prebuild-rpm-on-centos6.6-x86_64
- how-to-install-graphite-on-centos6.6-x86_64
- how-to-install-redis-on-centos6.6-x86_64
- how-to-install-grafana-on-centos6.6-x86_64
- how-to-install-elasticsearch-on-centos6.6-x86_64
- how-to-install-nginx-on-centos6.6-x86_64
- How to Install Apache Kafka on CentOS 7
- How to install Mediaproxy 2.5.2 on CentOS 6 64 bit
- How to install 64-bit Google Chrome 28+ on 64-bit RHEL/CentOS 6 or 7
- How to install Mediaproxy 2.5.2 on CentOS 6 64 bit
- How to Install OSSEC on Red Hat or CentOS 6
- How to Install PHP 7 on CentOS/RHEL 7.1 & 6.7
- 如何在RHEL6上配置PAM LDAP认证(How to setup LDAP Authentication for PAM on RHEL6 x86_64)
- How To Install Linux, nginx, MySQL, PHP (LEMP) stack on CentOS 6
- 转载--How to Install VMware Tools on CentOS 6.3
- How to install GIT on Linux (Ubuntu & CentOS)
- How to install snmpwalk snmpget on CentOS 6.4 6.3 5.9 Redhat RHEL Fedora
- Install Corosync (CMAN based) Pacemaker on two nodes running CentOS 6.5 x86_64