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 的下载地址:请点这里