标签:
1、Hive
1.1在hadoop生态圈中属于数据仓库的角色。他能够管理hadoop中的数据,同时可以查询hadoop中的数据。
本质上讲,hive是一个SQL解析引擎。Hive可以把SQL查询转换为MapReduce中的job来运行。
hive有一套映射工具,可以把SQL转换为MapReduce中的job,可以把SQL中的表、
字段转换为HDFS中的文件(夹)以及文件中的列。
这套映射工具称之为metastore,一般存放在derby、mysql中。
1.2 hive在hdfs中的默认位置是/user/hive/warehouse
是由配置文件hive-conf.xml中属性 hive.metastore.warehouse.dir决定的。
2、hive的安装
(1)解压缩、重命名、设置环境变量
执行命令: tar -zxvf hive-0.9.0.tar.gz
mv hive-0.9.0 hive
sudo vi /etc/profile source /etc/profile
(2)在目录$HIVE_HOME/conf/下,修改配置文件
执行命令mv hive-default.xml.template hive-site.xml重命名
执行命令mv hive-env.sh.template hive-env.sh重命名
(3)修改hadoop的配置文件hadoop-env.sh,修改内容如下:
export HADOOP_CLASSPATH=.:$CLASSPATH:$HADOOP_CLASSPATH:$HADOOP_HOME/bin
(4)在目录$HIVE_HOME/bin下面,修改文件hive-config.sh,增加以下内容:
export JAVA_HOME=/usr/local/jdk
export HIVE_HOME=/home/hadoop/app/hive
export HADOOP_HOME=/home/hadoop/app/hadoop
(5)验证:执行命令:hive
3、安装mysql
(1) 检查是否已经安装有mysql: 执行命令rpm -qa|grep -i mysql
如果有则删除:执行命令:rpm -e xxxxxxx --nodeps
(2)安装mysql服务端
执行命令:sudo rpm -ivh MySQL-server-5.1.7-0.i386.rpm --nodeps
验证执行命令:netstat -nat
Mysql默认的端口是3306,出现则标识MySQL服务已经启动
(3)安装mysql客户端
执行命令: sudo rpm -ivh MySQL-client-5.1.7-0.i386.rpm --nodeps
(4)修改root用户密码:
执行命令:/usr/bin/mysqladmin -u root password hadoop
/usr/bin/mysqladmin -u root -h hadoop password hadoop123
4. 使用mysql作为hive的metastore
(1)把mysql的jdbc驱动放置到hive的lib目录下
cp mysql-connector-java-5.1.10.jar hive/lib/
(2)修改hive-site.xml文件,修改内容如下:
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://hadoop:3306/hive?createDatabaseIfNotExist=true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>hadoop123</value>
</property>
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/hive</value>
<description>location of default database for the warehouse</description>
</property>
View Code
注意密码的配置要配置为/usr/bin/mysqladmin -u root -h hadoop password hadoop123设置的密码,否则会报错!
(3)、登录mysql为用户赋权:
grant all on hive.* to ‘root‘@‘%‘ identified by ‘hadoop123‘;
flush privileges;
5、hive的WEB访问:
执行命令:hive --service hwi &
访问地址: http://hadoop:9999/hwi/
Hive搭建实验
标签:
原文地址:http://www.cnblogs.com/home-beibei/p/4305601.html