hive环境配置

2023-11-07

记录一下hive环境(Mac m1)的配置过程,以防忘记。可能遇到的问题

1.安装hadoop

1).首先,安装hadoop:
brew install Hadoop
arch -x86_64 brew install Hadoop # for M1

m1安装brew可以用一下两种命令:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

如果第一种不行请试下面这种:

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

配置ssh免密码登录,用dsa密钥认证来生成一对公钥和私钥:

ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

将生成的公钥加认证的公钥文件:

cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

接下来测试一下是否配置成功

ssh localhost

如果遇到了connection refused错误打开 系统偏好设置-》共享-》点击远程登录

2)配置hadoop文件

文件路径/usr/local/Cellar/hadoop/3.3.1/libexec/etc/hadoop/
①.core-site.xml文件配置:

<configuration>
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://localhost:9000</value>
   </property>
</configuration>

②.hdfs-site.xml文件配置:

<configuration>
  <property>
    <name>dfs.replication</name>
    <value>1</value>
  </property>
  <property>
    <name>dfs.http.address</name>
    <value>0.0.0.0:50070</value>
 </property>
</configuration>

③.mapred-site.xml文件配置:

<configuration>
  <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
   </property>
</configuration>

④.yarn-site.xml文件配置:

<configuration>
  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
  </property>
</configuration>
3)运行Hadoop样例程序

首先,进入文件夹:

cd /usr/local/Cellar/hadoop/3.3.1/libexec

然后格式化文件系统

bin/hdfs namenode -format

启动NameNode和DataNode的进程

sbin/start-dfs.sh

启动ResourceManager和NodeManager的进程

sbin/start-yarn.sh

访问localhost:50070localhost:8088看是否能正常访问。


# 创建hdfs目录:
bin/hdfs dfs -mkdir -p /usr/***/input
#拷贝一些文件到input目录:
bin/hdfs dfs -put etc/hadoop input
#运行样例: (hadoop版本号根据自己的hadoop版本修改版本号)
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.1.jar grep input output 'dfs[a-z.]+'

2.安装hive

1).完成了上面的hadoop,接下来安装hive.
brew install hive
arch -x86_64 brew install hive # for m1

添加环境变量

vim ~/.bash_profile
export HIVE_HOME=/usr/local/Cellar/hive/3.1.2_3
export PATH=$HIVE_HOME/bin:$PATH
source ~/.bash_profile

Hive默认用derby(因为是单连接只能做测试用)作为元数据库。所以这里我们用mysql来存储元数据。

2)安装mysql

mysql官网下载选择Mysql Community Server选择macOS 11 (x86, 64-bit), DMG Archive下载。
安装过程中选择Use Legacy Password Encryption如下图:

之后输入密码就行。

3).下载MySQL驱动包


驱动官网下载驱动
选择Platform Independent->zip格式的就行.jar文件放到/usr/local/Cellar/hive/3.1.2_3/libexec/lib/目录下

4).创建数据库

输入命令:

mysql -u root -p #输入密码进入
mysql> create database metastore; # 创建数据库
4).配置 hive-site.xml

在将文件/usr/local/Cellar/hive/3.1.2_3/libexec/conf/hive-default.xml.template复制一份改名为hive-site.xml对里面的进行参数配置:

<configuration>
  
  <property>
        <name>hive.metastore.local</name>
        <value>true</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://localhost:3306/metastore</value>
    </property>
 
    <property>
        <name>javax.jdo.option.ConnectionDriverName</name>
        <value>com.mysql.cj.jdbc.Driver</value>
    </property>
  <!--mysql用户名-->
    <property>
        <name>javax.jdo.option.ConnectionUserName</name>
        <value>root</value>
    </property>
  <!--mysql密码-->
  <property>
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>******</value>
    </property>
 
	<!-- hive用来存储不同阶段的map/reduce的执行计划的目录,同时也存储中间输出结果
	,默认是/tmp/<user.name>/hive,可以自己创建文件夹,我们实际一般会按组区分,然后组内自建一个tmp目录存>-->
 
    <property>
        <name>hive.exec.local.scratchdir</name>
        <value>/tmp/hive</value>
    </property>
    <property>
        <name>hive.downloaded.resources.dir</name>
            <value>/tmp/hive</value>
    </property>
    <property>
        <name>hive.metastore.warehouse.dir</name>
        <value>/data/hive/warehouse</value>
    </property>
    <property>
        <name>hive.server2.logging.operation.log.location</name>
        <value>/tmp/hive</value>
    </property>
 
