zoukankan      html  css  js  c++  java
  • hive基本配置

    HIve的安装与配置 

     

    本文中hive版本2.3.2,默认环境中jdk已经正常安装,hadoop集群正常启动

    1.1下载hive安装文件

    可以从Apache官网下载安装文件,即http://mirror.bit.edu.cn/apache/hive/

    由于hive是默认将元数据保存在本地内置的Derby数据库中,Derby是单用户模式,不支持会话连接(具体体现:当你进行切换目录启动的时候需要重新元数据库的初始化工作,原来的目录下的初始化的元数据访问不了),本人选择MySQL作为元数据存储。个人百度网盘 内附hive2.3.2安装包和源码以及MySQL驱动包链接:https://pan.baidu.com/s/1uKzgIBSjnL_ZPGEL-VhpVA 密码:kdci

    本文使用hive版本2.3.2,

    解压安装文件到指定的文件夹 tar -xvzf apache-hive-2.3.2-bin.tar.gz  -C  /home/hadoop/apps/

    2.1配置相关文件和环境变量

    配置hive环境变量 vi /etc/profile

    配置完成可输入hive  --version 查看版本

    修改hive配置文件 /home/hadoop/apps/apache-hive-2.3.2-bin/conf 路径下

    初次解压发现hive-site.xml配置文件并没有,此时需要我们自己创建并配置hive-site.xml

    hive-site.xml

    <configuration>
                        <property>
                        <!-- 元数据库的链接地址 mysql -->
                        <name>javax.jdo.option.ConnectionURL</name>  
                        <value>jdbc:mysql://localhost:3306/hivedb?createDatabaseIfNotExist=true</value>
                        <description>JDBC connect string for a JDBC metastore</description>
                        <!-- 如果 mysql 和 hive 在同一个服务器节点,那么请更改 hadoop02 为 localhost -->
                        </property>
                        <property>
                        <!-- 指定mysql驱动 -->
                        <name>javax.jdo.option.ConnectionDriverName</name>
                        <value>com.mysql.jdbc.Driver</value>
                        <description>Driver class name for a JDBC metastore</description>
                        </property>
                        <property>
                        <!-- 指定mysql用户名 -->
                        <name>javax.jdo.option.ConnectionUserName</name>
                        <value>root</value>
                        <description>username to use against metastore database</description>
                        </property>
                        <property>
                        <!-- 指定mysql密码 请输入自己的MySQL连接密码 -->
                        <name>javax.jdo.option.ConnectionPassword</name>
                        <value>password</value>
                        <description>password to use against metastore database</description>
                        </property>

    <property>

    <name>hive.metastore.warehouse.dir</name>

    <value>/user/hive/warehouse</value>

    <description>hive default warehouse, if nessecory, change it</description>

    </property> 
                        </configuration>

     

    hive-site.xml详细图解:

     将MySQL的驱动添加到hive安装目录的lib下  mysql-connector-java-5.1.40-bin (ps:个人网盘上有,链接在上面,也可自行去下载)

    元数据库的初始化    schematool -dbType mysql -initSchema  (ps:也可切换到hive的bin目录下 ./schematool -dbType mysql -initSchema)

     

    3.1hive的启动 

    运行hive之前要确保hadoop集群启动和MySQL服务启动正常开启的情况下  

    3.1hive的启动 

    运行hive之前要确保hadoop集群启动和MySQL服务启动正常开启的情况下  

    3.1.1本地hive启动 CLI方式(若hive当前节点使用,此启动方式即可)

    由于配置过环境变量,可以直接在命令行中输入hive  本地启动命令 hive

     3.1.2 HiveServer2/beeline 客户端方式启动

    由于hive启动,hadoop集群中其他节点是无法访问的,只能在hive安装的当前节点使用,若需要在其他节点操作hive,则可以用HiveServer2/beeline方式,下面就简单介绍下 HiveServer2/beeline

    第一:修改 hadoop 集群的 hdfs-site.xml 配置文件:加入一条配置信息,表示启用 webhdfs 

    第二:修改 hadoop 集群的 core-site.xml 配置文件:加入两条配置信息:表示设置 hadoop 的代理用户 

    配置解析: hadoop.proxyuser.hadoop.hosts 配置成*的意义,表示任意节点使用 hadoop 集群的代理用户 hadoop 都能访问 hdfs 集群,hadoop.proxyuser.hadoop.groups 表示代理用户的组所属

    第一步:先启动 hiveserver2 服务

    前台启动方式:hiveserver2

    后台启动方式:

    nohup hiveserver2 1>/home/hadoop/hiveserver.log 2>/home/hadoop/hiveserver.err &

    或者:nohup hiveserver2 1>/dev/null 2>/dev/null &

    或者:nohup hiveserver2 >/dev/null 2>&1 &

    以上 3 个命令是等价的,第一个表示记录日志,第二个和第三个表示不记录日志 (ps:注意符号&是结尾符,一定要带上,本人刚开始操作的时候经常忘记0.0,提醒一下)

    命令中的 1 和 2 的意义分别是: 1:表示标准日志输出 2:表示错误日志输出 如果我没有配置日志的输出路径,日志会生成在当前工作目录,默认的日志名称叫做: nohup.xxx

    第二步:然后启动 beeline 客户端去连接:

    beeline -u jdbc:hive2://hadoop01:10000 -n hadoop    -u : 指定元数据库的链接信息 -n : 指定用户名和密码

    不过我比较习惯常用的是先执行 beeline 然后按图所示输入:!connect jdbc:hive2://hadoop01:10000 按回车,然后输入用户名,这个 用户名就是安装 hadoop 集群的用户名,情形如下图

    接下来便可以做 hive 操作

    还有第三种hive启动方式 Web UI ,配置相对繁琐,本文不做过多介绍,有兴趣的朋友可以去了解一下。

    4.1测试hive

    这个部分比较简单就不截图了,附上一组小命令,自行检测。 

    show databases;
                    create database test_work; //新建一个测试库
                    use test_work;
                    craete table course(id string);
                    insert into table course values("qq");
                    exit;

    以上正常执行,表明hive已经安装和配置完成。可去hdfs图形界面上查看建的表,访问xxxx.50070

    (ps:mysql上只存储hive的元数据,而原始数据是存储在hdfs上的,默认存储路径上面配置hive-site.xml时已有说明,如果没有指定hive.metastore.warehouse.dir属性,则默认值是/user/hive/warehouse)

  • 相关阅读:
    gdb php
    redis启动过程
    php protobuf 安装使用2
    php protobuf 安装使用
    服务治理
    base64编码
    redis-quicklist
    redis-ziplist
    redis-zset数据结构探索
    su root 出现 su: Authentication failure
  • 原文地址:https://www.cnblogs.com/zqzhen/p/12894328.html
Copyright © 2011-2022 走看看