基于Hadoop平台的电信客服数据的处理与分析③项目开发:搭建基于Hadoop的全分布式集群---任务10:Hive安装部署

任务描述

任务内容为安装并配置在Hadoop集群中使用Hive。

任务指导

Hive是一个基于Hadoop的数据仓库框架,在实际使用时需要将元数据存储在数据库中

具体安装步骤如下:

  1. 安装MySQL数据库(已安装)

  2. 解压缩Hive的压缩包

  3. 配置Hive的环境变量

  4. 拷贝MySQL的驱动包到Hive的lib目录下

  5. 修改Hive的配置文件,Hive的配置文件存放在Hive安装目录下的conf中

  6. 初始化Hive的元数据

  7. Hive只需要安装在需要执行Hive操作的节点上(master1)。

任务实现

1. 安装MySQL数据库

已在master1安装可以直接使用

用户名:root

密码:Qst@123456

2. 安装Hive。在master1服务器解压并配置。

下载"apache-hive-2.3.4-bin.tar.gz",已经放到/opt/software目录下;

输入【cd /opt/software】命令转到/opt/software目录下;

输入【tar -xzvf apache-hive-2.3.4-bin.tar.gz -C /opt/app/】命令解压。

3. 配置Hive环境变量,修改系统配置文件/etc/profile。

输入【vi /etc/profile】命令,编辑/etc/profile文件。

/etc/profile文件修改为如下内容:

export HIVE_HOME=/opt/app/apache-hive-2.3.4-bin
export PATH=$PATH:$HIVE_HOME/bin

刷新环境变量让配置生效

[root@master1 ~]# source /etc/profile

4. 将MySQL驱动包导入Hive的lib目录中

将/opt/software目录中的MySQL驱动包拷贝到$HIVE_HOME/lib目录中中

[root@master1 ~]# cp /opt/software/mysql-connector-java-5.1.47-bin.jar $HIVE_HOME/lib

5. 配置hive-site.xml文件

进入Hive配置目录【$HIVE/conf】编辑【hive-site.xml】文件

[root@master1 ~]# cd $HIVE_HOME/conf
[root@master1 conf]# vim hive-site.xml

hive-site.xml文件配置内容如下:

<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration> 
<property> 
<name>javax.jdo.option.ConnectionURL</name>  
<value>jdbc:mysql://master1:3306/hive?createDatabaseIfNotExist=true&amp;useUnicode=true&amp;characterEncoding=UTF-8&amp;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>Qst@123456</value> 
</property>  
<property> 
<name>datanucleus.readOnlyDatastore</name>  
<value>false</value> 
</property>  
<property> 
<name>datanucleus.fixedDatastore</name>  
<value>false</value> 
</property>  
<property> 
<name>datanucleus.autoCreateSchema</name>  
<value>true</value> 
</property>  
<property> 
<name>datanucleus.schema.autoCreateAll</name>  
<value>true</value> 
</property>  
<property> 
<name>datanucleus.autoCreateTables</name>  
<value>true</value> 
</property>  
<property> 
<name>datanucleus.autoCreateColumns</name>  
<value>true</value> 
</property>  
<property> 
<name>hive.metastore.local</name>  
<value>true</value> 
</property> 
</configuration>

配置hive-env.sh文件,通过hive-env.sh.template模版文件创建hive-env.sh文件并进行配置

[root@master1 conf]# cp hive-env.sh.template hive-env.sh
[root@master1 conf]# vi hive-env.sh

在文件末尾添加如下配置

HADOOP_HOME=/opt/app/hadoop-2.10.1
export HIVE_CONF_DIR=/opt/app/apache-hive-2.3.4-bin/conf
export HIVE_AUX_JARS_PATH=/opt/app/apache-hive-2.3.4-bin/conf/lib

6. 初始化Hive的元数据

执行如下命令初始化Hive的元数据,初始化前应确保MySQL数据已经启动,MySQL的启动命令【systemctl start mysqld.service】

[root@master1 ~]# schematool -dbType mysql -initSchema

7. 进入Hive命令行

[root@master1 ~]# hive
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/opt/app/apache-hive-2.3.4-bin/lib/log4j-slf4j-impl-2.6.2.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/opt/app/hadoop-2.8.5/share/hadoop/common/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]

Logging initialized using configuration in jar:file:/opt/app/apache-hive-2.3.4-bin/lib/hive-common-2.3.4.jar!/hive-log4j2.properties Async: true
Hive-on-MR is deprecated in Hive 2 and may not be available in the future versions. Consider using a different execution engine (i.e. spark, tez) or using Hive 1.X releases.
hive> 
相关推荐
P.H. Infinity3 小时前
【RabbitMQ】03-交换机
分布式·rabbitmq
龙哥·三年风水5 小时前
群控系统服务端开发模式-应用开发-个人资料
分布式·php·群控系统
昨天今天明天好多天5 小时前
【数据仓库】
大数据
油头少年_w6 小时前
大数据导论及分布式存储HadoopHDFS入门
大数据·hadoop·hdfs
Elastic 中国社区官方博客7 小时前
释放专利力量:Patently 如何利用向量搜索和 NLP 简化协作
大数据·数据库·人工智能·elasticsearch·搜索引擎·自然语言处理
力姆泰克7 小时前
看电动缸是如何提高农机的自动化水平
大数据·运维·服务器·数据库·人工智能·自动化·1024程序员节
力姆泰克7 小时前
力姆泰克电动缸助力农业机械装备,提高农机的自动化水平
大数据·服务器·数据库·人工智能·1024程序员节
QYR市场调研7 小时前
自动化研磨领域的革新者:半自动与自动自磨机的技术突破
大数据·人工智能
funnyZpC7 小时前
quartz集群增强版🎉
java·分布式·开源·集群·定时任务
明达技术8 小时前
工业4.0时代下的分布式IO模块
分布式