美文网首页
Centos+zookeeper+Kafka

Centos+zookeeper+Kafka

作者: zzy_lucas | 来源:发表于2018-07-11 14:36 被阅读0次

    (一)、安装配置java环境

          1、yum -y list installed | grep java:查看系统自带的java版本

          2、卸载自带的jdk版本:yum remove java-1.7.0-openjdk*   , yum -y remove tzdata-java.noarch

          3、下载安装jdk(以java8为例):从官网下载jdk1.8.0_172.tar.gz

                tar -zxvf jdk1.8.0_172.tar.gz

                cp -r jdk1.8.0_172 /opt/java 

                rm -rf jdk1.8.0_172

           4、配置环境变量:

                   export JAVA_HOME=/opt/java

                   export JRE_HOME=/opt/java/jre

                   export PATH=$JAVA_HOME/bin:$PATH

                   export CALSSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib

    (二)、安装配置zookeeper(以zookeeper-3.4.12.tar.gz 为例)

    1、下载安装zookeeper:

          tar -zxvf zookeeper-3.4.12.tar.gz

          mv zookeeper-3.4.12 zookeeper

          进入bin目录,修改zoo_sample.cfg名字为zoo.cfg,修改内容

               其中,2888端口号是服务之间通信的端口,而3888是;zookeeper与其他应用程序通信的端口.而zookeeper是在hosts中已映射了本机的IP.

               initLimit:这个配置项是用来配置Zookeeper接受客户端(这里所说的客户端不是用户连接Zookeeper服务器的客户端,而是Zookeeper服务器集              群中连接到 Leader 的 Follower 服务器)初始化连接时最长能忍受多少个心跳时间间隔数。当已经超过 10 个心跳的时间(也就是tickTime)            长度后 Zookeeper 服务器还没有收到客户端的返回信息,那么表明这个客户端连接失败。总的时间长度就是 5*2000=10 秒。

               syncLimit:这个配置项标识 Leader 与 Follower 之间发送消息,请求和应答时间长度,最长不能超过多少个 tickTime 的时间长度,总的时间            长度就是 2*2000=4 秒。

               server.A=B:C:D:其中 A 是一个数字,表示这个是第几号服务器;B 是这个服务器的 ip 地址;C 表示的是这个服务器与集群中的 Leader            服务器交换信息的端口;D 表示的是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的 Leader,而这个端口            就是用来执行选举时服务器相互通信的端口。如果是伪集群的配置方式,由于 B 都是一样,所以不同的 Zookeeper 实例通信端口号不能一              样,所以要给它们分配不同的端口号。

    2、创建dataDir参数指定的目录(这里指的是“ /datatmp/zookeeper/data”),并在目录下创建文件,命名为“myid”。

    3、编辑“myid”文件,并在对应的IP的机器上输入对应的编号。如在zookeeper上,“myid”文件内容就是1。由于本次只在单点上进行安装配置,所以只有一个server.1。若还有其他服务器,比如地址为192.168.1.102,则在zoo.cfg文件中还需加入server.2=192.168.1.102:2888:3888。那么myid文件在192.168.1.102服务器上的内容就是2。至此,如果是多服务器配置,就需要将zookeeper-3.4.3目录拷贝到其他服务器,然后按照上述的方法修改myid。

    4、修改profile文件

        export ZOOKEEPER_HOME=/usr/local/zookeeper/bin

        export PATH=$ZOOKEEPER_HOME:$PATH

        export PATH

    5、修改zookeeper/bin中的zkAServer.sh文件中的$JAVA为$JAVA_HOME,否则可能因获取不到环境变量导致启动失败。

    (三)、kafka安装配置

        1、下载解压kafka

        2、进入kafka/config,修改server.properties

                   broker.id=0

                   port=9092

                   host.name= Slave1   # 运行kafka主机ip

                   advertised.host.name=Slave1

                   num.partitions=2

                   zookeeper.connect=Slave1:2181[,Slave2:2181,*]

       3、启动kafka

             sh bin/kafka-server-start.sh config/server.properties
       4、创建topic

              sh kafka-topics.sh --create --topic kafkatopic --replication-factor 1 --partitions 1 --zookeeper Slave1:2181  

       5、创建生产者,消费者

              sh kafka-console-producer.sh --broker-list Slave2:9092 --sync --topic kafkatopic

    相关文章

      网友评论

          本文标题:Centos+zookeeper+Kafka

          本文链接:https://www.haomeiwen.com/subject/qejhpftx.html