1.分布式SQL计算:
对数据进行统计分析, SQL是目前最为方便的编程工具.
2.hive:主要功能:
将 SQL语句翻译成MapReduce程序运行,提供用户分布式SQL计算能力
3.构建分布式SQL计算:(hive核心组件)
需要有: 一:元数据管理功能, 即:数据位置,数据结构,等对数据进行描述,进行记录
二:SQL到MapReduce转换功能:SQL解析器:功能: SQL分析,SQL到MapReduce程序的转换,提交MapReduce程序运行并收集执行结果.
4.组件
一:组件1: metastore(元数据存储)
Hive提供了Metastore服务进程提供元数据管理功能
二:组件2:Driver驱动程序(SQL解析器)
包括语法解析器、计划编译器、优化器,执行器
三:用户接口:
包括CLI 、JDBC/ODBC 、WebGUI 。其中,CLI(command line interface) 为shell命令 行 ;Hive中的Thrift服务器允许外部客户端通过网络与Hive进行交 互 ,类似于JDBC或ODBC协议。.WebGUI是通过浏览器访问Hive。
5.安装部署:
一:安装MySQL,可以看我的文章MySQL8.0安装部署
二: 启动MySQL服务:systemctl start mysqld
三:配置hadoop:
(1):配置core-site.xml文件:添加:
<property>
<name>hadoop.proxyuser.hadoop.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.hadoop.groups</name>
<value>*</value>
</property>
四:下载解压hive
hive安装包https://mirrors.aliyun.com/apache/hive/hive-4.0.1/?spm=a2c6h.25603864.0.0.16e229b19I1Iy0
下载这个
解压:命令: tar -zxvf /export/server/apache-hive-4.0.1-bin.tar.gz -C /export/server/
设置软连接:ln -s /export/server/apache-hive-4.0.1-bin /export/server/hive
五:提供MySQL driver包
将驱动包放入hive里的lib文件夹里
下载驱动包https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.30/
6.配置hive
一:在hive的conf文件夹新建hive-env.sh文件
命令: mv hive-env.sh.template hive-env.sh
加入:
export HADOOP_HOME=/export/server/hadoop
export HIVE_CONF_DIR=/export/server/hive/conf
export HIVE_AUX_JARS_PATH=/export/server/hive/lib
二: 在 Hive的conf目录内 ,新建hive-site.xml文件,填入以下内容:
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://wtk:3306/hive?createDatabaseIfNotExist=true&useSSL=false&useUnicode=true&allowPublicKeyRetrieval=TRUE&serverTimezone=UTC&characterEncoding=UTF-8</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.cj.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.server2.thrift.bind.host</name>
<value>wtk</value>
</property>
<property>
<name>hive.metastore.uris</name>
<value>thrift://wtk:9083</value>
</property>
<property>
<name>hive.metastore.event.db.notification.api.auth</name>
<value>false</value>
</property>
</configuration>
7.初始化元数据库
在 MySQL中新建数据库:hive
命令: CREATE DATABASE hive CHARSET UTF8;
执行元数据库初始化命令:一:cd /export/server/hive 二:bin/schematool -initSchema -dbType mysql -verbos
(删除MySQL里的hive数据库)
8.启动hive
先创建文件夹
命令: mkdir /export/server/hive/logs
后台启动: nohup bin/hive --service metastore >> logs/metastore.log 2>&1 &
有可能连接失败:
去 vi /export/server/hive/bin/hive ,把这玩意注释掉,md,解决了好久
这样就好了