基于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> 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/39670.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

剪映 v5.5 Pro Vip解锁版:使用指南与注意事项

摘要&#xff1a;本文介绍了剪映Pro VIP解锁版的使用方法&#xff0c;包括安装、测试和使用VIP素材的步骤&#xff0c;以及如何避免误报和保持解锁状态的建议。 正文&#xff1a; 剪映Pro是一款广受欢迎的视频编辑软件&#xff0c;提供了丰富的视频编辑功能和大量高质量的素材…

发送微信消息和文件

参考&#xff1a;https://www.bilibili.com/video/BV1S84y1m7xd 安装&#xff1a; pip install PyOfficeRobotimport PyOfficeRobotPyOfficeRobot.chat.send_message(who"文件传输助手", message"你好&#xff0c;我是PyOfficeRobot&#xff0c;有什么可以帮助…

RabbitMQ中java实现队列和交换机的声明

java实现队列和交换机的声明 在之前我们都是基于RabbitMQ控制台来创建队列、交换机。但是在实际开发时&#xff0c;队列和交换机是程序员定义的&#xff0c;将来项目上线&#xff0c;又要交给运维去创建。那么程序员就需要把程序中运行的所有队列和交换机都写下来&#xff0c;…

【PYG】 PyTorch中size方法和属性

在 PyTorch 中&#xff0c;size 方法和属性用于获取张量的维度信息。下面是它们的用法和区别&#xff1a; node_features.size&#xff1a; 这是一个属性&#xff08;attribute &#xff09;&#xff0c;返回一个 torch.Size 对象&#xff0c;表示张量的维度。这是不可调用的&a…

用MySQL+node+vue做一个学生信息管理系统(一):配置项目

先用npm init -y生成配置文件 在项目下新建src文件夹&#xff0c;app.js文件。src目录用来放静态资源文件&#xff0c;app.js是服务器文件&#xff0c;index.js是vue的入口文件 使用npm install express下载express框架 在app.js文件夹开启node服务&#xff0c;监听的端口为…

C++ //练习 14.29 为什么不定义const版本的递增和递减运算符?

C Primer&#xff08;第5版&#xff09; 练习 14.29 练习 14.29 为什么不定义const版本的递增和递减运算符&#xff1f; 环境&#xff1a;Linux Ubuntu&#xff08;云服务器&#xff09; 工具&#xff1a;vim 解释&#xff1a; 递增和递减要改变对象本身&#xff0c;const类…

Go语言--运算符

算术运算符 关系运算符 不能写0<a<10&#xff0c;要判断必须0<a&&a<10。因为int和bool不兼容 逻辑运算符 位运算符 赋值运算符 其他 运算符的优先级

AcWing 1254:找树根和孩子

【题目来源】https://www.acwing.com/problem/content/1256/【题目描述】 给定一棵树&#xff0c;输出树的根root&#xff0c;孩子最多的结点max以及他的孩子。【输入格式】 第一行&#xff1a;n&#xff0c;m&#xff0c;表示树的节点数和边数。 以下m行&#xff1a;每行两个结…

浮点数在内存中的存储结构

浮点数在内存中的存储可以参考《IEEE754标准》https://people.eecs.berkeley.edu/~wkahan/ieee754status/IEEE754.PDF 参考博文&#xff1a;IEEE754详解&#xff08;最详细简单有趣味的介绍&#xff09;-CSDN博客 单精度float占内存4字节&#xff0c;最高位bit31表示符号位&…

国家海岸线变化评估:新英格兰和中大西洋沿岸海岸线的历史变化

National Assessment of Shoreline Change: Historical Shoreline Change along the New England and Mid-Atlantic Coasts 国家海岸线变化评估&#xff1a;新英格兰和中大西洋沿岸海岸线的历史变化 摘要 海滩侵蚀是美国许多公海沿岸的一个长期问题。随着沿岸人口的不断增加…

永辉超市购物卡有什么用?

