1.前言

说明:安装hive前提是要先安装hadoop集群,并且hive只需要再hadoop的namenode节点集群里安装即可(需要再所有namenode上安装),可以不在datanode节点的机器上安装。另外还需要说明的是,虽然修改配置文件并不需要你已经把hadoop跑起来,但是本文中用到了hadoop命令,在执行这些命令前你必须确保hadoop是在正常跑着的,而且启动hive的前提也是需要hadoop在正常跑着,所以建议你先将hadoop跑起来在按照本文操作。有关如何安装和启动hadoop集群。

hive 版本下载:hive-2.3.4/

下载 mysql-connector-java-5.1.46.jar

https://mvnrepository.com/artifact/mysql/mysql-connector-java/5.1.46

把包上传到/home/hadoop/hive

-rw-r--r--. 1 hadoop hadoop 232234292 Jan  6 06:49 apache-hive-2.3.4-bin.tar.gz
-rw-r--r--. 1 hadoop hadoop   1004838 Jan  6 06:49 mysql-connector-java-5.1.46.jar

解压:
tar -xvf apache-hive-2.3.4-bin.tar.gz

mv apache-hive-2.3.4-bin hive

然后把 mysql-connector-java-5.1.46.jar移动到hive2.3.4/lib下

把hive移动到/home/hadoop下

vi /etc/profile 添加下面
export HIVE_HOME=/home/hadoop/hive
export PATH=$PATH:$HIVE_HOME/bin
生效:
source  /etc/profile

修改hive配置文件
cp hive-env.sh.template hive-env.sh
cp hive-default.xml.template hive-site.xml
cp hive-log4j2.properties.template hive-log4j2.properties
cp hive-exec-log4j2.properties.template hive-exec-log4j2.properties

修改 hive-env.sh 文件添加:
export JAVA_HOME=/usr/local/jdk1.8
export HADOOP_HOME=/home/hadoop/hadoop-2.7.3
export HIVE_HOME=/home/hadoop/hive
export HIVE_CONF_DIR=/home/hadoop/hive/conf

在hdfs中创建目录,并授权,用于存储文件
启动hadoop
hdfs dfs -mkdir -p /user/hive/warehouse
hdfs dfs -mkdir -p /user/hive/tmp
hdfs dfs -mkdir -p /user/hive/log
hdfs dfs -chmod -R 777 /user/hive/warehouse
hdfs dfs -chmod -R 777 /user/hive/tmp
hdfs dfs -chmod -R 777 /user/hive/log

验证:
[hadoop@master conf]$ hdfs dfs -ls /user/hive
Found 3 items
drwxrwxrwx   - hadoop supergroup          0 2019-01-06 07:09 /user/hive/log
drwxrwxrwx   - hadoop supergroup          0 2019-01-06 07:09 /user/hive/tmp
drwxrwxrwx   - hadoop supergroup          0 2019-01-06 07:09 /user/hive/warehouse

修改hive-site.xml

  1. <property>
  2. <name>hive.exec.scratchdir</name>
  3. <value>/user/hive/tmp</value>
  4. </property>
  1. <property>
  2. <name>hive.metastore.warehouse.dir</name>
  3. <value>/user/hive/warehouse</value>
  4. </property>
  1. <property>
  2. <name>hive.querylog.location</name>
  3. <value>/user/hive/log</value>
  4. </property>
  1. <property>
  2. <name>javax.jdo.option.ConnectionURL</name>
  3. <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true&amp;characterEncoding=UTF-8&amp;useSSL=false</value>
  4. </property>
  1. <property>
  2. <name>javax.jdo.option.ConnectionDriverName</name>
  3. <value>com.mysql.jdbc.Driver</value>
  4. </property>
  1. <property>
  2. <name>javax.jdo.option.ConnectionUserName</name>
  3. <value>root</value>
  4. </property>
  1. <property>
  2. <name>javax.jdo.option.ConnectionPassword</name>
  3. <value>mysql</value> --mysql 的密码
  4. </property>

创建 tmp 文件夹 ,并修改权限
mkdir -p /home/hadoop/apps/hive/tmp
chmod -R 777 /home/hadoop/apps/hive/tmp

