Cloudera Impala 安装配置

FireFox 2013-08-03

前提条件:

impala1.0beta目前只支持RHEL/CentOS6.2.

安装集群:

主机名master,slave1 2台机器,

配置服务器时间同步:

sudo yum install ntp

cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
ntpdate us.pool.ntp.org


crontab -e
0-59/10 * * * * /usr/sbin/ntpdate us.pool.ntp.org | logger -t NTP

 

1,安装ClouderaManager4.1(root用户安装)

https://ccp.cloudera.com/display/SUPPORT/Downloads页面下载ClouderaManager Free Edition

50台机器以下免费。

关闭selinux:setenforce0或修改/etc/selinux/config:SELINUX=disabled

关闭防火墙:serviceiptables stop

执行安装文件:sudo./cloudera-manager-installer.bin

注意:如果因为网络等原因安装失败,可以执行sudorm -Rf /usr/share/cmf /var/lib/cloudera*/var/cache/yum/cloudera*后,重新安装

页面打开http://master:7180/查看信息(默认帐号:admin密码:admin)

 


服务关闭开启命令:

 


sudoservice cloudera-scm-server stop

sudoservice cloudera-scm-server-db stop

sudoservice cloudera-scm-server start

sudoservice cloudera-scm-server-db start
 

 

 

 

2,通过ClouderaManager安装集群

在ClouderaManager页面添加集群:搜索主机,并给每台主机分配角色(每台需要安装的组件例如:namenode,datanode,jobtrack,tasktrack等),并安装HBase,HDFS,MapReduce,Hue,Impala(不会自动安装impala-shell,需要手动安装yuminstall impala-shell),Zookeeper等到集群。

配置HDFS,MapReduce目录权限等(等价与core-site.xml,hdfs-site.xml)

注意如果测试安装,修改HDFS备份数量等参数后,需要删除hdfs中/hbase目录

sudo -u hdfs Hadoop dfs -rm -R /hbase

,重启HBase,重新生成/hbase目录否则会报

Unhandled exception. Starting shutdown.
org.apache.hadoop.hdfs.BlockMissingException: Could not obtain block: BP-1297180998-180.153.255.244-1353103407901:blk_-4239182422365376358_1003 file=/hbase/hbase.version错误
3,安装Hive,配置Mysql作为Hive的Metastore

Impala使用Hdfs和HBase作为数据存储,同时因为1.0beta版本没法创建表结构需要使用Hive的Metastore,所以需要安装Hive(安装Hue时已经自动安装),并配置Mysql作为Hive的Metastore

安装Mysql:

sudoyum install mysql-server

sudoservice mysqld start

配置Mysqlroot密码:

sudo/usr/bin/mysql_secure_installation

配置Mysql开机自启动:

sudo/sbin/chkconfig mysqld on

sudo/sbin/chkconfig --list mysqld

下载复制Mysql驱动到Hive的lib目录

curl-L'http://www.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.22.tar.gz/from/http://mysql.he.net/'| tar xz

sudocp mysql-connector-java-5.1.22/mysql-connector-java-5.1.22-bin.jar/usr/lib/hive/lib/

根据Hive提供的模板创建数据库模板

mysql-u root -p

mysql>CREATE DATABASE hivemetastoredb;

mysql>USE hivemetastoredb;

mysql>SOURCE/usr/lib/hive/scripts/metastore/upgrade/mysql/hive-schema-0.9.0.mysql.sql;

mysql>CREATE USER 'hive'@'%' IDENTIFIED BY 'hive';

mysql>GRANT ALL PRIVILEGES ON hivemetastoredb.* TO 'hive'@'%' WITH GRANTOPTION;

mysql>FLUSH PRIVILEGES;

mysql>quit;

 


配置Hive使用mysql作为Metastore

修改/etc/hive/conf/hive-site.xml添加以下属性:

<property>

  <name>javax.jdo.option.ConnectionURL</name>

  <value>jdbc:mysql://myhost/metastore</value>

</property>

 

<property>

  <name>javax.jdo.option.ConnectionDriverName</name>

  <value>com.mysql.jdbc.Driver</value>

</property>

 

<property>

  <name>javax.jdo.option.ConnectionUserName</name>

  <value>hive</value>

</property>

 

<property>

  <name>javax.jdo.option.ConnectionPassword</name>

  <value>mypassword</value>

</property>

 

<property>

  <name>datanucleus.autoCreateSchema</name>

  <value>false</value>

</property>

 

<property>

  <name>datanucleus.fixedDatastore</name>

  <value>true</value>

</property>

 


4,配置Hdfs,impala

在CloueraManager中配置HDFS服务参数

dfs.block.local-path-access.user impala

dfs.datanode.data.dir.perm 755

dfs.datanode.hdfs-blocks-metadata.enabled true

dfs.client.read.shortcircuit true

在CloueraManager中配置Impala服务参数

HiveMetastore Database Type mysql

HiveMetastore Database Namehivemetastoredb

HiveMetastore Database Host (一定要是主机名eg:master)

HiveMetastore Database Port 3306

HiveMetastore Database User

HiveMetastore Database Password 

测试:

安装完毕后就可以通过hive创建表

执行impala-shell并connect到安装impalad的机器

eg:connectslave1:21000

执行refresh同步hive的元数据

执行showtables;测试

相关阅读:

Cloudera Impala 的详细介绍:请点这里
Cloudera Impala 的下载地址:请点这里

相关推荐