感觉现在在超市买东西&#xff0c;还不如网购 这不&#xff0c;端午的时候&#xff0c;朋友送的永辉卡&#xff0c;一直没时间去用&#xff0c;我总担心过期 但是去了超市后&#xff0c;又不知道买什么&#xff0c;最后空手而归 还好收卡云可以回收永辉卡&#xff0c;两张三…

《C++20设计模式》适配器模式经验分享

文章目录 一、前言二、对于接口的讨论三、实现1、对象适配器1.1 UML类图1.2 实现 2、类适配器 四、最后 一、前言 从适配器模式开始就是类的组合聚合&#xff0c;类与类之间结构性的问题了。 适配器模式解决的问题&#xff1a; 适配器模式能够在不破坏现有系统结构的情况下&a…

mapreduce实现bean的序列化与反序列化

目录 序列化&#xff08;Serialization&#xff09; 反序列化&#xff08;Deserialization&#xff09; 事例操作 UserSale 重写序列化方法 重写反序列化 重写toString方法 SaleMapper SaleReducer SaleDriver 序列化&#xff08;Serialization&#xff09; 序列化是将…

【后端面试题】【中间件】【NoSQL】MongoDB的配置服务器、复制机制、写入语义和面试准备

MongoDB的配置服务器 引入了分片机制之后&#xff0c;MongoDB启用了配置服务器(config server) 来存储元数据&#xff0c;这些元数据包括分片信息、权限控制信息&#xff0c;用来控制分布式锁。其中分片信息还会被负责执行查询mongos使用。 MongoDB的配置服务器有一个很大的优…

WPF----自定义滚动条ScrollViewer

滚动条是项目当中经常用到的一个控件&#xff0c;大部分对外项目都有外观的需求&#xff0c;因此需要自定义&#xff0c;文中主要是针对一段动态的状态数据进行展示&#xff0c;并保证数据始终在最新一条&#xff0c;就是需要滚动条滚动到底部。 1&#xff0c;xaml中引入 <…

zxing-cpp+OpenCV根据字符串生成条形码

编译构建 需要使用到 CMake、Git、GCC 或 MSVC。 github 链接&#xff1a;https://github.com/zxing-cpp/zxing-cpp 编译之前请确保&#xff1a; 确保安装了 CMake 版本 3.15 或更高版本。 确保安装了与 C17 兼容的编译器(最低VS 2019 16.8 / gcc 7 / clang 5)。 编译构建…

Python面试宝典第4题:环形链表

题目 给你一个链表的头节点 head &#xff0c;判断链表中是否有环。如果存在环 &#xff0c;则返回 true 。 否则&#xff0c;返回 false 。 如果链表中有某个节点&#xff0c;可以通过连续跟踪 next 指针再次到达&#xff0c;则链表中存在环。 为了表示给定链表中的环&#xf…

重写父类方法、创建单例对象 题目

题目 JAVA27 重写父类方法分析&#xff1a;代码&#xff1a; JAVA28 创建单例对象分析&#xff1a;代码&#xff1a; JAVA27 重写父类方法 描述 父类Base中定义了若干get方法&#xff0c;以及一个sum方法&#xff0c;sum方法是对一组数字的求和。请在子类 Sub 中重写 getX() 方…

AI智能体|AI打工我躺平!使用扣子Coze智能体自动生成和发布文章到微信公众号(一)

大家好&#xff0c;我是无界生长&#xff0c;国内最大AI付费社群“AI破局俱乐部”初创合伙人。这是我的第 44 篇原创文章——《AI智能体&#xff5c;AI打工我躺平&#xff01;使用扣子Coze智能体自动生成和发布文章到微信公众号&#xff08;一&#xff09;》 AI智能体&#xf…

《涅朵奇卡:一个女人的一生》读后感

这周的计划是看完海明威的《丧钟为谁而鸣》&#xff0c;但是因为下班晚&#xff0c;而且书的体量大&#xff0c;所以只看了一半。本来以为这周的阅读计划完不成了&#xff0c;不料昨天加完班后拿起新到的《涅朵奇卡&#xff1a;一个女人的一生》&#xff0c;不自觉就陷进去了&a…