Ubuntu14上搭建HIVE-1.1.0-CDH5.9.3

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就可以。

#解压

hadoop@master:~$ tar -zxvf hive-1.1.0-cdh5.9.3.tar.gz  -C app/
hadoop@master:~$mv app/ hive-1.1.0-cdh5.9.3 hive

#修改配置文件hive-env.sh

hadoop@master:~$ cd app/hive/conf/
hadoop@master:~/app/hive/conf$ mv hive-env.sh.template hive-env.sh
hadoop@master:~/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>

#修改日志文件

hadoop@master:~/app/hive/conf$mkdir /home/hadoop/app/hive/logs
hadoop@master:~/app/hive/conf$mv hive-log4j.properties.template hive-log4j.properties
hadoop@master:~/app/hive/conf$vim hive-log4j.properties
修改日志地址:
hive.log.dir=/home/hadoop/app/hive/logs

#添加mysql的驱动包
#将mysql的jar包放到hive安装包的lib下面

hadoop@master:~$ tar -zxvf mysql-connector-java-5.1.27.tar.gz
hadoop@master:~$ mv mysql-connector-java-5.1.27/mysql-connector-java-5.1.27-bin.jar  app/hive/lib/

4 启动Hive

hadoop@master:~/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节点所在的地址。

yARN的管理界面

6 安装过程遇到的bug

SemanticException org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.RuntimeExcepti

原因:数据库问题
解决方法:进入HIVE的日志文件,可以查看具体是数据库哪里出了问题。

 hadoop@master:~/app/hive/logs$ vim hive.log

7 参考文献

[1] Tom White, Hadoop权威指南 第4版. 2017, 清华大学出版社.

原创文章 32 获赞 12 访问量 5万+

猜你喜欢

转载自blog.csdn.net/qq_35469756/article/details/104305560
今日推荐