基础以来环境搭建
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包下载
- 地址:http://mirror.bit.edu.cn/apache/hive/hive-2.3.5/ 选择apache-hive-2.3.5-bin.tar.gz下载即可
- 解压tar -zxvf apache-hive-2.3.5-bin.tar.gz -C ./
hive配置
- 进入hive文件夹
- cd conf/ 进入conf目录
- cp hive-env.sh.template hive-env.sh
- vim hive-env.sh
配置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 &
- 测试hive ,直接命令行输入hive
- 执行建表
- hive sql 的写法可以参考hive手册 https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL
后续还有spark安装,尽请期待!!!