一、安装Hadoop

Hive运行在Hadoop环境之上,因此需要hadoop环境,本次在安装在hadoop完全分布式模式的namennode节点上

请参考:hadoop搭建

二、安装Hive

  • 下载
[hadoop@hadoop01 /home/hadoop]$cd /app/
[hadoop@hadoop01 /app]$wget http://archive.apache.org/dist/hive/stable-2/apache-hive-2.3.4-bin.tar.gz
  • 解压安装
[hadoop@hadoop01 /app]$cd /app
[hadoop@hadoop01 /app]$ln -s apache-hive-2.3.4-bin hive
[hadoop@hadoop01 /app]$tar zxvf apache-hive-2.3.4-bin.tar.gz
  • 配置hadoop用户的hive环境变量
echo -e '##################HIVE环境变量配置#############\nexport HIVE_HOME=/app/hive\nexport PATH=$HIVE_HOME/bin:$PATH' >> ~/.bash_profile&& source ~/.bash_profile&&tail -3 ~/.bash_profile

三、配置hive

3.1 拷贝出hive-site.xml和hive-env.sh配置文件

[hadoop@hadoop01 /app/hive/conf]$cd /app/hive/conf/
[hadoop@hadoop01 /app/hive/conf]$cp hive-default.xml.template hive-site.xml
[hadoop@hadoop01 /app]$cp hive-env.sh.template hive-env.sh

3.2 修改hive-site.xm中系统无法识别的变量${system:java.io.tmpdir}${system:user.name}

  • 测试
[hadoop@hadoop01 /app/hive/conf]$sed -n 's#${system:java.io.tmpdir}#/app/hive.java.io.tmpdir#pg' hive-site.xml
<value>/app/hive.java.io.tmpdir/${system:user.name}</value>
<value>/app/hive.java.io.tmpdir/${hive.session.id}_resources</value>
<value>/app/hive.java.io.tmpdir/${system:user.name}</value>
<value>/app/hive.java.io.tmpdir/${system:user.name}/operation_logs</value>
[hadoop@hadoop01 /app/hive/conf]$sed -n 's#${system:user.name}#hadoop#pg' hive-site.xml
<value>/app/hive.java.io.tmpdir/hadoop</value>
<value>/app/hive.java.io.tmpdir/hadoop</value>
<value>/app/hive.java.io.tmpdir/hadoop/operation_logs</value>
  • 替换
[hadoop@hadoop01 /app/hive/conf]$sed -i 's#${system:java.io.tmpdir}#/app/hive.java.io.tmpdir#g' hive-site.xml
[hadoop@hadoop01 /app/hive/conf]$sed -i 's#${system:user.name}#hadoop#g' hive-site.xml
  • 检查
[hadoop@s101 /app/hive/conf]$grep 'hive.java.io.tmpdir' hive-site.xml
<value>/app/hive.java.io.tmpdir/${system:user.name}</value>
<value>/app/hive.java.io.tmpdir/${hive.session.id}_resources</value>
<value>/app/hive.java.io.tmpdir/${system:user.name}</value>
<value>/app/hive.java.io.tmpdir/${system:user.name}/operation_logs</value>
[hadoop@s101 /app/hive/conf]$grep 'hive.java.io.tmpdir/hadoop' hive-site.xml
<value>/app/hive.java.io.tmpdir/hadoop</value>
<value>/app/hive.java.io.tmpdir/hadoop</value>
<value>/app/hive.java.io.tmpdir/hadoop/operation_logs</value>
  • 创建出文件夹
[hadoop@hadoop01 /app]$mkdir -p /app/hive.java.io.tmpdir/hadoop

3.3 初始化默认derby数据库

[hadoop@hadoop01 /home/hadoop]$schematool -initSchema -dbType derby

.......
Metastore connection URL: jdbc:derby:;databaseName=metastore_db;create=true
Metastore Connection Driver : org.apache.derby.jdbc.EmbeddedDriver
Metastore connection User: APP
Starting metastore schema initialization to 2.3.0
Initialization script hive-schema-2.3.0.derby.sql
Initialization script completed
schemaTool completed

  • 初始化完成后,会在当前目录产生一个metastore_db文件夹,这就是数据库的名称。
    HDFS文件系统中也会产生相应的目录
[hadoop@hadoop01 /home/hadoop]$ll /home/hadoop/metastore_db/
[hadoop@hadoop01 /home/hadoop]$hdfs dfs -ls /tmp
Found 2 items
drwx-wx-wx - hadoop supergroup 0 2018-11-26 19:12 /tmp/hive

四、进入hive命令行

  • 检查hadoop集群是否启动,如果没有启动需要启动起来
[hadoop@hadoop01 /home/hadoop]start-dfs.sh
[hadoop@hadoop01 /home/hadoop]start-yarn.sh
  • 进入hive命令行
