Impala 란 무엇이며 어떻게 설치합니까?
클라우드 era impala 는 HDFS Apache Hadoop 및 HBase 에 저장된 데이터에 대한 직접 쿼리 및 대화형 SQL 을 제공합니다. Impala 는 Hive 와 동일한 통합 스토리지 플랫폼을 사용하는 것 외에도 동일한 메타데이터, SQL 구문 (Hive SQL), ODBC 드라이버 및 사용자 인터페이스 (Hue 밀랍) 를 사용합니다. Impala 는 또한 배치 또는 실시간 쿼리 및 통합을 위한 익숙한 플랫폼을 제공합니다.
둘째, Impala 설치
1. 설치 요구 사항
(1) 소프트웨어 요구사항
Red hat enterprise Linux (rhel)/centos 6.2 (64 비트)
CDH 4. 1.0 이상
비축
관계형 데이터베이스
(2) 하드웨어 요구 사항
Join 쿼리 중에 계산을 위해 데이터 세트를 메모리에 로드해야 하기 때문에 Impalad 를 설치하는 데 더 많은 메모리가 필요합니다.
2, 설치 준비
(1) 운영 체제 버전 보기
& gt 추가/등/문제
Centos 버전 6.2 (최종 버전)
커널 \ron an \m
(2) 기계 준비
10.28.169.112mr5
10.28.169.113mr6
10.28.169.114mr7
10.28.169.115mr8
컴퓨터당 역할 설치
Mr5:NameNode, ResourceManager, SecondaryNameNode, Hive, impala-state-store
Mr6, mr7, mr8:DataNode, 노드 매니저, impalad
(3) 사용자 준비
Ssh 를 통해 각 시스템에 새 사용자 Hadoop 을 만듭니다.
(4) 소프트웨어 준비
클라우드 era 홈페이지에서 다운로드:
Hadoop:
Hadoop-2.0.0-cdh4.1.2.tar.gz
구성 단위:
Hive-0.9.0-CD H4.1.2.tar.gz
임팔라:
임팔라-0.3-1.p 0.366.el6.x86 _ 64.rpm
Impala-debuginfo-0.3-1.p 0.366.el6.x86 _ 64.rpm
Impala-server-0.3-1.p 0.366.el6.x86 _ 64.rpm
임팔라-조개-0.3-1.p 0.366.el6.x86 _ 64.rpm
Impala 종속 패키지 다운로드:
4. hadoop-2.0.0-cdh4. 1.2 를 설치합니다
(1) 설치 패키지 준비
Hadoop 사용자는 mr5 시스템에 로그인하여 Hadoop-2.0.0-CD H4.1.2.tar.gz 를 /home/hadoop/ 디렉토리에 업로드하고 압축을 풉니다.
Tarzxvf Hadoop-2.0.0-CDH 4.1.2.tar.gz
(2) 환경 변수 구성
수정하다. Mr5 시스템의 Hadoop 사용자 홈 디렉토리 /home/hadoop/ 에 있는 bash_profile 환경 변수:
Export Java _ home =/usr/JDK1.6.0 _ 30
Export Java _ bin = $ {Java _ home}/bin
ExportCLASSPATH=. : $ Java _ home/lib/dt.jar: $ Java _ home/lib/tools.jar
Export Java _ opts = "-djava.library.path =/usr/local/lib-server-xms1024
00-djmagick.systemclassloader = no-dnetworkaddress.cache.ttl = 300-dsun.net.inetaddr.ttl
Export Hadoop _ home =/home/Hadoop/Hadoop-2.0.0-cdh4.1.2
Export Hadoop _ prefix = $ Hadoop _ home
Export Hadoop _ mapred _ home = $ {Hadoop _ home}
Export Hadoop _ common _ home = $ {Hadoop _ home}
Exporthadoop _ HDFS _ home = $ {Hadoop _ home}
Export Hadoop _ yarn _ home = $ {Hadoop _ home}
내보내기 경로 = $ path: $ {Java _ home}/bin: $ {Hadoop _ home}/bin: $ {Hadoop _ home}/sbin
ExportJAVA_HOME JAVA_BIN 경로 클래스 경로 JAVA_OPTS
Exporthadoop _ lib = $ {Hadoop _ home}/lib
Export HADOOP _ CONF _ directory =${HADOOP_HOME}/etc/hadoop
(3) 프로파일을 수정합니다
Mr5 시스템에서 한 Hadoop 사용자가 로그온하여 Hadoop 구성 파일을 수정합니다 (구성 파일 디렉토리: Hadoop-2.0.0-CD H4.1.2/etc/Hadoop)
(1), 노예:
다음 노드를 추가합니다
Mr6
Mr7
Mr8
(2), hadoop-env.sh:
다음 환경 변수를 추가합니다
Export Java _ home =/usr/JDK1.6.0 _ 30
Export Hadoop _ home =/home/Hadoop/Hadoop-2.0.0-cdh4.1.2
Export Hadoop _ prefix = $ {Hadoop _ home}
Hadoop _ mapred _ home = $ {Hadoop _ home} 내보내기
Export Hadoop _ common _ home = $ {Hadoop _ home}
Exporthadoop _ HDFS _ home = $ {Hadoop _ home}
Export Hadoop _ yarn _ home = $ {Hadoop _ home}
Exportpath = $ path: $ {Java _ home}/bin: $ {Hadoop _ home}/bin: $ {Hadoop _ home}
ExportJAVA_HOME JAVA_BIN 경로 클래스 경로 JAVA_OPTS
Exporthadoop _ lib = $ {Hadoop _ home}/lib
Export HADOOP _ CONF _ directory =${HADOOP_HOME}/etc/hadoop
(3), 코어-사이트.xml:
파일 시스템 기본 이름
Hdfs://mr5:9000
기본 파일 시스템의 이름입니다. 문자열 "local" 또는 host:port for DFS.
진짜
Io.native.lib 사용 가능
진짜
Hadoop.tmp.dir
/home/hadoop/tmp
기타 임시 디렉토리의 기초.
(4), hdfs-site.xml:
이름 노드
파일: /home/hadoop/dfsdata/name
DFS 이름 노드가 이름 테이블을 로컬 파일 시스템에 저장해야 하는 위치를 결정합니다. 쉼표로 구분된 디렉토리 목록인 경우 이름 테이블은 중복을 위해 모든 디렉토리에서 복제됩니다.
진짜
데이터 디렉터리
파일: /home/hadoop/dfsdata/data
DFS 데이터 노드가 해당 데이터 블록을 로컬 파일 시스템에 저장해야 하는 위치를 결정합니다. 쉼표로 구분된 디렉토리 목록인 경우 데이터는 이름이 지정된 모든 디렉토리 (일반적으로 서로 다른 장치에 저장됨) 에 저장됩니다. 존재하지 않는 디렉토리는 무시됩니다.
진짜
Dfs.replication
셋;삼;3
권한
잘못된
(5), mapred-site.xml:
Mapreduce.framework.name
이야기
Mapreduce.job.tracker
Hdfs://mr5:900 1
진짜
Mapreduce.task.io.sort.mb
5 12
Mapreduce.task.io 정렬. 계수
100
Mapreduce.reduce.shuffle.parallelcopies
50
Mapreduce.cluster.temp.dir
파일: /home/hadoop/mapreddata/system
진짜
Mapreduce.cluster.local.dir
파일: /home/hadoop/mapreddata/local
진짜
(6), 원사 환경 sh:
다음 환경 변수를 추가합니다
Export Java _ home =/usr/JDK1.6.0 _ 30
Export Hadoop _ home =/home/Hadoop/Hadoop-2.0.0-cdh4.1.2
Export Hadoop _ prefix = $ {Hadoop _ home}
Export Hadoop _ mapred _ home = $ {Hadoop _ home}
Export Hadoop _ common _ home = $ {Hadoop _ home}
Exporthadoop _ HDFS _ home = $ {Hadoop _ home}
Export Hadoop _ yarn _ home = $ {Hadoop _ home}
Exportpath = $ path: $ {Java _ home}/bin: $ {Hadoop _ home}/bin: $ {Hadoop _ home}
ExportJAVA_HOME JAVA_BIN 경로 클래스 경로 JAVA_OPTS
Exporthadoop _ lib = $ {Hadoop _ home}/lib
Export HADOOP _ CONF _ directory =${HADOOP_HOME}/etc/hadoop
(7), 연 사이트.xml:
Yarn.resourcemanager.address
Mr5:8080
Yarn.resourcemanager.scheduler.address
Mr5:808 1
Yarn.resourcemanager.resource-tracker.address
Mr5:8082
Yarn.nodemanager.aux-services
Mapreduce. 셔플
Yarn.nodemanager.aux-services.mapreduce.shuffle.class
Org.apache.hadoop.mapred.shufflehandler
Yarn.nodemanager.local-dirs
파일: /home/hadoop/nmdata/local
노드 관리자에서 사용하는 native directory
Yarn.nodemanager.log-dirs
파일: /home/hadoop/nmdata/log
노드 관리자가 로그 디렉토리로 사용하는 디렉토리
(4) 다른 노드로 복사
(1), mr5 에서 2 단계와 3 단계를 구성한 후 hadoop-2.0.0-cdh4. 1.2 를 압축합니다.
Rmhadoop-2.0.0-cdh4.1.2.tar.gz
Tar zcff Hadoop-2.0.0-CDH 4.1.2.tar.gz Hadoop-2.0.0-CDH 4./kloop
그런 다음 Hadoop-2.0.0-cdh4.1.2.tar.gz 를 mr6, mr7, mr8 시스템에 원격으로 복제합니다.
Scp/home/Hadoop/Hadoop-2.0.0-CD H4.1.2.tar.gz Hadoop @ mr6:/ha
Scp/home/Hadoop/Hadoop-2.0.0-CD H4.1.2.tar.gz Hadoop @ mr7:/ha
Scp/home/Hadoop/Hadoop-2.0.0-CD H4.1.2.tar.gz Hadoop @ mr8:/HR
(2) mr5 시스템의 Hadoop 사용자 구성 환경에 대한 bash_profile 파일을 mr6, mr7, mr8 시스템에 원격으로 복제합니다.
Scp/home/hadoop/. Bash _ profilehadoop @ mr6:/home/Hadoop/
Scp/home/hadoop/. Bash _ profilehadoop @ mr7:/home/Hadoop/
Scp/home/hadoop/. Bash _ profilehadoop @ mr8:/home/Hadoop/
복사가 완료되면 mr5, mr6, mr7, mr8 시스템의 /home/hadoop/ 디렉토리에서 실행됩니다.
Source.bash_profile
환경 변수를 효과적으로 만듭니다.
(5) HDFS 및 원사를 시작하십시오.
위 단계가 모두 완료되면 Hadoop 사용자로 mr5 시스템에 로그인하여 순서대로 수행합니다.
Hdfsnamenode- 형식
Start-dfs.sh
Start-yarn.sh
Jps 명령을 사용하여 보려면 다음과 같이 하십시오.
Mr5 가 NameNode, ResourceManager 및 SecondaryNameNode 프로세스를 성공적으로 시작했습니다.
Mr6, mr7 및 mr8 은 DataNode 및 NodeManager 프로세스를 성공적으로 시작했습니다.
(6) 성공 상태 확인
다음과 같은 방법으로 노드의 상태와 작업 실행을 확인합니다.
브라우저 액세스 (호스트는 로컬로 구성해야 함)
5.hive-0.9.0-cdh4. 1.2 설치
(1) 설치 패키지 준비
Hadoop 사용자를 사용하여 mr5 시스템의 /home/hadoop/ 디렉토리에 hive-0.9.0-cdh4. 1.2 를 업로드하고 압축을 풉니다.
Tar zxvf 구성 단위 -0.9.0-cdh4. 1.2
(2) 환경 변수 구성
에 환경 변수를 추가합니다. Bash_profile:
Export hive _ home =/home/Hadoop/hive-0.9.0-CD H4.1.2
Exportpath = $ path: $ {Java _ home}/bin: $ {Hadoop _ home}/bin: $ {Hadoop _ home}
Export HIVE _ CONF _ 디렉토리 =$HIVE_HOME/conf
ExportHIVE_LIB=$HIVE_HOME/lib
추가한 후 다음 명령을 실행하여 환경 변수를 적용합니다.
.. bash_profile
(3) 프로파일을 수정합니다
구성 단위 구성 파일을 수정합니다 (구성 파일 디렉토리: hive-0.9.0-cdh4.1.2/conf/).
Hive-0.9.0-CD H4.1.2/conf/디렉토리에 새 hive-site.xml 파일을 만들고 다음 구성 정보를 추가합니다.
Hive.metastore.local
진짜
Javax.jdo.option.ConnectionURL
Jdbc: MySQL://10.28.169.61:3306/hive _ impala CreateDatabaseIfNotExist=true
Javax.jdo.option.connectiondrivername
Com.mysql.jdbc.Driver
Javax. jdo. option. connection 사용자 이름
하닷컴
Javax. jdo. option. connection 비밀번호
123456
Hive.security.authorization
잘못된
Hive.security.authorization.createtable.owner.grants
모두
Hive.querylog.location
$ {user.home}/hive-logs/쿼리 로그
(4) 성공 상태 확인
위 단계를 완료한 후 구성 단위가 성공적으로 설치되었는지 확인합니다.
Mr5 명령줄에서 hive 를 실행하고 "show tables" 를 입력하면 구성 단위가 성공적으로 설치되었음을 나타내는 다음과 같은 프롬프트가 표시됩니다.
& gt 예비
Hive & gt 표시 양식;
좋다
소요 시간: 18.952 초
Hive & gt
6.impala 장치
설명:
(1), 다음 단계 1, 2, 3, 4 는 각각 루트 사용자가 mr5, mr6, mr7, mr8 에서 수행합니다.
(2) 다음 5 단계는 Hadoop 사용자 아래에서 수행됩니다.
(1) 관련 패키지 설치:
Mysql-connector-java 를 설치하려면 :
Yum 설치 mysql-connector-java
Bigtop 을 설치합니다
Rpm-IVH bigtop-utils-0.4+300-1.CDH 4.0.1.P0.1
Libevent 를 설치합니다
Rpm-ivhlibevent-1.4.13-4.el6.x86 _ 64.rpm
추가 관련 패키지를 설치해야 하는 경우 다음 링크를 액세스할 수 있습니다.
/centos/6.3/OS/x86 _ 64/packages/.
(2) impala 가 설치된 rpm 은 별도로 실행됩니다.
Rpm-IVH impala-0.3-1.p 0.366.el6.x86 _ 64.rpm
Rpm-IVH impala-server-0.3-1.p 0.366.el6.x86 _ 64.rpm
Rpm-IVH impala-debug info-0.3-1.p 0.366.el6.x86 _ 64.rpm
Rpm-IVH impala-셸-0.3-1.p 0.366.el6.x86 _ 64.rpm
(3) impala 설치 디렉토리를 찾습니다.
1 및 2 단계를 완료한 후 다음 명령을 전달합니다.
임팔라 찾기/이름 지정
출력:
/usr/lib/debug/usr/lib/impala
/usr/lib/impala
/var/run/impala
/var/log/impala
/var/lib/ 대체 /impala
/etc/default/impala
/etc/ 대체 /impala
Impala 가 설치된 디렉토리 /usr/lib/impala 를 찾습니다.
(4) Impala 구성
Impala 설치 디렉토리 /usr/lib/impala 아래에 conf 를 만들고, Hadoop 의 conf 폴더 아래에 core-site.xml 을 만들고, hive 의 conf 폴더 아래에 hdfs-site.xml 과 hive 를 만듭니다
Core-site.xml 파일에 다음을 추가합니다.
DFS. client. read. short current
진짜
Dfs.client.read.shortcircuit.skip.checksum
잘못된
Hadoop 및 impala 의 hdfs-site.xml 파일에 다음을 추가하여 Hadoop 및 impala 를 다시 시작합니다.
Dfs.datanode.data.directory.perm
755
Dfs.block.local-path-access.user
하닷컴
활성화됨
진짜
(5) 서비스를 시작합니다
(1). 다음 명령을 사용하여 mr5 에서 Impala 상태 저장소를 시작합니다.
& gtglog _ v =1nohup state stored-state _ store _ port = 24000 &
Statestore 가 정상적으로 시작되면 /tmp/statestored.info 에서 볼 수 있고 예외가 발생하면 /tmp/statestored 를 볼 수 있습니다. 오류 위치 오류 메시지입니다.
(2) 다음 명령을 사용하여 mr6, mr7 및 mr8 에서 Impalad 를 시작합니다.
Mr6:
& gtglog _ v =1nohupimpala-state _ store _ host = mr5-nn = mr5-nn _ port =;
Mr7:
& gtglog _ v =1nohupimpala-state _ store _ host = mr5-nn = mr5-nn _ port =;
Mr8:
& gtglog _ v =1nohupimpala-state _ store _ host = mr5-nn = mr5-nn _ port =;
Impalad 가 정상적으로 시작되면 /tmp/impalad.info 에서 볼 수 있고 예외가 있으면 /tmp/impossible 을 볼 수 있습니다. 오류 위치 오류 메시지입니다.
(6) 하우징 사용
Impala-Shell 을 사용하여 impala 쉘을 시작하고, 각각 impala 호스트 (mr6, mr7, mr8) 에 연결하고, 메타데이터를 새로 고친 다음 셸 명령을 실행합니다. 관련 명령은 다음과 같습니다 (모든 노드에서 실행 가능).
Gt 임팔라 껍질
[연결되지 않음] > Mr6 연결: 21000
[mr6:2 1000] > 정신을 회복하다
[mr6:2 1000] > 연락처 7:2 1000
[mr7:2 1000] > 정신을 회복하다
[mr7:2 1000] > 연락처 8:2 1000
[mr8:2 1000] > 정신을 회복하다
(7) 성공 상태 확인
Impala-Shell 을 사용하여 impala 쉘을 시작하고, impala 호스트에 개별적으로 연결하고, 메타데이터를 새로 고친 다음 셸 명령을 실행합니다. 관련 명령은 다음과 같습니다 (모든 노드에서 실행 가능).
Gt 임팔라 껍질
[연결되지 않음] > Mr6 연결: 21000
[mr6:2 1000] > 정신을 회복하다
[mr6:2 1000] > 데이터베이스 표시
시스템 기본값
[mr6:2 1000] >
설치가 성공했다는 메시지가 위에 나타납니다.