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

发布于:2024-07-04 ⋅ 阅读:(152) ⋅ 点赞:(0)

任务描述

任务内容为安装并配置在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> 


网站公告

今日签到

点亮在社区的每一天
去签到