文章目录
Hive数据仓库——环境搭建及简单使用
Hive的安装和使用
我们Hadoop框架版本的约定
JAVA_HOME=/usr/local/soft/jdk1.8.0_171
HADOOP_HOME=/usr/local/soft/hadoop-2.7.6
HIVE_HOME=/usr/local/soft/hive-1.2.1
一、Linux的JDK的安装 (已经安装过JDK可以跳过此步骤)
具体JDK安装步骤请点击下方靓仔原创博客链接:
Hadoop环境搭建之克隆前的准备及Linux的JDK的安装
二、离线安装MySQL(已经安装过MySQL可以跳过此步骤)
具体MySQL安装步骤请点击下方靓仔原创博客链接:
大数据之在Liunx中安装MySQL
三、搭建Hadoop框架(分布式版本)
具体Hadoop安装步骤请点击下方靓仔原创博客链接:
Hadoop搭建(分布式版本)
四、搭建Zookeeper集群 (可省略)
具体Zookeeper安装步骤请点击下方靓仔原创博客链接:
Hadoop框架Zookeeper简介、搭建及简单使用
五、安装Hive数据仓库
前提是:mysql和hadoop必须已经成功启动了
可以选择将Zookeeper集群停掉不影响 zkServer.sh stop
1、验证MySQL和Hadoop是否安装成功
MySQL和Hadoop能正常相应就没问题
2、在MySQL中创建hive元数据库
警告!必须把编码设置为latin1编码,否则安装会造成版本上的冲突
mysql -uroot -p123456
create database hive character set"latin1";
show databases;exit
3、上传Hive的安装包和JDBC驱动包
4、解压Hive的安装包并修改目录名称
#解压Hive的安装包tar -zxvf apache-hive-1.2.1-bin.tar.gz -C /usr/local/soft/
#切换到soft目录cd /usr/local/soft/
#修改目录名称mv apache-hive-1.2.1-bin/ hive-1.2.1
- Hive的目录结构如下
5、配置Hive环境变量
#复制当前路径pwd
/usr/local/soft/hive-1.2.1
#在文件末尾新增HIVE_HOME=/usr/local/soft/hive-1.2.1
$HIVE_HOME/bin:
#保存退出
:wq
#刷新环境变量source /etc/profile
#输入hi按TAB键可以补出hive命令就配置成功了[root@master hive-1.2.1]# hihistory hive hive-config.sh hiveserver2
6、进入hive-1.2.1/conf目录,复制备份文件并重命名
#进入hive-1.2.1/conf目录cd conf/
#复制备份文件并重命名cp hive-env.sh.template hive-env.sh
cp hive-default.xml.template hive-site.xml
7、配置hive的配置文件
hive的配置文件比较大,在linux中查找某项配置比较难,可以先将hive-site.xml文件复制到windows用文本编辑打开,然后ctrl+f查关键字修改,修改之后再放回到hive 的conf目录。
7.1、修改hive-env.sh
#修改hive-env.shvim hive-env.sh
#再最后一行加入三行内容(大家根据自己的目录和实际情况来添加)HADOOP_HOME=/usr/local/soft/hadoop-2.7.6
JAVA_HOME=/usr/local/soft/jdk1.8.0_171
HIVE_HOME=/usr/local/soft/hive-1.2.1
7.2、修改hive-site.xml
通过/对要修改的地方进行查找修改
<property><name>javax.jdo.option.ConnectionURL</name><value>jdbc:mysql://master:3306/hive?useSSL=false</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>123456</value></property><property><name>hive.querylog.location</name><value>/usr/local/soft/hive-1.2.1/tmp</value></property><property><name>hive.exec.local.scratchdir</name><value>/usr/local/soft/hive-1.2.1/tmp</value></property><property><name>hive.downloaded.resources.dir</name><value>/usr/local/soft/hive-1.2.1/tmp</value></property>
7.3、拷贝mysql驱动到$HIVE_HOME/lib目录下
#切换到hive-1.2.1目录cd /usr/local/soft/hive-1.2.1/
#拷贝mysql驱动到$HIVE_HOME/lib目录下cp /usr/local/moudle/mysql-connector-java-5.1.49.jar ./lib/
#打开lib目录查看cd lib/
ls
7.4、将hive的jline-2.12.jar拷贝到hadoop对应目录下
#hive的 jline-2.12.jar 位置在
/usr/local/soft/hive-1.2.1/lib/jline-2.12.jar
#hive的jline-2.12.jar拷贝到hadoop下cp /usr/local/soft/hive-1.2.1/lib/jline-2.12.jar /usr/local/soft/hadoop-2.7.6/share/hadoop/yarn/lib/
8、启动Hive
#第一次启动的时候比较慢
hive
#退出
exit;
quit;
9、修改mysql元数据库hive,让其hive支持utf-8编码以支持中文
#登录mysq
mysql -u root -p123456
#切换到hive数据库
use hive;#1、修改字段注释字符集
alter table COLUMNS_V2 modify column COMMENT varchar(256) character set utf8;#2、修改表注释字符集
alter table TABLE_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;#3、修改分区表参数,以支持分区键能够用中文表示
alter table PARTITION_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;
alter table PARTITION_KEYS modify column PKEY_COMMENT varchar(4000) character set utf8;#4、修改索引注解(可选),没有建立索引执行这个命令会报错
alter table INDEX_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;
六、测试hive
1、启动hive
hive
2、在hive中创建test1数据库
create database test1;
3、切换test1数据库
use test1;
4、创建students表
create table students(id bigint comment '学生id',
name string comment '学生姓名',
age int comment '学生年龄',
gender string comment '学生性别',
clazz string comment '学生班级') comment '学生信息表'
ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';
5、创建score表
create table score(id bigint comment '学生id',
score_id bigint comment '科目id',
score int comment '学生成绩') comment '学生成绩表'
ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';
6、查看students表信息
desc students;
7、查看score表信息
desc score;
8、利用可视化工具Navicat Premium 查看
- 在COLUMNS_V2中可以查看到我们的表
9、这个时候我们访问HDFS的Web UI (master:50070)
这个时候只有表并没有数据
10、上传数据
1、在soft目录下新建data目录用来存放数据
#创建目录mkdir data
cd data/
2、安装lrzsz 方便数据直接拖放到shell中
#安装lrzsz
yum install lrzsz
3、上传student.txt数据到hdfs
hdfs dfs -put students.txt /user/hive/warehouse/test1.db/students/
4、上传score.txt数据到hdfs
hdfs dfs -put score.txt /user/hive/warehouse/test1.db/score
5、查询students表数据
#记住用select * 查询数据的时候记得加上 limit (数据太大)
select * from students limit 10;
6、查询score表数据
#记住用select * 查询数据的时候记得加上 limit (数据太大)
select * from score limit 10;
至此,在Hadoop上搭建Hive仓库就完成了
到底啦!关注靓仔欣赏靓仔更多的作品q(≧▽≦q)
版权归原作者 liangzai2048 所有, 如有侵权,请联系我们删除。