将hive-site.xml文件中的${system:java.io.tmpdir}替换为hive的临时目录 /home/hadoop/apps/hive/tmp
把 {system:user.name} 改成 {user.name}

初始化:

  1. [hadoop@master conf]$ schematool -dbType mysql -initSchema
  2. SLF4J: Class path contains multiple SLF4J bindings.
  3. SLF4J: Found binding in [jar:file:/home/hadoop/hive/lib/log4j-slf4j-impl-2.6..jar!/org/slf4j/impl/StaticLoggerBinder.class]
  4. SLF4J: Found binding in [jar:file:/home/hadoop/hadoop-2.7./share/hadoop/common/lib/slf4j-log4j12-1.7..jar!/org/slf4j/impl/StaticLoggerBinder.class]
  5. SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
  6. SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]
  7. Metastore connection URL: jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true&characterEncoding=UTF-8&useSSL=false
  8. Metastore Connection Driver : com.mysql.jdbc.Driver
  9. Metastore connection User: root

原因是jar重复导致,删除一个jar包

[hadoop@master tmp]$ cd /home/hadoop/hive/lib/
[hadoop@master lib]$ ll log4j-slf4j-impl-2.6.2.jar
-rw-r--r--. 1 hadoop hadoop 22927 Jan  6 06:57 log4j-slf4j-impl-2.6.2.jar
[hadoop@master lib]$ rm -rf log4j-slf4j-impl-2.6.2.jar

[hadoop@master conf]$ schematool -dbType mysql -initSchema
Metastore connection URL:     jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true&characterEncoding=UTF-8&useSSL=false
Metastore Connection Driver :     com.mysql.jdbc.Driver
Metastore connection User:     root
Starting metastore schema initialization to 2.3.0
Initialization script hive-schema-2.3.0.mysql.sql
Initialization script completed
schemaTool completed

启动hive方式一:

  1. [hadoop@master conf]$ hive
  2. which: no hbase in (/usr/local/jdk1./bin:/usr/local/jdk1./jre/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/hadoop/hive/bin:/home/hadoop/hadoop-2.7./sbin:/home/hadoop/hadoop-2.7./bin)
  3.  
  4. Logging initialized using configuration in file:/home/hadoop/hive/conf/hive-log4j2.properties Async: true
  5. Hive-on-MR is deprecated in Hive and may not be available in the future versions. Consider using a different execution engine (i.e. spark, tez) or using Hive .X releases.
  6. hive> show database;

启动方式二:

使用 beeline
必须先对hadoop的core-site.xml进行配置,在文件里面添加并保存

<property>
  <name>hadoop.proxyuser.hadoop.groups</name>
  <value>*</value>
</property>
<property>
  <name>hadoop.proxyuser.hadoop.hosts</name>
  <value>*</value>
</property>
先启动 hiveserver2

  1. [hadoop@master conf]$ hiveserver2
  2. which: no hbase in (/usr/local/jdk1./bin:/usr/local/jdk1./jre/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/hadoop/hive/bin:/home/hadoop/hadoop-2.7./sbin:/home/hadoop/hadoop-2.7./bin)
  3. -- ::: Starting HiveServer2

在启动

  1. [hadoop@master hadoop]$ beeline
  2. Beeline version 2.3. by Apache Hive
  3. beeline> !connect jdbc:hive2://master:10000
  4. Connecting to jdbc:hive2://master:10000
  5. Enter username for jdbc:hive2://master:10000: hadoop
  6. Enter password for jdbc:hive2://master:10000: ******
  7. Connected to: Apache Hive (version 2.3.)
  8. Driver: Hive JDBC (version 2.3.)
  9. Transaction isolation: TRANSACTION_REPEATABLE_READ
  10. : jdbc:hive2://master:10000> show databases;
  11. +----------------+
  12. | database_name |
  13. +----------------+
  14. | default |
  15. +----------------+
  16. row selected (1.196 seconds)
  17. : jdbc:hive2://master:10000>

启动方式三 :Web UI

一、页面配置

