hadoop CDH4.4上Impala集群安装
2013-12-31 17:04
1626 查看
hadoop-001 10.168.204.55 state-store, catalog, impalad
hadoop-002 10.168.204.56 impalad
hadoop-003 10.168.204.57 impalad
hadoop-004 10.168.204.58 impalad
版本: impala 1.2.1
先安装依赖包bigtop-utils
针对配置中的路径,设置可写的权限
重启hadoop,会出现一个错误:
少了libhadoop.so,这个在/user/lib/impala/lib中有,copy至 hadoop/lib/native,然后在.bashrc中export CLASSPATH,在前一篇hadoop安装中的环境变量已设置。
或者直接cp 至/usr/java/jdk1.7.0_45/jre/lib/amd64/, 结果是一样的。
修改 /etc/sudoers,将impala用户设置为sudoer用户,因为进程是以impala用户启动,为了避免一些权限问题,这个当然是不安全的,但是测试环境无所谓,如果要考虑安全问题,要设置 auth-policy.ini,详见:http://www.cloudera.com/content/cloudera-content/cloudera-docs/Impala/latest/Installing-and-Using-Impala/ciiu_security.html
这是因为impala与hive用的datanucleus包版本不一致造成的,查看 /usr/lib/impala/lib 和hive/lib目录,hive用的是
将hive的core和rdbms包copy过去,还要修改 /usr/bin/catalogd,因为里面是hardcode,找到这两个文件,改成对应的版本号。
还有一个问题是impala的catalogd也要用到mysql driver,而 /usr/bin/catalogd是这么写的
到此为止,impala 配置完成,确实有一些需要注意的地方。
Impala-shell进入命令行模式,show tables一下,对比hive蜗牛一般的速度,是不是瞬间爽了。
页面查看集群工作状态:
微博:http://weibo.com/kingjames3
hadoop-002 10.168.204.56 impalad
hadoop-003 10.168.204.57 impalad
hadoop-004 10.168.204.58 impalad
版本: impala 1.2.1
一、安装impala
每个节点上都要操作先安装依赖包bigtop-utils
wget -O /etc/yum.repos.d/bigtop.repo http://www.apache.org/dist/bigtop/bigtop-0.6.0/repos/centos6/bigtop.repo sudo yum intall bigtop-utils再安装impala的包
rpm -ivh impala-1.2.1-1.p0.1346.el6.x86_64.rpm rpm -ivh impala-server-1.2.1-1.p0.1346.el6.x86_64.rpm rpm -ivh impala-debuginfo-1.2.1-1.p0.1346.el6.x86_64.rpm rpm -ivh impala-state-store-1.2.1-1.p0.1346.el6.x86_64.rpm rpm -ivh impala-shell-1.2.1-1.p0.1346.el6.x86_64.rpm rpm -ivh impala-udf-devel-1.2.1-1.p0.1346.el6.x86_64.rpm rpm -ivh impala-catalog-1.2.1-1.p0.1346.el6.x86_64.rpm所有的包都在: http://archive.cloudera.com/impala/redhat/6/x86_64/impala/1.2.1/RPMS/x86_64/
二、配置
1. hadoop配置
在hdfs-site.xml添加配置<property> <name>dfs.client.read.shortcircuit</name> <value>true</value> </property> <property> <name>dfs.domain.socket.path</name> <value>/var/run/hadoop-hdfs/dn._PORT</value> </property> <property> <name>dfs.client.file-block-storage-locations.timeout</name> <value>3000</value> </property> <property> <name>dfs.datanode.hdfs-blocks-metadata.enabled</name> <value>true</value> </property>
针对配置中的路径,设置可写的权限
sudo mkdir -p /var/run/hadoop-hdfs sudo usermod -a -G root hadoop sudo chmod g+w /var/run/hadoop-hdfs sudo chmod 775 /var/run/hadoop-hdfs
重启hadoop,会出现一个错误:
java.lang.RuntimeException: Although a UNIX domain socket path is configured as /var/run/hadoop-hdfs/dn._PORT, we cannot start a localDataXceiverServer because libhadoop cannot be loaded.
少了libhadoop.so,这个在/user/lib/impala/lib中有,copy至 hadoop/lib/native,然后在.bashrc中export CLASSPATH,在前一篇hadoop安装中的环境变量已设置。
或者直接cp 至/usr/java/jdk1.7.0_45/jre/lib/amd64/, 结果是一样的。
2.impala配置
将hadoop 的core-site.xml hdfs-site.xml,以及hive的 hive-site.xml 复制至 /etc/impala/conf/下,因为impala用到hive的metastore,访问hive的数据库,也需要一个授权,因为这个环境中state-store和catalog都在 10.168.204.55上,hive已配置过。 如果服务器不同,需要额外的mysql授权配置。修改 /etc/sudoers,将impala用户设置为sudoer用户,因为进程是以impala用户启动,为了避免一些权限问题,这个当然是不安全的,但是测试环境无所谓,如果要考虑安全问题,要设置 auth-policy.ini,详见:http://www.cloudera.com/content/cloudera-content/cloudera-docs/Impala/latest/Installing-and-Using-Impala/ciiu_security.html
三、启动
hadoop-001上启动state-store,catalog,impala进程。其它服务器只启动impala进程.sudo service impala-state-store start sudo service impala-catalog start sudo service impala-server strart查看/var/log/impala下的日志,发现catalog有错误:
java.lang.NoClassDefFoundError: org/datanucleus/NucleusContext
这是因为impala与hive用的datanucleus包版本不一致造成的,查看 /usr/lib/impala/lib 和hive/lib目录,hive用的是
-rw-rw-r-- 1 hadoop hadoop 337012 Apr 5 2013 datanucleus-api-jdo-3.2.1.jar -rw-rw-r-- 1 hadoop hadoop 1801810 Apr 5 2013 datanucleus-core-3.2.2.jar -rw-rw-r-- 1 hadoop hadoop 1769726 Apr 5 2013 datanucleus-rdbms-3.2.1.jar而impala用的是
-rw-r--r-- 1 root root 337012 Nov 22 15:47 datanucleus-api-jdo-3.2.1.jar -rw-r--r-- 1 root root 16880 Nov 22 15:47 datanucleus-connectionpool-2.0.3.jar -rw-r--r-- 1 root root 2002412 Nov 22 15:47 datanucleus-core-2.0.3.jar -rw-r--r-- 1 root root 188159 Nov 22 15:47 datanucleus-enhancer-2.0.3.jar -rw-r--r-- 1 root root 1225113 Nov 22 15:47 datanucleus-rdbms-2.0.3.jar
将hive的core和rdbms包copy过去,还要修改 /usr/bin/catalogd,因为里面是hardcode,找到这两个文件,改成对应的版本号。
还有一个问题是impala的catalogd也要用到mysql driver,而 /usr/bin/catalogd是这么写的
export MYSQL_CONNECTOR_JAR=${MYSQL_CONNECTOR_JAR:-/usr/share/java/mysql-connector-java.jar}为了偷懒,将hive的mysql driver 复制一份到这个路径,并改名。
到此为止,impala 配置完成,确实有一些需要注意的地方。
Impala-shell进入命令行模式,show tables一下,对比hive蜗牛一般的速度,是不是瞬间爽了。
页面查看集群工作状态:
微博:http://weibo.com/kingjames3
相关文章推荐
- hadoop CDH4.4上Impala集群安装
- hadoop 集群安装详细步骤
- Centos7系统Hadoop集群cm5.9.0安装文档
- Hadoop集群(第5期)_Hadoop安装配置
- Ganglia监控Hadoop及Hbase集群性能(安装配置)
- 大数据学习之hadoop伪分布式集群安装(一)
- 清理ambari安装的hadoop集群
- Hadoop集群安装配置教程_Hadoop2.6.0_Ubuntu/CentOS
- hadoop系列:zookeeper(1)——zookeeper单点和集群安装
- Hadoop2.7.1集群安装笔记
- Hadoop 集群搭建之一 CentOS7 安装
- hadoop集群安装教程
- Hadoop集群安装配置
- 安装Spark+hadoop,spark、hadoop分布式集群搭建...(亲自搭建过!!)
- hadoop集群安装
- Hadoop-2.5.2集群安装配置详解
- Cloudera Hadoop 集群安装(三台机器)
- Hadoop1.2.1集群安装三
- Hadoop集群(第5期)_Hadoop安装配置
- 在集群上安装Hadoop1.2.1,并配置好,启动hdfs后使用jps查看datanode,启动后过一会再看就消失了