伪分布式系列 - 第二篇 - hive-2.3.5环境搭建on hadoop3.2.0

基础以来环境搭建

Mysql搭建

  • 默认情况下, Hive的元数据保存在了内嵌的 derby 数据库里, 生产环境使用 MySQL 来存放 Hive 元数据,靠谱.
  • 参考:https://www.cnblogs.com/luohanguo/p/9045391.html
  • mysql登录:mysql -uroot -p
  • mysql开通权限
    • 指定某台机器权限:grant all privileges on . to [email protected] identified by ‘root’ with grant option;
    • 指定所有机器权限:grant all privileges on . to root@"%" identified by ‘root’ with grant option;

hive搭建

hive包下载

hive配置

配置hadoop和hive conf目录
export HADOOP_HOME=${HADOOP_HOME}
export HIVE_CONF_DIR=${HIVE_HOME}/conf
  • 日志设置
  • cp hive-log4j2.properties.template hive-log4j2.properties
  • vi hive-log4j2.properties
修改目录
property.hive.log.dir = xxx/logs   自行设置目录
  • cp hive-default.xml.template hive-site.xml
  • vim hive-site.xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!--Hive作业的HDFS根目录位置 -->
<property>
    <name>hive.exec.scratchdir</name>
    <value>/user/root/tmp</value>
</property>
<!--Hive作业的HDFS根目录创建写权限 -->
<property>
    <name>hive.scratch.dir.permission</name>
    <value>733</value>
</property>
<!--hdfs上hive元数据存放位置 -->
<property>
  <name>hive.metastore.warehouse.dir</name>
  <value>/user/root/warehouse</value>
</property>
<!--连接数据库地址,名称 ,默认hive自动创建数据库 -->
<property>
  <name>javax.jdo.option.ConnectionURL</name>
  <value>jdbc:mysql://localhost:3306/hivemeta?createDatabaseIfNotExist=true</value>
</property>
<!--连接数据库驱动 -->
<property>
  <name>javax.jdo.option.ConnectionDriverName</name>
  <value>com.mysql.jdbc.Driver</value>
</property>
<!--连接数据库用户名称 -->
<property>
  <name>javax.jdo.option.ConnectionUserName</name>
  <value>root</value>
</property>
<!--连接数据库用户密码 -->
<property>
  <name>javax.jdo.option.ConnectionPassword</name>
  <value>xxx</value>
</property>
<!--客户端显示当前查询表的头信息 -->
 <property>
  <name>hive.cli.print.header</name>
  <value>true</value>
</property>
<!--客户端显示当前数据库名称信息 -->
<property>
  <name>hive.cli.print.current.db</name>
  <value>true</value>
</property>
<property>
        <name>hive.default.fileformat</name>
        <value>Orc</value>
        <!-- <value>TextFile</value> -->
        <description>
          Expects one of [textfile, sequencefile, rcfile, orc].
          Default file format for CREATE TABLE statement. Users can explicitly override it by CREATE TABLE ... STORED AS [FORMAT]
        </description>
    </property>
    <!-- hive metastore配置 -->
    <property>
        <name>hive.metastore.uris</name>
        <value>thrift://localhost:9083</value>
        <description>Thrift URI for the remote metastore. Used by metastore client to connect to remote metastore.</description>
    </property>

</configuration>
                     
  • 如果使用不是mysql root账户,可做如下建库操作
mysql> CREATE DATABASE hive; 
mysql> USE hive; 
mysql> CREATE USER 'hive'@'localhost' IDENTIFIED BY 'hive';
mysql> GRANT ALL ON hive.* TO 'hive'@'localhost' IDENTIFIED BY 'hive'; 
mysql> GRANT ALL ON hive.* TO 'hive'@'%' IDENTIFIED BY 'hive'; 
mysql> FLUSH PRIVILEGES; 
mysql> quit;

hive测试

  • 配置hive home
# hive相关配置
export HIVE_HOME=/opt/bigdata/hive/default
export PATH=$PATH:$HIVE_HOME/bin
export CLASSPATH=$CLASSPATH:.:$HIVE_HOME/lib
export HIVE_CONF_DIR=${HIVE_HOME}/conf
  • 刷新环境变量:source /etc/profile
  • 启动metastore服务:
hive --service metastore &

后续还有spark安装,尽请期待!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章