Hadoop学习--Hive安装与配置
2014-05-22 09:25
513 查看
最近在学习Hive的安装与使用,第一次使用还是遇到了很多问题。下面介绍下具体的过程。
开发环境:
ubuntu10.04
jdk:1.7.0_40
Hadoop:1.2.1
1、下载安装包
首先从http://hive.apache.org/downloads.html下载并解压到一个目录下,笔者是/root/hive。
Hiva需要Hadoop已经启动并运行,所以先得运行hadoop。然后在HDFS中配置几个目录备用
2、配置HDFS中的目录
bin/hadoop fs -mkdir /tmp
bin/hadoop fs -mkdir /user/hive/warehouse
bin/hadoop fs -chmod g+w /tmp
bin/hadoop fs -chmod g+w /user/hive/warehouse
3、配置共享SQL数据库
Hive部署在多用户环境中,就需要有一个集中的地方存储数据。通常会使用一个共享的SQL数据库,如mysql,但任何符合JDBC的数据库都是可以的,这里以mysql为例。
安装mysql ,执行如下命令:
sudo apt-get install mysql-server mysql-client
安装完成之后可以可以验证下是否成功。
执行命令:
netstat -tap|grep mysql
如图所示:
安装好mysql 还需要jdbc驱动的支持,可以到http://dev.mysql.com/downloads/connector/j/ 下载驱动,并解压出来。
在解压出来的目录里找到mysql-connector-java-5.1.10.jar(版本不同,名字略有差别)并拷贝到 $JAVA_HOME/jre/lib/ext下。这个目录是之前安装了jdk的目录。
此时还需要创建一个数据库作为Hive的metastore。这个数据库通常命名为metastore_db。
mysql> CREATE DATABASEmetastore_db;
最后还要添加mysql用户访问权限:
在mysql中输入如下指令
mysql> grant all on *.* to root@"%" identified by '123456';
这里的 root 账号名和 密码 要和下文保持一致!!!
4、修改Hive的配置文件
在$HIVE_HOME/conf目录下,原始的安装中没有hive-site.xml文件,因此需要手动创建。hive-site.xml代码如下所示:
[html]
view plaincopy
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!--
<property>
<name>hive.metastore.local</name>
<value>false</value>
</property>
-->
<property>
<name>javax.jdo.option.ConnectionURL</name>
<!--<value>jdbc:mysql://localhost:3306/metastore_db</value> -->
<value>jdbc:mysql://localhost: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>123456</value>
</property>
</configuration>
然后在$HIVA_HOME目录输入bin/hive,运行hive,输入show databases;,显示结果如下:
即表示配置成功。
补充:
后来安装了HBase之后,发现再次开启Hive就报错了:
将
http://blog.chinaunix.net/uid-451-id-3143781.html http://blog.csdn.net/joomlaer/article/details/8960512 http://hi.baidu.com/i_benniao/item/9695dca76c8aeb17a8cfb78e
开发环境:
ubuntu10.04
jdk:1.7.0_40
Hadoop:1.2.1
1、下载安装包
首先从http://hive.apache.org/downloads.html下载并解压到一个目录下,笔者是/root/hive。
Hiva需要Hadoop已经启动并运行,所以先得运行hadoop。然后在HDFS中配置几个目录备用
2、配置HDFS中的目录
bin/hadoop fs -mkdir /tmp
bin/hadoop fs -mkdir /user/hive/warehouse
bin/hadoop fs -chmod g+w /tmp
bin/hadoop fs -chmod g+w /user/hive/warehouse
3、配置共享SQL数据库
Hive部署在多用户环境中,就需要有一个集中的地方存储数据。通常会使用一个共享的SQL数据库,如mysql,但任何符合JDBC的数据库都是可以的,这里以mysql为例。
安装mysql ,执行如下命令:
sudo apt-get install mysql-server mysql-client
安装完成之后可以可以验证下是否成功。
执行命令:
netstat -tap|grep mysql
如图所示:
安装好mysql 还需要jdbc驱动的支持,可以到http://dev.mysql.com/downloads/connector/j/ 下载驱动,并解压出来。
在解压出来的目录里找到mysql-connector-java-5.1.10.jar(版本不同,名字略有差别)并拷贝到 $JAVA_HOME/jre/lib/ext下。这个目录是之前安装了jdk的目录。
此时还需要创建一个数据库作为Hive的metastore。这个数据库通常命名为metastore_db。
mysql> CREATE DATABASEmetastore_db;
最后还要添加mysql用户访问权限:
在mysql中输入如下指令
mysql> grant all on *.* to root@"%" identified by '123456';
这里的 root 账号名和 密码 要和下文保持一致!!!
4、修改Hive的配置文件
在$HIVE_HOME/conf目录下,原始的安装中没有hive-site.xml文件,因此需要手动创建。hive-site.xml代码如下所示:
[html]
view plaincopy
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!--
<property>
<name>hive.metastore.local</name>
<value>false</value>
</property>
-->
<property>
<name>javax.jdo.option.ConnectionURL</name>
<!--<value>jdbc:mysql://localhost:3306/metastore_db</value> -->
<value>jdbc:mysql://localhost: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>123456</value>
</property>
</configuration>
然后在$HIVA_HOME目录输入bin/hive,运行hive,输入show databases;,显示结果如下:
即表示配置成功。
补充:
后来安装了HBase之后,发现再次开启Hive就报错了:
<span style="font-family:'Microsoft YaHei';font-size: 14.44444465637207px;">root@ubuntu:~/hive/hive-0.12.0# bin/hive</span><br style="font-family: 'Microsoft YaHei'; font-size: 14.44444465637207px;" /><span style="font-family:'Microsoft YaHei';font-size: 14.44444465637207px;">Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/thrift/TException</span><br style="font-family: 'Microsoft YaHei'; font-size: 14.44444465637207px;" /><span style="font-family:'Microsoft YaHei';font-size: 14.44444465637207px; white-space: pre;"> </span><span style="font-family:'Microsoft YaHei';font-size: 14.44444465637207px;">at java.lang.Class.forName0(Native Method)</span><br style="font-family: 'Microsoft YaHei'; font-size: 14.44444465637207px;" /><span style="font-family:'Microsoft YaHei';font-size: 14.44444465637207px; white-space: pre;"> </span><span style="font-family:'Microsoft YaHei';font-size: 14.44444465637207px;">at java.lang.Class.forName(Class.java:270)</span><br style="font-family: 'Microsoft YaHei'; font-size: 14.44444465637207px;" /><span style="font-family:'Microsoft YaHei';font-size: 14.44444465637207px; white-space: pre;"> </span><span style="font-family:'Microsoft YaHei';font-size: 14.44444465637207px;">at org.apache.hadoop.util.RunJar.main(RunJar.java:153)</span><br style="font-family: 'Microsoft YaHei'; font-size: 14.44444465637207px;" /><span style="font-family:'Microsoft YaHei';font-size: 14.44444465637207px;">Caused by: java.lang.ClassNotFoundException: org.apache.thrift.TException</span><br style="font-family: 'Microsoft YaHei'; font-size: 14.44444465637207px;" /><span style="font-family:'Microsoft YaHei';font-size: 14.44444465637207px; white-space: pre;"> </span><span style="font-family:'Microsoft YaHei';font-size: 14.44444465637207px;">at java.net.URLClassLoader$1.run(URLClassLoader.java:366)</span><br style="font-family: 'Microsoft YaHei'; font-size: 14.44444465637207px;" /><span style="font-family:'Microsoft YaHei';font-size: 14.44444465637207px; white-space: pre;"> </span><span style="font-family:'Microsoft YaHei';font-size: 14.44444465637207px;">at java.net.URLClassLoader$1.run(URLClassLoader.java:355)</span><br style="font-family: 'Microsoft YaHei'; font-size: 14.44444465637207px;" /><span style="font-family:'Microsoft YaHei';font-size: 14.44444465637207px; white-space: pre;"> </span><span style="font-family:'Microsoft YaHei';font-size: 14.44444465637207px;">at java.security.AccessController.doPrivileged(Native Method)</span><br style="font-family: 'Microsoft YaHei'; font-size: 14.44444465637207px;" /><span style="font-family:'Microsoft YaHei';font-size: 14.44444465637207px; white-space: pre;"> </span><span style="font-family:'Microsoft YaHei';font-size: 14.44444465637207px;">at java.net.URLClassLoader.findClass(URLClassLoader.java:354)</span><br style="font-family: 'Microsoft YaHei'; font-size: 14.44444465637207px;" /><span style="font-family:'Microsoft YaHei';font-size: 14.44444465637207px; white-space: pre;"> </span><span style="font-family:'Microsoft YaHei';font-size: 14.44444465637207px;">at java.lang.ClassLoader.loadClass(ClassLoader.java:424)</span><br style="font-family: 'Microsoft YaHei'; font-size: 14.44444465637207px;" /><span style="font-family:'Microsoft YaHei';font-size: 14.44444465637207px; white-space: pre;"> </span><span style="font-family:'Microsoft YaHei';font-size: 14.44444465637207px;">at java.lang.ClassLoader.loadClass(ClassLoader.java:357)</span><br style="font-family: 'Microsoft YaHei'; font-size: 14.44444465637207px;" /><span style="font-family:'Microsoft YaHei';font-size: 14.44444465637207px; white-space: pre;"> </span><span style="font-family:'Microsoft YaHei';font-size: 14.44444465637207px;">... 3 more</span>后来查找发现,是因为Hadoop的配置文件hadoop-env.h被改动了;
将
<span style="font-family:'Microsoft YaHei';">export HADOOP_CLASSPATH=$HBASE_HOME/hbase-0.94.18.jar:$ZOOKEEPER_HOME/zookeeper-3.4.6.jar:$HBASE_HOME/conf</span>改成如下所示即可:
<span style="font-family:'Microsoft YaHei';">export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$HBASE_HOME/hbase-0.94.18.jar:$ZOOKEEPER_HOME/zookeeper-3.4.6.jar:$HBASE_HOME/conf</span>参考资料:
http://blog.chinaunix.net/uid-451-id-3143781.html http://blog.csdn.net/joomlaer/article/details/8960512 http://hi.baidu.com/i_benniao/item/9695dca76c8aeb17a8cfb78e
相关文章推荐
- Hadoop学习笔记: 安装配置Hive
- Hadoop学习之第七章节:Hive安装配置
- Hadoop学习笔记(十七)---Hive安装及配置
- hadoop入门学习系列之四hadoop的hive安装和配置
- Hadoop学习-hive的安装配置与常见问题解决
- hadoop学习笔记之hive 安装与配置
- Hadoop学习--Hive安装与配置
- hadoop-hive安装配置
- hadoop和hive安装配置详解
- hadoop学习笔记之-生产环境Hadoop大集群配置安装
- [转] hadoop学习---3.hadoop在ubuntu下的安装配置
- Hadoop学习笔记_安装篇之二:HIVE安装
- hadoop学习---3.hadoop在ubuntu下的安装配置
- Hadoop&hive安装配置
- Hive&hadoop 安装配置
- hadoop学习---hadoop在ubuntu下的安装配置
- hadoop学习---3.hadoop在ubuntu下的安装配置(转)
- hadoop学习过程-2013.08.29--爬虫larbin安装、配置、使用
- hadoop学习笔记(二):安装hive
- hadoop学习笔记1--centos6.2 64位 最小化(minimal)安装配置