[hadoop@master conf]$ vi hive-site.xml

  1. <property>
  2. <name>hive.server2.webui.host</name>
  3. <value>192.168.1.30</value> --主机IP
  4. <description>The host address the HiveServer2 WebUI will listen on</description>
  5. </property>
  6. <property>
  7. <name>hive.server2.webui.port</name>
  8. <value></value>
  9. <description>The port the HiveServer2 WebUI will listen on. This can beset to or a negative integer to disable the web UI</description>
  10. </property>

二、切记,在修改完hive的hive-site.xml的配置之后,一定要重新启动HiveServer2服务

[hadoop@master conf]$ hive --service hiveserver2 &
[1] 3731
[hadoop@master conf]$ which: no hbase in (/usr/local/jdk1.8/bin:/usr/local/jdk1.8/jre/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/hadoop/hive/bin:/home/hadoop/hadoop-2.7.3/sbin:/home/hadoop/hadoop-2.7.3/bin)
2019-01-08 10:38:40: Starting HiveServer2

。。。。。。

三、在浏览器前台输入网址:http://192.168.1.30:10002/

  1. [hadoop@master bin]$ beeline
  2. Beeline version 2.3. by Apache Hive
  3. beeline> !connect jdbc:hive2://master:10000 hadoop hadoop org.apache.hive.jdbc.HiveDriver
  4. Connecting to jdbc:hive2://master:10000
  5. Connected to: Apache Hive (version 2.3.)
  6. Driver: Hive JDBC (version 2.3.)
  7. Transaction isolation: TRANSACTION_REPEATABLE_READ
  8. : jdbc:hive2://master:10000> show databases;
  9. OK
  10. +----------------+
  11. | database_name |
  12. +----------------+
  13. | db_hive |
  14. | default |
  15. +----------------+
  16. rows selected (1.555 seconds)
  17. : jdbc:hive2://master:10000> use db_hive;
  18. OK
  19. No rows affected (0.153 seconds)
  20. : jdbc:hive2://master:10000> show tables;
  21. OK
  22. +-----------+
  23. | tab_name |
  24. +-----------+
  25. | u2 |
  26. | u4 |
  27. +-----------+
  28. rows selected (0.159 seconds)
  29. : jdbc:hive2://master:10000> select * from u2;
  30. OK
  31. +--------+----------+---------+-----------+---------+
  32. | u2.id | u2.name | u2.age | u2.month | u2.day |
  33. +--------+----------+---------+-----------+---------+
  34. | | xm1 | | | |
  35. | | xm2 | | | |
  36. | | xm3 | | | |
  37. | | xh4 | | | |
  38. | | xh5 | | | |
  39. | | xh6 | | | |
  40. | | xh7 | | | |
  41. | | xh8 | | | |
  42. | | xh9 | | | |
  43. +--------+----------+---------+-----------+---------+
  44. rows selected (2.672 seconds)
  45. : jdbc:hive2://master:10000>
  46. [hadoop@master bin]$ beeline -u jdbc:hive2://master:10000/default
  47. Connecting to jdbc:hive2://master:10000/default
  48. Connected to: Apache Hive (version 2.3.)
  49. Driver: Hive JDBC (version 2.3.)
  50. Transaction isolation: TRANSACTION_REPEATABLE_READ
  51. Beeline version 2.3. by Apache Hive
  52. : jdbc:hive2://master:10000/default> show databases;
  53. OK
  54. +----------------+
  55. | database_name |
  56. +----------------+
  57. | db_hive |
  58. | default |
  59. +----------------+
  60. rows selected (0.208 seconds)

完。。。

