centos 설치 Docker CDH+kafka

jdk 설치
  • Centos 의 yum 원 을 국내 아 리 운 원
  • 으로 교체
    $wget -O /etc/yum.repos.d/CentOS-Base.repo \
    http://mirrors.aliyun.com/repo/Centos-7.repo
    
    $yum makecache
    
  • rpm -qa|grep jdk
  • yum -y install java-1.8.0-openjdk*
  • 환경 변수 설정:
  • $jhometip='# add JAVA_HOME'
    $jhomescript='export JAVA_HOME=/etc/alternatives/java_sdk_1.8.0'
    $sudo echo $jhometip >> /etc/rc.d/rc.local
    $sudo echo $jhomescript >> /etc/rc.d/rc.local
    
    $source   /etc/rc.d/rc.local
    

    docker 설치
    홈 페이지 문서 참조:
  • Uninstall old versions
  • $sudo yum remove docker \
                      docker-client \
                      docker-client-latest \
                      docker-common \
                      docker-latest \
                      docker-latest-logrotate \
                      docker-logrotate \
                      docker-selinux \
                      docker-engine-selinux \
                      docker-engine
    
  • SET UP THE REPOSITORY
  • $ yum install -y yum-utils \
      device-mapper-persistent-data \
      lvm2
    $ yum-config-manager \
        --add-repo \
        https://download.docker.com/linux/centos/docker-ce.repo
     $ sudo yum-config-manager --enable docker-ce-edge
     $ sudo yum-config-manager --enable docker-ce-test
    
  • INSTALL DOCKER CE
  • $ sudo yum install docker-ce
    
  • Start Docker
  • $ sudo systemctl start docker
    

    5)설치 문제:
    docker 설치 오류 container-selux>=2.9,오류 정 보 는 다음 과 같 습 니 다.
    Error: Package: docker-ce-18.03.1.ce-1.el7.centos.x86_64 (docker-ce-edge)
    Requires: container-selinux >= 2.9
    You could try using --skip-broken to work around the problem
    You could try running: rpm -Va --nofiles --nodigest
    

    이 오 류 는 container-seelinux 버 전이 낮 거나 설치 되 지 않 은 이유 입 니 다.yum 에 container-selinux 를 설치 하 는 일반적인 yum 소스 에서 이 가방 을 찾 을 수 없습니다.epel 소스 를 설치 해 야 yum 에서 container-selinux 를 설치 하고 docker-ce 를 설치 할 수 있 습 니 다.
    명령 은 다음 과 같 습 니 다.
    $ wget -O /etc/yum.repos.d/CentOS-Base.repo  \
    http://mirrors.aliyun.com/repo/Centos-7.repo  
    
    $ yum install epel-release  
    #     epel 
    
    $ yum install container-selinux
    

    3.CDH 설치
    Clouder 공식 문서
  • 클 라 우 드 라 미 러
  • $docker pull cloudera/quickstart:latest
    
  • docker images 거울 보기
  • 미 러 Cloudera 를 실행 하 는 docker 버 전 은 두 부분 으로 나 누 어 시작 합 니 다.a.큰 선물 의 시작/usr/bin/docker-quickstart;b.Cloudera manager 자체 의 시작/home/cloudera/cloudera-manager.
  • $docker run -d --name cdh --hostname=quickstart.cloudera --privileged=true -t -i  -p 8020:8020 -p 8022:8022 -p 7180:7180 -p  21050:21050 -p 50070:50070 -p 50075:50075 -p 50010:50010 -p 50020:50020 -p 8890:8890  -p 60010:60010 -p 10002:10002 -p 25010:25010 -p 25020:25020 -p 18088:18088 -p 8088:8088  -p 19888:19888 -p 7187:7187 -p 11000:11000  cloudera/quickstart /bin/bash -c '/usr/bin/docker-quickstart && /home/cloudera/cloudera-manager --express && service ntpd start'
    
  • 이렇게 많은 포트 맵 을 쓰 는 것 도 우리 밖의 기계 가 docker 내부 의 이 포트 를 방문 하 는 데 편리 하도록 하기 위해 서 입 니 다.
  • Cloudera 자체 의 manager 는 7180 포트 입 니 다.이 를 시작 하면 대상 기기 ip 의 7180 포트 에 접근 하여 Cloudera manager 를 방문 할 수 있 습 니 다.
  • Liux 기기 의 docker 는 명령 으로 시작 한 후 docker 안의 인 스 턴 스 는 외부 네트워크 에 접근 할 수 없습니다.docker 가 용 기 를 만 들 때 인 자 를 설정 하여-net host 를 추가 하면 됩 니 다.
  • 도 홈 기기 에서/etc/default/docker 파일 을 사용 할 수 있 습 니 다.그리고 DOCKER 설정OPTS="--dns host_ip
  • 미 러 에 들 어가 클 라 우 드 라 서 비 스 를 실행 합 니 다
  • $docker exec -it container_id bash  #  docker    ,t     ,bash   
    
    $ sudo /home/cloudera/cloudera-manager --express
    
    >service cloudera-scm-server restart
    >service cloudera-scm-server status
    

    4.kafka 설치
    1.미 러 다운로드
    sudo docker pull wurstmeister/zookeeper 
    sudo docker pull wurstmeister/kafka
    

    2.미 러 시작
    $ docker run -d --name zookeeper --publish 2181:2181 \
    --volume /etc/localtime:/etc/localtime wurstmeister/zookeeper:latest
    
    $ docker run -d --name kafka --publish 9092:9092 --link zookeeper:zk --env KAFKA_ZOOKEEPER_CONNECT=(zk      IP):2181 --env KAFKA_ADVERTISED_HOST_NAME=(kafka      IP) --env KAFKA_ADVERTISED_PORT=9092 --volume /etc/localtime:/etc/localtime wurstmeister/kafka:latest
    

    (kafka 가 있 는 호스트 의 IP)
    3.테스트 메시지 발송
    //  Docker ps,  kafka Container ID,      :
    docker exec -it ${CONTAINER ID} /bin/bash 
    //  kafka    
    cd opt/kafka_2.12-2.1.0/
    //      :
    bin/kafka-topics.sh --create --zookeeper (zk      IP):2181 --replication-factor 1 --partitions 1 --topic myKafka
    //         ,  topic        
    bin/kafka-console-producer.sh --broker-list (kafka      IP):9092 --topic myKafka
    //       ,       
    bin/kafka-console-consumer.sh --bootstrap-server (kafka      IP):9092 --topic myKafka --from-beginning 
    

    좋은 웹페이지 즐겨찾기