[hadoop@hadoop01 /home/hadoop]$hive
...
hive>

五、配置MySQL数据库存储元数据

5.1 修改URL、drivername、username、password等配置信息

[hadoop@hadoop01 /home/hadoop]$vim /app/hive/conf/hive-site.xml

<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://hadoop01:3306/hive</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hive</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>123456</value>
</property>

请参考:docker安装mysql

5.2将java的msyql驱动拷贝至apache-hive-2.3.4-bin/lib中

5.3初始化mysql数据

schematool -initSchema -dbType mysql

hive2.3.4安装的更多相关文章

  1. hive2.1.0安装

    下载hive(http://mirrors.cnnic.cn/apache/hive/) 或者 http://archive.apache.org/dist/hive/(hive历史版本) 在本地进行 ...

  2. hive2.3.2安装使用

    hive的安装简单一些,使用也比较简单,基础hadoop搭建好之后,只要初始化一些目录和数据库就好了 安装需要做几件事: 1.设立一个数据源作为元数据存储的地方,默认是derby内嵌数据库,不过不允许 ...

  3. Ubuntu16.04 和 hadoop2.7.3环境下 hive2.1.1安装部署

    参考文献: http://blog.csdn.NET/reesun/article/details/8556078 http://blog.csdn.Net/zhongguozhichuang/art ...

  4. Hive2.2.1安装使用

    解压缩hive安装包tar zxvf apache-hive-2.1.1-bin.tar.gz 安装mysqlsudo yum install mysql-server 安装 mysql connec ...

  5. mysql与hive2.1.1安装和配置

    1.mysql安装 这个安装很简单,是在线安装,只需要按顺序执行一下几个命令就ok了. (1)sudo apt-get install mysql-server (2)sudo apt-get ins ...

  6. Hive之一:hive2.1.1安装部署

    一.Hive 运行模式 与 Hadoop 类似,Hive 也有 3 种运行模式: 1. 内嵌模式 将元数据保存在本地内嵌的 Derby 数据库中,这是使用 Hive 最简单的方式.但是这种方式缺点也比 ...

  7. hive-2.3.3安装

    1.下载hive-2.3.3 下载地址 http://archive.apache.org/dist/hive/hive-2.3.3 解压,编辑/etc/profile添加HIVE_HOME,保存文件 ...

  8. hive2.1.1安装部署

    转至:https://i.cnblogs.com/EditPosts.aspx?opt=1 一.Hive 运行模式 与 Hadoop 类似,Hive 也有 3 种运行模式: 1. 内嵌模式 将元数据保 ...

  9. Hive-2.3.6 安装

    本安装依赖Haddop2.8安装 https://www.cnblogs.com/xibuhaohao/p/11772031.html 一.下载Hive与MySQL jdbc 连接驱动 apache- ...

随机推荐

  1. hdu 4471 区间条件统计 区间 不超过 x 的元素的个数

    题目传送门//res tp hdu 目的 对长度为n的区间,m次询问,每次提供一个区间两端点与一个值x,求区间内不超过x的元素个数 n 1e5 m 1e5 ai [1,1e9] (i∈[1,n]) 多 ...

  2. es reindex

    # 添加mapping: url -X POST 'http://127.0.0.1:9200/indexName/typeName/_mapping?pretty' -d '{ "type ...

  3. 并不对劲的bzoj4231: 回忆树

    题目大意 \(n\)个点的树,每条边上有一个小写字母. 操作:给定2个点\(u\),\(v\)(\(u\)可能等于\(v\))和一个非空字符串\(s\),问从\(u\)到\(v\)的简单路径上的所有边 ...

  4. Specialization For SCCM

    JUST A LINK FOR ALL SCCM QUESTION http://eskonr.com/

  5. c# winform 窗体间的传值

    1.父窗体传值给子窗体: 1) 父窗体: FrmXX frm = ,); frm.Owner = this; frm.ShowDialog(); 子窗体: ; public FrmXX(int ty, ...

  6. C#键盘事件

    一: protected override void OnKeyDown(KeyEventArgs e) { if (e.Key==Key.Enter) { sendAppToServer(); } ...

  7. MVC4中去掉浏览器生成的无关代码方法

    通过增加Web.Config配置,如: <add key="vs:EnableBrowserLink" value="false"/>可以去掉MVC ...

  8. C#异步编程学习笔记之-async和await(续)

    书接上文,本篇主要记录的内容要点:1.针对async和await在实际应用中的使用方式:2.异步方法返回值(有返回值和无返回值)的两种情况: 示例一(无返回值): using System; usin ...

  9. MVC中的Action过滤器

    Action过滤器可以用在调用动作方法之前或之后,执行一些特殊的逻辑,比如用登录验证: Action过滤器实现IActionFilter接口,该接口有两个方法: public interface IA ...

  10. JS基础_一元运算符

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...