今天小编给大家分享的是现今甲骨文Oracle公司高级技术总监的课堂笔记:大数据Hadoop生态Hive数据仓库平台管理操作及项目实战,这个课堂笔记需要有一些基础。
大数据、Python学习资料分享群:596471005,我自己整理的一份最新的适合2018年学习的大数据开发和零基础入门教程已经上传
到群文件。欢迎初学和进阶中的小伙伴。也可以关注我。
最重要的是学习:思想、原理和体系结构
1、HDFS
2、MapReduce
=========================================
一、Hadoop的生态体系结构
1、Hadoop的组件有哪些?关系?
二、什么是Hive?Hive的体系架构
1、什么是Hive?(蜂巢)
(1)是基于HDFS之上的数据仓库(数据仓库就是一个数据库,一般只做select)
(2)翻译器:SQL语句 ---> Hive 引擎 ---> MapReduce任务
注意:Hive早期:使用MapReduce作为执行引擎
Hive 2.x以后,推荐Spark作为执行引擎
2、Hive的体系结构
3、Hive和HDFS的对应关系
Hive HDFS
表 -------> 目录
数据 -----> 文件
分区 -----> 目录
三、项目实战:安装和配置Hive
从零开始安装Hive
准备工作:稍微快点
1、安装Linux
2、配置Linux
(1)关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
(2)设置主机名 vi /etc/hosts
192.168.157.111 mydemo111
(3)配置免密码登录(原理简介:不对称加密)
ssh-keygen -t rsa
ssh-copy-id -i .ssh/id_rsa.pub root@mydemo111
3、安装JDK: 1.8版本
解压:tar -zxvf jdk-8u144-linux-x64.tar.gz -C ~/training/
设置环境变量: JAVA_HOME
vi ~/.bash_profile
JAVA_HOME=/root/training/jdk1.8.0_144
export JAVA_HOME
PATH=$JAVA_HOME/bin:$PATH
export PATH
生效环境变量:source ~/.bash_profile
步骤:
1、安装Hadoop环境(伪分布环境:一台)
(1) 解压 tar -zxvf hadoop-2.7.3.tar.gz -C ~/training/
(2) 设置环境变量 vi ~/.bash_profile
HADOOP_HOME=/root/training/hadoop-2.7.3
export HADOOP_HOME
PATH=$HADOOP_HOME/sbin:$HADOOP_HOME/bin:$PATH
export PATH
配置文件的目录:/root/training/hadoop-2.7.3/etc/hadoop
(3)hadoop-env.sh
export JAVA_HOME=/root/training/jdk1.8.0_144
(4) hdfs-site.xml
<!--冗余度-->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<!--权限检查-->
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
(5) core-site.xml
<!--NameNode的地址-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://mydemo111:9000</value>
</property>
<!--HDFS数据保存目录-->
<property>
<name>hadoop.tmp.dir</name>
<value>/root/training/hadoop-2.7.3/tmp</value>
</property>
(6) mapred-site.xml
<!--MR运行的框架是Yarn-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
(7) yarn-site.xml
<!--ResourceManager的地址-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>mydemo111</value>
</property>
<!--MR执行的方式是Shuffle-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
(8) 格式化HDFS
hdfs namenode -format
日志:
18/03/29 05:20:39 INFO common.Storage: Storage directory /root/training/hadoop-2.7.3/tmp/dfs/name has been successfully formatted.
(9) 启动: start-all.sh
2、安装和配置MySQL数据库:保存Hive的元数据
yum remove mysql-libs
rpm -ivh mysql-community-common-5.7.19-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.19-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.19-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.19-1.el7.x86_64.rpm
3、安装和配置Hive
(1) 解压:tar -zxvf apache-hive-2.3.0-bin.tar.gz -C ~/training/
(2) 设置环境变量 vi ~/.bash_profile
HIVE_HOME=/root/training/apache-hive-2.3.0-bin
export HIVE_HOME
PATH=$HIVE_HOME/bin:$PATH
export PATH
(3) 修改hive的配置文件 conf/hive-site.xml 需要自己创建
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost: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>hiveowner</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>Welcome_1</value>
</property>
</configuration>
(4) 初始化MetaStore:
schematool -dbType mysql -initSchema