hadoop上hive的安装的更多相关文章

  1. Hadoop上 Hive 操作

    数据dept表的准备: --创建dept表 CREATE TABLE dept( deptno int, dname string, loc string) ROW FORMAT DELIMITED ...

  2. Hadoop 上Hive 的操作

    数据dept表的准备: --创建dept表 CREATE TABLE dept( deptno int, dname string, loc string) ROW FORMAT DELIMITED ...

  3. 《Programming Hive》读书笔记(一)Hadoop和hive环境搭建

    <Programming Hive>读书笔记(一)Hadoop和Hive环境搭建             先把主要的技术和工具学好,才干更高效地思考和工作.   Chapter 1.Int ...

  4. hadoop/hbase/hive单机扩增slave

    原来只有一台机器,hadoop,hbase,hive都安装在一台机器上,现在又申请到一台机器,领导说做成主备, 要重新配置吗?还是原来的不动,把新增的机器做成slave,原来的当作master?网上找 ...

  5. Hadoop之hive安装过程以及运行常见问题

    Hive简介 1.数据仓库工具 2.支持一种与Sql类似的语言HiveQL 3.可以看成是从Sql到MapReduce的映射器 4.提供shall.Jdbc/odbc.Thrift.Web等接口 Hi ...

  6. Hadoop学习(7)-hive的安装和命令行使用和java操作

    Hive的用处,就是把hdfs里的文件建立映射转化成数据库的表 但hive里的sql语句都是转化成了mapruduce来对hdfs里的数据进行处理 ,并不是真正的在数据库里进行了操作. 而那些表的定义 ...

  7. Mac上Hive安装配置

    Mac上Hive安装配置 1.安装 下载hive,地址:http://mirror.bit.edu.cn/apache/hive/ 之前我配置了集群,tjt01.tjt02.tjt03,这里hive安 ...

  8. 【Hadoop离线基础总结】Hive的安装部署以及使用方式

    Hive的安装部署以及使用方式 安装部署 Derby版hive直接使用 cd /export/softwares 将上传的hive软件包解压:tar -zxvf hive-1.1.0-cdh5.14. ...

  9. 1. 安装虚拟机,Hadoop和Hive

    由于想自学下Hive,所以前段时间在个人电脑上安装了虚拟机,并安装上Hadoop和Hive.接下我就分享下我如何安装Hive的.步骤如下: 安装虚拟机 安装Hadoop 安装Java 安装Hive 我 ...

随机推荐

  1. is幻梦 Linux命令之文件和目录操作命令(二)——查看文件内容cat、more、less、tail、head

    一.cat命令 用法:cat [选项][文件] 1.主要用来查看文件内容 2.-n 在文件内容的每一行上加上行号 3.再不加任何选项和文件名的时候,将标准输入的内容复制到标准输出 这个时候一般用于重定 ...

  2. LC 470. Implement Rand10() Using Rand7()

    Given a function rand7 which generates a uniform random integer in the range 1 to 7, write a functio ...

  3. Mysql密码忘记,修改密码方法

    1.set password for ‘root’@’localhost’ = password(‘czllss’); -- czllss为新密码

  4. 手动集成 Ironic 裸金属管理服务(Rocky)

    目录 文章目录 目录 前文列表 横向扩展裸金属管理服务节点 配置基础设施 安装 Ironic(BareMetal) 安装 Nova Compute(BareMetal) 配置 Neutron 提供 P ...

  5. js 中实现 汉字按拼音排序

    let arr = ["贵州省", "江苏省", "江西省", "浙江省", "四川省", &quo ...

  6. 进程,虚拟环境,Mysql主从

    进程 查看进程 ps(类似windows任务管理器) man 1 ps # 查看命令文档 ps[options] 1 UNIX options, which may be grouped and mu ...

  7. centos 7.3镜像制作

    1.在KVM环境上准备虚拟机磁盘 [root@localhost ~]# qemu-img create -f qcow2 -o size=50G /opt/CentOS-7-1511-x86_64_ ...

  8. office web apps安装部署,配置https,负载均衡(七)配置过程中遇到的问题详细解答

    该篇文章,是这个系列文章的最后一篇文章,该篇文章将详细解答owa在安装过程中常见的问题. 如果您没有搭建好office web apps,您可以查看前面的一系列文章,查看具体步骤: office we ...

  9. Django模板系统-内置和自定义Filters

    django模板中最常用的两种特殊符号是 {{ }} 用来表示变量和 {% %} 用来表示逻辑相关的操作 变量 {{ 变量名 }} ,由字母数字下划线组成而.在模板语言中有特殊含义,用来获取对象相应的 ...

  10. 【miscellaneous】最新HEVC/H.265 4K视频,显卡解码测试

    转载自:http://bbs.zol.com.cn/diybbs/d34441_76103.html 4K这个概念也在最近几年开始流行了起来,无论是4K显示器.4K电视盒子,还是4K游戏对硬件的要求也 ...