머리말
시작하기 전에 Storm과 Kafka 클러스터 설치 사이에는 필요한 연결이 없음을 주목해야합니다. 나는 Zookeeper가 관리하고 JDK 환경에 의존하기 때문에이 두 가지를 함께 썼습니다. 구성을 반복하지 않기 위해이 두 가지를 함께 썼습니다. 하나만 필요한 경우 선택한 독서를 선택하십시오. 아래에서 많이 말하지 않겠습니다. 자세한 소개를 함께 살펴 보겠습니다.
이 두 가지의 종속성은 다음과 같습니다.
참고 : Storm1.0 및 kafka2.0은 JDK 이상 1.7 이상, Zookeeper3.0 이상이 필요합니다.
주소 다운로드 :
JDK 설치
모든 기계는 JDK와 함께 설치해야합니다! ! !
참고 : 일반적으로 Centos는 OpenJDK와 함께 제공되지만 Oracle의 JDK를 사용하고 있습니다. 따라서 OpenJDK를 제거한 다음 Oracle에 다운로드 한 JDK를 설치해야합니다. 제거 된 경우이 단계를 건너 뛸 수 있습니다.
먼저 java -version 에 들어갑니다
JDK가 설치되어 있는지 확인하십시오. 설치되었지만 버전이 적합하지 않은 경우 제거하십시오.
입력하다
rpm -a | Grep Java
정보를 봅니다
그런 다음 입력하십시오.
rpm -e -nodeps "JDK 정보를 제거하고 싶습니다"
예 : rpm -e --nodeps java-1.7.0-openjdk-1.7.0.99-2.6.5.1.el6.x86_64
그것이 사라 졌음을 확인한 후, 다운로드 된 JDK를 압축 해제
TAR -XVF JDK-8U144-LINUX-X64.TAR.GZ
opt/java 폴더로 이동하여 폴더없이 새 폴더를 만들고 폴더의 이름을 JDK1.8로 바꿉니다.
MV JDK1.8.0_144 /opt /javamv jdk1.8.0_144 JDK1.8
그런 다음 프로필 파일을 편집하고 다음 구성을 추가하십시오.
입력하다:
vim /etc /profile
추가 :
java_home =/opt/java/jdk1.8export jre_home =/opt/java/jdk1.8/jreexport classpath =. : $ java_home/lib/dt.jar : $ java_home/lib/thools.jar : $ jre_home/libexport 경로 =. : $ {java_home}/bin : $ path성공적인 추가 후에 입력하십시오
소스 /etc /profilejava -version
구성이 성공했는지 확인하십시오
사육사 환경 설치
1. 문서 준비
다운로드 된 Zookeeper 구성 파일을 압축 해제하십시오
Linux에 입력하십시오 :
tar -xvf Zookeeper -3.4.10.tar.gz
그런 다음 /opt /Zookeeper로 이동하여 새로움없이 새 것을 만들고 폴더 이름을 Zookeokeeper 33.4로 바꿉니다.
입력하다
MV Zookeeper-3.4.10 /opt /Zookeepermv Zookeeper-3.4.10 Zookeeper3.4
2. 환경 구성
/etc /프로필 파일 편집
입력하다:
내보내기 zk_home =/opt/Zookeeper/Zookeeper3.4 내보내기 경로 =. : $ {java_home}/bin : $ {zk_home}/bin : $ path입력하다:
소스 /etc /프로필
구성을 효과적으로 만듭니다
3. 구성 파일을 수정하십시오
3.3.1 파일과 디렉토리를 만듭니다
클러스터의 서버에서 이러한 디렉토리를 만듭니다
mkdir/opt/Zookeeper/Data Mkdir/Opt/Zookeeper/Datalog
/opt/Zookeeper/Data Directory에서 myID 파일을 만듭니다
입력하다:
마이드를 터치하십시오
성공적인 생성 후 MyID 파일을 변경하십시오.
편의를 위해 Mas
3.3.2 새로운 zoo.cfg 만들기
/opt/zookeeper/zookeeper3.4/conf 디렉토리로 전환하십시오
zoo.cfg 파일이없는 경우 zoo_sample.cfg 파일을 복사하여 Zoo.cfg로 바꾸십시오.
새로 만든이 새로 생성 된 zoo.cfg 파일을 수정하십시오
Datadir =/opt/Zookeeper/Datadatalogdir =/opt/Zookeeper/Datalogserver.1 = Master : 2888 : 3888server.2 = slave1 : 2888 : 3888server.3 = Slave2 : 2888 : 3888
설명 : 클라이언트 포트는 이름에서 알 수 있듯이 클라이언트가 Zookeeper 서비스에 연결하는 포트입니다. 이것은 TCP 포트입니다. Datalogdir는 주문 로그 (WAL)가 배치되었습니다. Datadir는 메모리 데이터 구조의 스냅 샷을 넣어 빠른 복구를 용이하게합니다. 성능을 극대화하기 위해 일반적으로 Datadir 및 Datalogdir를 다른 디스크로 나누어 디스크 순서 쓰기 특성을 완전히 활용할 수 있도록 권장됩니다. Datadir와 Datalogdir는 스스로 만들어야하며 디렉토리는 스스로 공식화 될 수 있으며 해당 할 수 있습니다. 1 서버의 1은 마스터 머신의 Datadir 디렉토리의 MyID 파일의 값에 해당해야합니다. 2의 서버 .2는 Slave1의 Datadir 디렉토리의 MyID 파일의 값에 해당해야합니다. 서버 의이 3은 3의 Datadir 디렉토리의 MyID 파일의 값에 해당해야합니다. 물론, 당신은 그들이 원하는대로 원하는대로 사용할 수 있습니다. 2888 및 3888의 포트 번호는 다른 기계에서 동일하게 사용하더라도 중요하지 않기 때문에 우연히 사용할 수 있습니다.
1. Ticktime : CS 커뮤니케이션 심장 박동 번호
Zookeeper 서버 사이 또는 고객과 서버 간의 시간 간격은 심장 박동을 유지합니다. 즉, 각 틱 시간은 하트 비트를 보냅니다. 진드기는 밀리 초입니다.
tickTime=2000
2. INITLIMIT : LF 초기 통신 시간 제한
클러스터의 팔로워 서버 (F)와 리더 서버 (L) 사이의 초기 연결 중에 견딜 수있는 최대 하트 비트 수 (진드기 수).
initLimit=10
3. Synclimit : LF 동기 통신 시간 제한
클러스터의 팔로어 서버와 리더 서버 간의 요청과 응답 사이에 허용 될 수있는 최대 하트 비트 수 (진드기 수).
syncLimit=5
여전히 사육사를 다른 기계로 옮깁니다. /opt/Zookeeper/Data에서 MyID를 변경해야합니다. 이는 일관성이 없습니다.
입력하다:
scp -r/opt/Zookeeper root@slave1 :/optscp -r/opt/Zookeeper root@slave2 :/opt
4. Zookeeper를 시작하십시오
Zookeeper는 선거 시스템이기 때문에 마스터 슬레이브 관계는 Hadoop과 같이 지정되지 않습니다. 자세한 내용은 공식 문서를 참조하십시오.
Zookeeper를 성공적으로 구성한 후 각 컴퓨터에서 Zookeeper를 시작하십시오.
Zookeeper 디렉토리로 전환하십시오
cd/opt/zookeeper/zookeeper3.4/bin
입력하다:
zkserver.sh 시작
성공적인 시작 후
상태 입력보기 :
zkserver.sh 상태
각 기계에서 Zookeeper의 리더와 추종자를 볼 수 있습니다.
폭풍 환경 설치
1. 문서 준비
다운로드 된 폭풍 구성 파일을 압축 해제하십시오
Linux에 입력하십시오 :
tar -xvf apache-storm-1.1.1.tar.gz
그런 다음 /opt /storm으로 이동하여 존재하지 않으면 작성한 다음 폴더 이름을 Storm1.1로 바꿉니다.
입력하다
MV Apache-Storm-1.1.1 /Opt /Storm MV Apache-Storm-1.1.1 Storm1.1
/etc /프로필 파일 편집
추가 :
Export Storm_home =/opt/storm/storm1.1export path =. : $ {java_home}/bin : $ {zk_home}/bin : $ {Storm_home}/bin : $ path 버전 정보를 보려면 Storm 버전을 입력하십시오
3. 구성 파일을 수정하십시오
폭풍 편집. 폭풍/conf.
다음 편집 :
입력하다:
vim storm.yarm
Slave.zookeeper.servers : - "Mas
설명 :
1. Storm.zookeeper.servers는 지정된 Zookeeper의 서비스 주소입니다.
Storm의 저장 정보는 Zookeeper에 있으므로 Zookeeper의 서비스 주소를 구성해야합니다. Zookeeper가 독립형 기계 인 경우 하나만 지정하면됩니다!
2. Storm.local.dir는 스토리지 디렉토리를 나타냅니다.
NIMBUS 및 감독자 데몬은 소량의 상태 (예 : 항아리, 콘크리트 등)를 저장하기 위해 로컬 디스크에 디렉토리를 저장해야합니다. 각 컴퓨터에서 생성하고 권한이 주어질 수 있습니다.
3. nimbus.seeds는 후보 호스트를 나타냅니다.
근로자는 호스트 후보 (동물원 키퍼 클러스터가 선거인)인지 알아야하므로 토폴로지 항아리와 콘크리트를 다운로드 할 수 있습니다.
4. Supervisor.slots.ports는 작업자 포트를 나타냅니다.
각 감독기 기계에 대해이 기계에서 실행할 작업자 수를 구성하는 데이를 사용 하여이 시스템에서 실행할 수 있습니다. 각 작업자는 별도의 포트를 사용하여 메시지를 수신하며, 어떤 포트를 사용할 수 있는지 정의합니다. 여기에서 5 개의 포트를 정의하면이 감독자 노드에서 최대 5 명의 근로자를 실행할 수 있음을 의미합니다. 3 개의 포트가 정의되면 최대 3 명의 근로자를 실행할 수 있음을 의미합니다. 기본적으로 (즉, 기본값으로 구성) 포트 6700, 6701, 6702 및 6703에서 4 명의 작업자가 실행됩니다.
감독자는 스타트 업에 즉시이 4 명의 근로자를 시작하지 않습니다. 대신 지정된 작업이 수락 된 경우에만 시작됩니다. 시작해야 할 특정 근로자 수는 토폴로지 에서이 감독자에게 필요한 근로자 수에 따라 결정되어야합니다. 지정된 토폴로지가 한 명의 근로자 만 실행되면 감독자는 한 근로자를 시작하여 모든 것을 시작하지 않습니다.
참고 : 이러한 구성 앞에는 공백이 없습니다! ! ! 그렇지 않으면 오류 가보고됩니다. 여기에서 호스트 이름 (매핑)이 사용되며 IP도 사용할 수 있습니다. 실제 상황은 스스로 기반을두고 있습니다.
SCP 명령 또는 FTP 소프트웨어를 사용하여 폭풍을 다른 시스템에 복사 할 수 있습니다.
성공적인 구성 후에는 Storm을 시작할 수 있지만 JDK와 Zookeeper가 올바르게 설치되어 Zookeeper가 성공적으로 시작되었는지 확인하십시오.
4. 폭풍을 시작하십시오
Storm/Bin 디렉토리로 전환하십시오
마스터 노드에서 입력을 시작하십시오.
Storm Nimbus>/dev/null 2> & 1 &
웹 인터페이스 (마스터) 입력 액세스 :
폭풍 UI
노드에서 입력하십시오 (Slave1, Slave2) :
폭풍 감독자>/dev/null 2> & 1 &
브라우저 인터페이스 : 포트 8080에 입력하십시오
인터페이스가 성공적으로 열려 환경 구성이 성공했음을 나타냅니다.
Kafka의 환경 설치
Kafka는 Web Page 방문 PM, 로그 등과 같은 활성 스트리밍 데이터를 처리하는 데 사용되는 중동적 인 스트리밍 스트리밍 분산 메시지 시스템으로, 빅 데이터 정보를 실시간으로 처리 할뿐만 아니라 오프라인으로도 처리 할 수 있습니다.
1. 문서 준비
다운로드 된 Kafka 구성 파일을 압축 해제하십시오
Linux에 입력하십시오 :
tar -xvf kafka_2.12-1.0.0.tgz
그런 다음 /opt /kafka로 이동하여 존재하지 않으면 작성한 다음 폴더 이름을 Kafka2.12로 바꿉니다.
입력하다
MV KAFKA_2.12-1.0.0 /OPT /KAFKA MV KAFKA_2.12-1.0.0 KAFKA2.12
2. 환경 구성
/etc /프로필 파일 편집
입력하다:
kafka_home =/opt/kafka/kafka2.12 내보내기 경로 =. : $ {java_home}/bin : $ {kafka_home}/bin : $ {zk_home}/bin : $ path입력하다:
소스 /etc /프로필
구성을 효과적으로 만듭니다
3. 구성 파일을 수정하십시오
참고 : 실제로 독립형 머신 인 경우 Kafka 구성 파일을 수정하지 않고 BIN 디렉토리에서 직접 시작할 수 있습니다. 그러나 우리는 여기서 클러스터이므로 약간 변경하십시오.
Kafka/Config 디렉토리로 전환하십시오
Server.Properties 파일을 편집하십시오
변경해야 할 것은 Zookeeper의 주소입니다.
Zookeeper 구성을 찾고, Zookeeper 클러스터의 주소를 지정하고 다음과 같이 수정하십시오.
Zookeoper.connect = Master : 2181, Slave1 : 2181, Slave2 : 2181zookeeper.connection.timeout.ms = 6000
변화를위한 다른 옵션입니다
1, num. 파티션은 지정된 파티션을 나타내고 기본값은 1입니다.
2. log.dirs Kafka Log Path, 개인의 필요에 따라 이것을 변경하십시오.
...
참고 : 다른 구성이 있습니다. 공식 문서를 볼 수 있습니다. 특별한 요구 사항이없는 경우 기본 요구 사항을 사용하십시오.
구성 후 SCP 명령을 사용하여 다른 클러스터로 전송해야합니다!
4. Kafka를 시작하십시오
클러스터 모든 클러스터를 작동해야합니다!
Kafka/bin 디렉토리로 전환하십시오
입력하다:
Kafka-Server-Start.sh
그런 다음 JPS 이름을 입력하여 성공적으로 시작되는지 확인하십시오.
성공적인 시작 후 간단한 테스트를 수행 할 수 있습니다
먼저 주제를 만듭니다
입력하다:
kafka-topics.sh -zookeeper 마스터 : 2181-create-topic t_test-파티션 5-Replication Factor 2
설명 : 다음은 t_test라는 주제이며 5 개의 파티션이 지정되어 있으며 각 파티션에는 2 개의 복제품이 있습니다. 파티션이 지정되지 않은 경우 기본 파티션이 구성 파일에 구성됩니다.
그런 다음 생산 데이터
입력하다:
kafka-console-producer.sh -Broker-list Master : 9092-TOPOP T_TEST
Ctrl+D를 사용하여 종료 할 수 있습니다
그런 다음 다른 Xshell 창을 열었습니다
소비하다
입력하다:
kafka-console-consumer.sh -zookeeper master : 2181-topic t_test-from-beginning
Ctrl+C를 사용하여 종료 할 수 있습니다
데이터가 정상적으로 소비되었음을 알 수 있습니다.
5. 일부 일반적으로 Kafka의 명령
1. 시작하고 카프카를 닫습니다
bin/kafka-server-start.sh config/server.properties >>/dev/null 2> & 1 & bin/kafka-server-stop.sh
2. Kafka 클러스터에서 메시지 대기열과 특정 대기열을 확인하십시오.
클러스터의 모든 주제를보십시오
kafka-topics.sh -zookeeper 마스터 : 2181, Slave1 : 2181, Slave2 : 2181--list
주제 정보를 봅니다
kafka-topics.sh -zookeeper 마스터 : 2181-describe-topic t_test
3. 주제를 만듭니다
kafka-topics.sh -zookeeper 마스터 : 2181-create-topic t_test-파티션 5-Replication Factor 2
4. 생산 데이터 및 소비 데이터
kafka-console-producer.sh -Broker-list Master : 9092-TOPOP T_TEST
ctrl+d 종료
kafka-console-consumer.sh -zookeeper master : 2181-topic t_test-from-beginning
Ctrl+C 종료
5. Kafka의 삭제 명령
kafka-topics.sh-delete -zookeeper 마스터 : 2181-주성 t_test
6. 파티션 추가
kafka-topics.sh-alter ---topict_test -zookeeper 마스터 : 2181-파티션 10
다른
폭풍 환경 건설에 대한 공식 문서에 대한 참조 : http://storm.apache.org/releases/1.1.1/setting-u-storm-cluster.html
Kafka 환경 건설 참조 공식 문서 : http://kafka.apache.org/quickstart
요약
위는이 기사의 전체 내용입니다. 이 기사의 내용에 모든 사람의 연구 나 작업에 대한 특정 참조 가치가 있기를 바랍니다. 궁금한 점이 있으면 의사 소통을 위해 메시지를 남길 수 있습니다. Wulin.com을 지원 해주셔서 감사합니다.