</configuration>

5).初始化metastore数据库
cd /usr/local/Cellar/hive/3.1.2_3/libexec/bin
schematool -initSchema -dbType mysql

6).启动metastore服务
./hive --service metastore &
#之后再终端输入hive就行

3.可能遇到的问题

1).WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform:

/usr/local/Cellar/hadoop/3.3.1/libexec/etc/hadoop/log4j.properties加入

log4j.logger.org.apache.hadoop.util.NativeCodeLoader=ERROR
2).Error during job, obtaining debugging information... FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exe:

hive-site.xml 文件添加配置:

<property>  
  <name>hive.exec.mode.local.auto</name>  
  <value>true</value>  
</property> 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

hive环境配置 的相关文章

  • Spark SQL 未正确转换时区[重复]

    这个问题在这里已经有答案了 使用 Scala 2 10 4 和 Spark 1 5 1 和 Spark 1 6 sqlContext sql select id to date from utc timestamp from unixtim
  • Hadoop 构建在 Windows 中失败:native.sln 中缺少 zconf.h?

    我正在尝试在使用 Windows 10 家庭版的开发计算机上构建以下 hadoop 版本 hadoop 2 7 3 src 以下是我本地开发环境的详细信息 Windows 10家庭版 英特尔酷睿 i5 6200U CPU 2 30GHz 内
  • 在 Zookeeper 中创建路径的最有效方法,其中路径的根元素可能存在也可能不存在?

    想象一条路径 root child1 child2 child3 想象一下 在动物园管理员中 可能存在其中的一部分 比如 root child1 Zookeeper 中没有等效的 mkdir p 此外 如果任何一个操作失败 ZooKeepe
  • 是否可以直接从文件加载镶木地板表?

    如果我有一个二进制数据文件 可以转换为 csv 格式 有什么方法可以直接从中加载镶木地板表吗 许多教程显示将 csv 文件加载到文本表 然后从文本表加载到镶木地板表 从效率的角度来看 是否可以像我已有的那样直接从二进制文件加载镶木地板表 理
  • 当与curl一起使用--negotiate时,是否需要keytab文件?

    The 文档 http hadoop apache org docs stable hadoop project dist hadoop hdfs WebHDFS html描述如何连接到 kerberos 安全端点显示以下内容 curl i
  • 如何在 hive 中创建一个空的结构数组?

    我有一个观点Hive 1 1 0 根据条件 它应该返回一个空数组或一个数组struct
  • Hive如何存储数据,什么是SerDe?

    当查询表时 SerDe 将将文件中的字节中的一行数据反序列化为 Hive 内部使用的对象来操作该行数据 执行 INSERT 或 CTAS 时 请参阅第 441 页上的 导入数据 表的 SerDe 将将 Hive 的一行数据的内部表示序列化为
  • 使用 python 从 HDFS 获取文件名列表

    这里是 Hadoop 菜鸟 我搜索了一些有关 hadoop 和 python 入门的教程 但没有取得太大成功 我还不需要使用映射器和缩减器进行任何工作 但这更多是一个访问问题 作为Hadoop集群的一部分 HDFS 上有一堆 dat 文件
  • Curl下载到HDFS

    我有这个代码 curl o fileName csv url xargs hdfs dfs moveFromLocal 1 somePath 当我执行此代码时 curl 将请求中的值放入 fileName csv 中 该文件将移动到 HDF
  • Hive 中字符串数据类型是否有最大大小?

    谷歌了很多 但没有在任何地方找到它 或者这是否意味着只要允许集群 Hive 就可以支持任意大字符串数据类型 如果是这样 我在哪里可以找到我的集群可以支持的最大字符串数据类型大小 提前致谢 Hive 列表的当前文档STRING作为有效的数据类
  • Spark超时可能是由于HDFS中文件超过100万个的binary Files()

    我正在通过以下方式读取数百万个 xml 文件 val xmls sc binaryFiles xmlDir 该操作在本地运行良好 但在纱线上失败并显示 client token N A diagnostics Application app
  • 连接到 Hive 时使用 Spark 进行 Kinit

    我正在尝试从独立的 Spark 连接到 Hive hadoop 集群具有 kerberos 身份验证 有人可以让我知道如何在 Spark 程序中执行 kinit 我可以连接到配置单元吗 更新 我的 Spark 与 Hadoop 位于不同的集
  • 在 Hadoop 中按文件中的值排序

    我有一个文件 其中每行包含一个字符串 然后是一个空格 然后是一个数字 例子 Line1 Word 2 Line2 Word1 8 Line3 Word2 1 我需要按降序对数字进行排序 然后将结果放入文件中 为数字分配排名 所以我的输出应该
  • Spark JDBC 仅返回带有列名的数据帧

    我正在尝试使用 Spark JDBC 连接到 HiveTable 代码如下 val df spark read format jdbc option driver org apache hive jdbc HiveDriver option
  • Hadoop安装问题:

    我跟着this http www bogotobogo com Hadoop BigData hadoop Install on ubuntu single node cluster phpHadoop 安装教程 不幸的是 当我运行全部启动
  • hive查询无法通过jdbc生成结果集

    我是 Hive 和 Hadoop 的新手 在我的教程中 我想将表创建为 import java sql SQLException import java sql Connection import java sql ResultSet im
  • 计算行的排名

    我想根据一个字段对用户 ID 进行排名 对于相同的字段值 排名应该相同 该数据位于 Hive 表中 e g user value a 5 b 10 c 5 d 6 Rank a 1 c 1 d 3 b 4 我怎样才能做到这一点 可以使用ra
  • 通过 hive 访问 maxmind 的 GeoIP-country.mmdb 数据库时出现异常

    我有一个自定义 Hive UDF 来访问 MaxmindGeoIP 国家 mmdb通过 add file pqr mmdb 添加到 Hive 资源的数据库 编译好的 UDF 添加为 add jar abc jar 当我运行 hive 查询时
  • 这个 Java 语法是什么意思? [复制]

    这个问题在这里已经有答案了 可能的重复 java中的是什么意思 https stackoverflow com questions 12649572 what does the type in java mean 在下面的代码中 Itera
  • Namenode高可用客户端请求

    谁能告诉我 如果我使用java应用程序请求一些文件上传 下载操作到带有Namenode HA设置的HDFS 这个请求首先去哪里 我的意思是客户端如何知道哪个名称节点处于活动状态 如果您提供一些工作流程类型图或详细解释请求步骤 从开始到结束

