[Spark]Zookeeper3.4.12和Kafka1.0.0的安装及配置

    Spark程序的开发,难免会迁涉到Kafka的有关内容,而Kafka的运行又依赖于Zookeeper。

Zookeeper的安装与部署

    官网下载的Kafka程序包里面已经包含的一个Zookeeper程序,在这些文章中,我们没有使用它,而是使用了独立的Zookeeper程序。

  1. 先去官网下载Zookeeper程序:zookeeper-3.4.12.tar.gz

与前一篇文章一样,我们也把它解压到opt目录下,执行如下命令:

tar -zxvf zookeeper-3.4.12.tar.gz -C /opt

2. 修改/etc/profile文件,增加如下的环境变量:

export ZOOKEEPER_HOME=/opt/zookeeper-3.4.12
export PATH=$PATH:$ZOOKEEPER_HOME/bin

3. 从模板复制${ZOOKEEPER_HOME}/conf/zoo_sample.cfg文件为zoo.cfg文件,并修改内容如下

tickTime=2000
dataDir=/opt/zookeeper-3.4.12/tmp/zookeeper
dataLogDir=/opt/zookeeper-3.4.12/logs
clientPort=2181
initLimit=10
syncLimit=5
server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888

4. 在上面配置的dataDir目录下建立data文件夹,执行如下命令

mkdir -p /opt/zookeeper-3.4.12/tmp/zookeeper/data

5. 有/opt/zookeeper-3.4.12/tmp/zookeeper/data目录下建立myid文件,其内容与zoo.cfg文件对应,如master机器为server.1,则myid文件就写入1,slave2为server.2,则myid就写入2。以master机器为例,执行如下命令:

echo '1' > /opt/zookeeper-3.4.12/tmp/zookeeper/data/myid

6. 将所有文件及配置刚刚起步的其它机器,在各机器上分别启动zookeeper,分行如下命令:

/opt/zookeeper-3.4.12/bin/zkServer.sh start

说明:在各zookeeper节点使用jps命令,可以看到QuorumPeerMain进程则启动成功。

Kafka的安装与配置

Kafka的运行是依赖Zookeeper的,后面会提到。

1. 去官网下载Kafka程序:kafka_2.12-1.0.0.tgz

同样解压到/opt目录下,执行如下命令:

tar -zxvf kafka_2.12-1.0.0.tgz -C /opt

2. 修改/etc/profile文件,增加如下环境变量:

export KAFKA_HOME=/opt/kafka_2.12-1.0.0
export PATH=$PATH:$KAFKA_HOME/bin

3. 修改$KAFKA_HOME/config/server.properties文件,内容如下

broker.id=0
listeners=PLAINTEXT://master:9092
log.dirs=/opt/kafka_2.12-1.0.0/logs
zookeeper.connect=master:2181,slave1:2181,slave2:2181
delete.topic.enable=true

4. 将程序及配置文件分发到其它集群

说明:注意修改$KAFKA_HOME/config/server.properties文件中的两个master为对应的slave1和slave2,borker.id要设置成不同的整数。

5. 在各机器分别启动Kafka,执行如下命令:

/opt/kafka_2.12-1.0.0/bin/kafka-server-start.sh -deamon /opt/kafka_2.12-1.0.0/config/server.properties

5. 创建一个topic,测试集群是否全部启动成功,执行如下命令:

kafka-topics.sh --zookeeper master:2181,slave1:2181,slave2:2181 --create --topic test --replication-factor 3 partitions 2

说明:如果显示成功,则Kafka部署完成。其中replication-factor参数设置为安装Kafka的机器数,以验证是否所有的节点都启动成功。

0 条评论
发表一条评论