1、解压Hive到安装目录
$ tar -zxf /opt/softwares/hive-0.13.1-cdh5.3.6.tar.gz -C ./
2、重命名配置文件
$ mv hive-default.xml.template hive-site.xml
$ mv hive-env.sh.template hive-env.sh
3、配置hive-env.sh,添加如下代码块
JAVA_HOME=/opt/modules/jdk1.8.0_121
HADOOP_HOME=/opt/modules/cdh/hadoop-2.5.0-cdh5.3.6/
export HIVE_CONF_DIR=/opt/modules/cdh/hive-0.13.1-cdh5.3.6/conf
4、安装Mysql
$ su - root
# yum -y install mysql mysql-server mysql-devel
# wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
# rpm -ivh mysql-community-release-el7-5.noarch.rpm
# yum -y install mysql-community-server
如果使用离线绿色版本(免安装版本)需要手动初始化Mysql数据库
5、配置Mysql
1)开启Mysql服务
# systemctl start mysqld.service
2)设置root用户密码
# mysqladmin -uroot password '123456'
3)为用户以及其他机器节点授权
grant all on *.* to root@'用户名' identified by '123456';
grant:授权
all:所有权限
*.*:数据库名称.表名称
root:操作mysql的用户
@'':主机名
密码:123456
6、配置hive-site.xml,修改如下代码块
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://hadoop-senior01.itguigu.com:3306/metastore?createDatabaseIfNotExist=true</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
<description>username to use against metastore database</description>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>123456</value>
<description>password to use against metastore database</description>
</property>
7、修改hive-log4j.properties
hive.log.dir=/opt/modules/cdh/hive-0.13.1-cdh5.3.6/logs
8、拷贝数据库驱动包到Hive根目录下的lib文件夹
$ cp -a mysql-connector-java-5.1.27-bin.jar /opt/modules/cdh/hive-0.13.1-cdh5.3.6/lib/
9、启动Hive
$ bin/hive
10、修改HDFS系统中关于Hive的一些目录权限
$ /opt/modules/cdh/hadoop-2.5.0-cdh5.3.6/bin/hadoop fs -chmod 777 /user/hive/warehouse
11、显示数据库名称以及字段名称,修改hive-site.xml对应的代码块
<!-- 是否在当前客户端中显示查询出来的数据的字段名称 -->
<property>
<name>hive.cli.print.header</name>
<value>true</value>
<description>Whether to print the names of the columns in query output.</description>
</property>
<!-- 是否在当前客户端中显示当前所在数据库名称 -->
<property>
<name>hive.cli.print.current.db</name>
<value>true</value>
<description>Whether to include the current database in the Hive prompt.</description>
</property>
12、导入数据
load data local inpath '文件路径' into table;