随机推荐

  • Java的byte类型详解

    前言 byte这个单词是Java八种基本数据类型之一字节的关键字 在计算机存储中以字节为单位 8位比特 bit 组成一个字节 为什么弄清楚byte这么重要呢 因为智能硬件的数据传输大部分协议都是按字节一位一位来解析的 对于字节的运算十分频繁
  • 备战蓝桥杯-二分查找(附多道题解和详细分析)

    二分典型例题 备战蓝桥杯系列全部文章 分享看过的高赞的文章 有助于你对于二分的理解 巨人的肩膀 知乎 二分的解释 LeetCode二分的解释 给定一个按照升序排列的长度为 nn 的整数数组 以及 qq 个查询 对于每个查询 返回一个元素 k
  • 直播邀约|8个数字了解2023腾讯全球数字生态大会

    2023腾讯数字生态大会 一起来看看吧
  • ❤ npm install 时报Error: spawn git ENOENT

    npm install 时报Error spawn git ENOENT 原因 主要是因为由于 git 的环境变量未设置导致 所以安装一下git 的环境变量就O了 步骤如下 设置 gt gt 系统 gt gt 高级系统设置 gt gt 高级
  • linux系统下修改文件夹目录权限

    文件夹权限问题 Linux Fedora Ubuntu修改文件 文件夹权限的方法差不多 很多人开始接触Linux时都很头痛Linux的文件权限问题 这里告诉大家如何修改Linux文件 文件夹权限 以主文件夹下的一个名为cc的文件夹为例 下面
  • nodejs第五天 npm yarn pnpm 包管理器

    文章目录 npm package json 安装包 全局安装 配置镜像 yarn 安装使用 镜像配置 pnpm 使用 镜像 npm node中的包管理器叫做npm node package manage 我们可以将自己开发的包上传到npm中
  • 数据结构--循环队列的c语言实现(超详细注释/实验报告)

    数据结构 循环队列的c语言实现 超详细注释 实验报告 知识小回顾 队列 Queue 是另一种限定性的线性表 它只允许再表的一端插入元素 而再另一端删除元素 多以队列具有先进先出 First In First Out FIFO 的特性 这与我
  • dmmbus地址_busdmm.us服务器iP

    2019 10 09 2020 12 19 173 252 100 21 2019 10 09 2020 12 19 31 13 74 1 2020 09 05 2020 12 19 104 244 43 208 2020 09 05 20
  • Mac系统创建python3.7虚拟环境

    mac系统python3 7安装虚拟环境 什么叫虚拟环境呢 python特有的一种软件环境 创建多个python环境 各个环境之间完全隔离 互不影响 它可以用来解决Python项目开发和运行过程中的依赖项和版本问题 而不必和其他项目的Pyt
  • dfs找不到网络路径 windows_DFS 复制服务已启动位于本地路径 C:\WINDOWS\SYSVOL\domain 上的 SYSVOL,并正在...

    公司新建域控由于分公司需要辅助域控 就新建了一台额外域控 但是该域控建好后发现组策略不生效 检查sysvol文件夹一片空白 肯定是没有从主域控复制过来 使用dcdiag检查 有下面报错 目录服务器诊断 正在执行初始化设置 正在尝试查找主服务
  • Android -- Activity and Intent

    Android Activity and Intent Activity Activity Lifecycle Intent 显式Intent 隐式Intent Intent属性 Intent Examples Activity activ
  • OpenCV计算机视觉学习(3)——图像灰度线性变换与非线性变换(对数变换,伽马变换)

    人工智能学习离不开实践的验证 推荐大家可以多在FlyAI AI竞赛服务平台多参加训练和竞赛 以此来提升自己的能力 FlyAI是为AI开发者提供数据竞赛并支持GPU离线训练的一站式服务平台 每周免费提供项目开源算法样例 支持算法能力变现以及快
  • 阿里云 日志服务接入

    目前项目中都有用到日志记录 一般会存到本地 但是时间长了 去删除也是很麻烦的 阿里云日志服务 是个不错的选择 可分为两种 自动采集和自动上传到云 1 写文件到本地 然后配置 让阿里云自动采集 LogHub 支持客户端 网页 协议 SDK A
  • JVM垃圾收集器总结

    JVM的垃圾收集算法 最终是要由垃圾收集器实现的 不同厂商 不同版本的虚拟机的垃圾收集器实现差别很大 本文只介绍HotSpot中的垃圾收集器 包括 串行收集器 并行收集器 新生代Parallel Scavenge收集器 CMS G1 一 整
  • FLOYD算法

    1 定义概览 Floyd Warshall算法 Floyd Warshall algorithm 是解决任意两点间的最短路径的一种算法 可以正确处理有向图或负权的最短路径问题 同时也被用于计算有向图的传递闭包 Floyd Warshall算
  • 开启IIS,“出现错误,并非所有功能被成功更改”

    环境 Windows7 Ultimate 事件 测试需要 要在自己的计算机上搭建临时IIS 在打开或关闭windows功能里 开启了相关组件及功能 确定应用后提示 出现错误 并非所有功能被成功更改 解决 网上查阅相关资料后 众说纷纭 后来在
  • Java将一段逗号分割的字符串转换成一个数组(亲测)

    String 类 String 类代表字符串 Java 程序中的所有字符串字面值都作为此类的实例实现 字符串是常量 它们的值在创建之后不能更改 字符串缓冲区支持可变的字符串 因为 String 对象是不可变的 所以 可以共享 String
  • 关于命令行中不能运行pip程序和python程序

    大多数都是没有将pip程序和python程序下载的路径添加到环境变量 1 添加pip的环境变量 2 添加pythn的环境变量 小心不要添加成了python快捷方式的环境变量 我一开始就添加的是python快捷方式的变量 结果一直以为是添加的
  • checkbox的value和checked属性详解

    一 checked属性 checked属性代表的是当前checkbox是否被选中 如果选中返回true 未选中返回false 和value值无关 p p
  • hive环境配置

    记录一下hive环境 Mac m1 的配置过程 以防忘记 可能遇到的问题 1 安装hadoop 1 首先 安装hadoop brew install Hadoop arch x86 64 brew install Hadoop for M1