ambari hdp 集成 impala
1.下载ambari-impala-service
VERSION=`hdp-select status hadoop-client | sed 's/hadoop-client - \([0-9]\.[0-9]\).*/\1/'` sudo git clone https://github.com/cas-bigdatalab/ambari-impala-service.git /var/lib/ambari-server/resources/stacks/HDP/$VERSION/services/IMPALA
2./etc/yum.repos.d新建impala.repo
[cloudera-cdh5] # Packages for Cloudera's Distribution for Hadoop, Version 5, on RedHat or CentOS 6 x86_64 name=Cloudera's Distribution for Hadoop, Version 5 baseurl=https://archive.cloudera.com/cdh5/redhat/6/x86_64/cdh/5/ gpgkey =https://archive.cloudera.com/cdh5/redhat/6/x86_64/cdh/RPM-GPG-KEY-cloudera gpgcheck = 1
3.重启ambari-server
sudo service ambari-server restart
4.安装impala
Actions-->Add service -->impala,然后一步一步安装
因为要去cloudera官网下载impala的rpm文件,安装过程比较慢,可能会失败,多试几次就好了
5.hdfs增加配置
#HDFS config we need add below config to /etc/hadoop/conf/core-site.xml <property> <name>dfs.client.read.shortcircuit</name> <value>true</value> </property> <property> <name>dfs.client.read.shortcircuit.skip.checksum</name> <value>false</value> </property> <property> <name>dfs.datanode.hdfs-blocks-metadata.enabled</name> <value>true</value> </property>
we need add below config to /etc/hadoop/conf/hdfs-site.xml <property> <name>dfs.datanode.hdfs-blocks-metadata.enabled</name> <value>true</value> </property> <property> <name>dfs.block.local-path-access.user</name> <value>impala</value> </property> <property> <name>dfs.client.file-block-storage-locations.timeout.millis</name> <value>60000</value> </property>
6.重启hdfs
7.启动impala
8.把hbase的jar包拷贝到 /usr/lib/impala/lib 并创建软连接
这里注意根据安装的impala的版本对应的cdh的版本选择对应的hbase的版本,否则可能出现版本不兼容的问题
ln -s hbase-annotations-1.2.0-cdh5.11.0.jar hbase-annotations.jar ln -s hbase-client-1.2.0-cdh5.11.0.jar hbase-client.jar ln -s hbase-common-1.2.0-cdh5.11.0.jar hbase-common.jar ln -s hbase-examples-1.2.0-cdh5.11.0.jar hbase-examples.jar ln -s hbase-external-blockcache-1.2.0-cdh5.11.0.jar hbase-external-blockcache.jar ln -s hbase-hadoop2-compat-1.2.0-cdh5.11.0.jar hbase-hadoop2-compat.jar ln -s hbase-hadoop-compat-1.2.0-cdh5.11.0.jar hbase-hadoop-compat.jar ln -s hbase-it-1.2.0-cdh5.11.0.jar hbase-it.jar ln -s hbase-prefix-tree-1.2.0-cdh5.11.0.jar hbase-prefix-tree.jar ln -s hbase-procedure-1.2.0-cdh5.11.0.jar hbase-procedure.jar ln -s hbase-protocol-1.2.0-cdh5.11.0.jar hbase-protocol.jar ln -s hbase-resource-bundle-1.2.0-cdh5.11.0.jar hbase-resource-bundle.jar ln -s hbase-rest-1.2.0-cdh5.11.0.jar hbase-rest.jar ln -s hbase-rsgroup-1.2.0-cdh5.11.0.jar hbase-rsgroup.jar ln -s hbase-server-1.2.0-cdh5.11.0.jar hbase-server.jar ln -s hbase-shell-1.2.0-cdh5.11.0.jar hbase-shell.jar ln -s hbase-spark-1.2.0-cdh5.11.0.jar hbase-spark.jar ln -s hbase-thrift-1.2.0-cdh5.11.0.jar hbase-thrift.jar
如果没有拷贝hbase的jar到/usr/lib/impala/lib 下则会报错:
光拷贝hbase jar包到/usr/lib/impala/lib 下如果不修改名字的话会识别不到,impala-server启动时会报类似的错:F0510 04:53:11.157616 25119 impalad-main.cc:64] NoClassDefFoundError: org/apache/hadoop/hbase/client/Scan
CAUSED BY: ClassNotFoundException: org.apache.hadoop.hbase.client.Scan