ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 카프카구성
    Kafka 2019. 3. 13. 11:18


    [broker서버 3대 구성 / zookeeper & kafka 동일서버에 설치]

    ==========================================================================================

    #주키퍼 설치(3대로 구성 vertica01, vertica02, vertica03)

    ==========================================================================================

    [java설치]

    yum -y install java-1.8.0-openjdk


    [주키퍼 압축해제 및 심볼릭 링크 생성]

    cd /home/dbadmin/util

    tar zxf zookeeper-3.4.10.tar.gz

    ln -s zookeeper-3.4.10 zookeeper

    ls -la zookeeper


    [데이터 디렉토리 생성]

    mkdir -p /home/dbadmin/util/zookeeper_data

    [앙상블 내 주키퍼 노드 구분을 위해 ID생성(각각 서버별로 id구분해서 생성)]

    echo 1 > /home/dbadmin/util/zookeeper_data/myid


    [주키퍼 환경설정 파일 생성]

    vi /home/dbadmin/util/zookeeper/conf/zoo.cfg

    tickTime=2000

    initLimit=10

    syncLimit=5

    dataDir=/home/dbadmin/util/zookeeper_data

    clientPort=2181

    server.1=vertica01:2888:3888

    server.2=vertica02:2888:3888

    server.3=vertica03:2888:3888


    [주키퍼 실행]

    /home/dbadmin/util/zookeeper/bin/zkServer.sh start


    [주키퍼 중지]

    /home/dbadmin/util/zookeeper/bin/zkServer.sh stop


    [운영 편의성을 위해 systemd등록]

    #!/bin/bash

    #/etc/rc.d/init.d/zookeeper

    # Source function library.

    . /etc/rc.d/init.d/functions

    APP=/home/dbadmin/util/zookeeper/bin/zkServer.sh

    USER=dbadmin


    app(){

            su - $USER -c "$APP $1"

    }


    error(){

            echo -e "Error: Parameter non valide !"

            echo -e "Usage: $0 {start | stop | restart | status}"

            exit 1

    }


    usage(){

            echo -e "Usage: $0 {start | stop | restart | status}"

            echo ""

    }


    start(){

            echo -e "Starting zookeeper... "

            app start 

            echo -e "Done"

    }


    stop(){

            echo -n "Shutting down zookeeper... "

            app stop 

            echo -e "Done"

    }


    restart(){

            echo -e "Restarting Zookeeper"

            app stop

            sleep 5

            app start

            echo -e "Done"


    }


    status(){

            echo -e "Zookeeper status"

            app status

    }


    case "$1" in

            start)  

                    start 

                    ;;

            stop)   

                    stop 

                    ;;

            status) 

                    status

                    ;;

            restart) 

                    restart

                    ;;

            help) 

                    usage 

                    ;;

            *) 

                    error 

                    ;;

    esac


    exit 0



    # service zookeeper status

    Zookeeper status

    ZooKeeper JMX enabled by default

    Using config: /home/dbadmin/util/zookeeper/bin/../conf/zoo.cfg

    Mode: follower


    ==========================================================================================

    #카프카 설치(브로커 3대로 구성 vertica01, vertica02, vertica03)

    ==========================================================================================

    [카프카 압축해제 및 심볼릭 링크 생성]

    cd /home/dbadmin/util

    tar zxf kafka_2.11-1.0.2.tgz

    ln -s kafka_2.11-1.0.2 kafka

    ls -la kafka

    [카프카 환경설정]

    --카프카 호스트 이름과 브로커 아이디

    vertica01 broker.id=1

    vertica02 broker.id=2

    vertica03 broker.id=3


    --데이터 저장 디렉토리 생성

    mkdir -p /home/dbadmin/util/kafka_data

    --카프카가 바라보는 주키퍼 정보 설정

    vi /home/dbadmin/util/kafka/config/server.properties

    broker.id=1 #각각의 카프카서버에 해당하는 id등록

    log.dirs=/home/dbadmin/util/kafka_data

    zookeeper.connect=vertica01:2181,vertica02:2181,vertica03:2181/vertica-kafka


    [카프카 실행(백그라운드 실행) 둘 중 선택]

    /home/dbadmin/util/kafka/bin/kafka-server-start.sh /home/dbadmin/util/kafka/config/server.properties &

    /home/dbadmin/util/kafka/bin/kafka-server-start.sh -daemon /home/dbadmin/util/kafka/config/server.properties


    [카프카 중지]

    /home/dbadmin/util/kafka/bin/kafka-server-stop.sh


    [카프카 상태 확인]

    --포트 확인 (주키퍼 기본 TCP포트 2181, 카프카 기본 TCP포트 9092)

    netstat -ntlp | grep 2181

    netstat -ntlp | grep 9092

    --주키퍼 지노드를 이용한 카프타 정보 확인

    /home/dbadmin/util/zookeeper/bin/zkCli.sh

    ls /

    [vertica-kafka, zookeeper]

    ls /vertica-kafka/brokers/ids

    [1, 2, 3]이 보이면됨.

    --카프카 로그 확인

    cat /home/dbadmin/util/kafka/logs/server.log



    댓글

Designed by Tistory.