Hive 安装及配置
下载地址:
https://pan.baidu.com/s/1_7g8Bw85Nw03t40H67sLfQ
提取码: gj4n
把 apache-hive-1.2.1-bin.tar.gz 上传到 linux 的/opt/software 目录下
解压 apache-hive-1.2.1-bin.tar.gz 到/opt/module/目录下面
tar -zxvf apache-hive-1.2.1-bin.tar.gz -C /opt/module/
修改 apache-hive-1.2.1-bin.tar.gz 的名称为 hive-1.2.1
mv apache-hive-1.2.1-bin/ hive-1.2.1
复制conf 目录下的 hive-env.sh.template 名称为 hive-env.sh
cp hive-env.sh.template hive-env.sh
配置 hive-env.sh 启动文件
(a)配置 HADOOP_HOME 路径
(b)配置 HIVE_CONF_DIR 路径
export HADOOP_HOME=/opt/module/hadoop-2.7.2
export HIVE_CONF_DIR=/opt/module/hive-1.2.1/conf
配置已经完成, 在此处启动hadoop集群
hadoop102 hadoop-2.7.2]$ sbin/start-dfs.sh
hadoop103 hadoop-2.7.2]$ sbin/start-yarn.sh
Hive 常用命令
在hive 目录 /opt/module/hive-1.2.1
常用的命令
# 启动 hive
bin/hive
# 查看数据库
show databases;
# 打开默认数据库
hive> use default;
# 显示 default 数据库中的表
hive> show tables;
# 创建一张表
hive> create table student(id int, name string);
# 显示数据库中有几张表
hive> show tables;
# 查看表的结构
hive> desc student;
# 向表中插入数据
hive> insert into student values(1000,"ss");
# 查询表中数据
hive> select * from student;
# 退出 hive
hive> quit;
将本地文件导入 Hive 案例
注意以 tab 键间隔
# 常见一个tab键间隔的数据表
create table student(id int, name string) ROW FORMAT DELIMITED FIELDS TERMINATED
BY '\t';
# 导入本地数据
load data local inpath '/opt/module/data/student.txt' into table student;
# 导入hadoop根目录数据
load data inpath '/student.txt' into table student;
# 还可以通过 Hadoop上传数据
hadoop fs -put stu1.txt /user/hive/warehouse/student
安装MySql
Hive 元数据配置到 MySql
在/opt/software/mysql-libs 目录下解压 mysql-connector-java-5.1.27.tar.gz 驱动 包
tar -zxvf mysql-connector-java-5.1.27.tar.gz
拷贝 mysql-connector-java-5.1.27-bin.jar 到/opt/module/hive/lib/
cp /opt/software/mysql-libs/mysql-connector-java-5.1.27/mysql-c onnector-java-5.1.27-bin.jar/opt/module/hive-1.2.1/lib/
在/opt/module/hive/conf 目录下创建一个 hive-site.xml
touch hive-site.xml
vim hive-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://hadoop102: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>root</value>
<description>password to use against metastore database</description>
</property>
</configuration>
配置完毕后,如果启动 hive 异常,可以重新启动虚拟机。(重启后,别忘了启 动 hadoop 集群)
注意 如果启动hive报错如下 ,删除mysql 多余的用户