Ubuntu14上搭建HIVE-1.1.0-CDH5.9.3
程序员文章站
2022-03-08 14:32:54
...
1 安装Hadoop
Hive是建立在Hadoop上的一个数仓工具,说简单点就是真实数据存储在HDFS上。因此需要先安装Hadoop,详见博文hadoop-2.6.0-cdh完全分布式集群的搭建。
2 安装MySQL
Hive是将结构化的数据文件映射为一张表,映射关系需要存放在数据库上。博主选用MySQL数据库存储HIVE元数据信息。MySQL的按装详见在Ubuntu14中安装MySQL数据库并使用SQLyog进行连接。
3 安装HIVE
HIVE的存储使用HDFS,计算引擎可以是MR或SPARK,即HIVE本身不存储数据,也不做任何计算。因此不需要像其他大数据框架一样需要集群安装,只需在装有HADOOP的机器上任意一台都可以安装HIVE就可以。
#解压
aaa@qq.com:~$ tar -zxvf hive-1.1.0-cdh5.9.3.tar.gz -C app/
aaa@qq.com:~$mv app/ hive-1.1.0-cdh5.9.3 hive
#修改配置文件hive-env.sh
aaa@qq.com:~$ cd app/hive/conf/
aaa@qq.com:~/app/hive/conf$ mv hive-env.sh.template hive-env.sh
aaa@qq.com:~/app/hive/conf$vim hive-env.sh
修改以下两行:
HADOOP_HOME=/home/hadoop/app/Hadoop #hadoop安装目录
export HIVE_CONF_DIR=/home/hadoop/app/hive/conf #hive配置文件的地址
#修改配置文件hive-site.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!-- Mysql数据库的地址-->
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://192.168.0.150:3306/metastore?createDatabaseIfNotExist=true</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
<!-- Mysql数据库的驱动-->
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>
<!-- Mysql数据库的账号-->
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
<description>username to use against metastore database</description>
</property>
<!-- Mysql数据库的密码-->
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>123456</value>
<description>password to use against metastore database</description>
</property>
<!—Hive查询结果显示列名-->
<property>
<name>hive.cli.print.header</name>
<value>true</value>
</property>
<!—Hive查询结果显示表名-->
<property>
<name>hive.cli.print.current.db</name>
<value>true</value>
</property>
</configuration>
#修改日志文件
aaa@qq.com:~/app/hive/conf$mkdir /home/hadoop/app/hive/logs
aaa@qq.com:~/app/hive/conf$mv hive-log4j.properties.template hive-log4j.properties
aaa@qq.com:~/app/hive/conf$vim hive-log4j.properties
修改日志地址:
hive.log.dir=/home/hadoop/app/hive/logs
#添加mysql的驱动包
#将mysql的jar包放到hive安装包的lib下面
aaa@qq.com:~$ tar -zxvf mysql-connector-java-5.1.27.tar.gz
aaa@qq.com:~$ mv mysql-connector-java-5.1.27/mysql-connector-java-5.1.27-bin.jar app/hive/lib/
4 启动Hive
aaa@qq.com:~/app/hive$ ./bin/hive
hive> show databases;
OK
default
Time taken: 2.077 seconds, Fetched: 1 row(s)
走到这里说明安装成功了!
5 使用YARN进行查看
使用HIVE插入一条数据
hive> insert into student(id, name) values('2', 'father');
在浏览器访问YARN的界面http://{$hadoop-master}:8088/cluster, $hadoop-master指HADOOP集群master节点所在的地址。
6 安装过程遇到的bug
SemanticException org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.RuntimeExcepti
原因:数据库问题
解决方法:进入HIVE的日志文件,可以查看具体是数据库哪里出了问题。
aaa@qq.com:~/app/hive/logs$ vim hive.log
7 参考文献
[1] Tom White, Hadoop权威指南 第4版. 2017, 清华大学出版社.