hadoop 相关环境搭建

这篇具有很好参考价值的文章主要介绍了hadoop 相关环境搭建。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

21.Windows下安装Hadoop; Hive MySQL版_hadoop hive windows安装_学无止境的大象的博客-CSDN博客

 

https://www.cnblogs.com/liugp/p/16244600.html
备注。因为beeline一直报错,最有一怒之下把hive的lib下所有jar都拷贝到hadoop的share\hadoop\common\lib

各软件的相关命令最好到各自安装目录或者bin目录下执行,防止初始化目录的时候位置不对

一、Windows10 hadoop

百度安全验证

环境:jdk8 、win10 、hadoop-3.3.4

1、下载解压

jdk8的安装这里不说了。

网站上下载hadoop并解压

我是在官网下的:https://hadoop.apache.org/release/3.3.4.html

Index of /apache/hadoop/common

2、修改配置文件

1、打开D:\hadoop-2.8.5\etc\hadoop\core-site.xml将以下部分复制到configuration中:

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

2、打开D:\hadoop-2.8.5\etc\hadoop\mapred-site.xml将以下部分复制到configuration中:

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

3、打开D:\hadoop-2.8.5\etc\hadoop\yarn-site.xml将以下部分复制到configuration中:

<configuration>
<!-- Site specific YARN configuration properties -->
        <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
        </property>
				<property>
                <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
                <value>org.apache.hahoop.mapred.ShuffleHandler</value>
        </property> 
</configuration>

4、打开D:\hadoop-2.8.5\etc\hadoop\hdfs-site.xml 将以下部分复制到configuration中:

这里的 value 文件路径建议规划好,用以下配置会在安装的盘符根目录建立想目录。我本地如下:

hadoop 相关环境搭建

我的hadoop安装路径:D:\hadoop-3.3.4

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>     
        <name>dfs.namenode.name.dir</name>    
        <value>file:/hadoop/data/dfs/namenode</value>    
    </property>    
    <property>    
        <name>dfs.datanode.data.dir</name>    
        <value>file:/hadoop/data/dfs/datanode</value>  
    </property> 
</configuration>

3、异常处理

实际上异常应该在执行相关命令后出现,这里就先列出来

1、JAVA_HOME配置问题

Error: JAVA_HOME is incorrectly set.

JAVA_HOME路径不对或者含有空格、空格的处理方式:

修改D:\hadoop-3.3.4\etc\hadoop\hadoop-env.cmd 如下:

set JAVA_HOME=C:\PROGRA~1\Java\jdk1.8.0_172

hadoop 相关环境搭建

2、缺少 winutils.exe 和 hadoop.dll文件

java.lang.RuntimeException: java.io.FileNotFoundException: Could not locate Hadoop executable: D:\hadoop-3.3.4\bin\winutils.exe -see https://wiki.apache.org/hadoop/WindowsProblems

理论上 winutils和hadoop版本要一致,这里winutils只能下到3.2的版本

解决:https://gitee.com/shockingblue/winutils 3.2 中的hadoop.dll 和 winutils.exe copy到 HADOOP_HOME\bin

4、启动命令

格式化HDFS

D:\hadoop-3.3.4\bin>hadoop namenode -format

开启四个进程

D:\hadoop-3.3.4\sbin>start-all.cmd

在浏览器中输入:http://localhost:8088/cluster 可以看到YARN界面

访问hadoop文件管理页面 http://localhost:9870/dfshealth.html#tab-overview

5、常用命令

先在Hadoop上创建HDFS目录'可以自己定义'例如

命令如下(记得先启动Hadoop):
hadoop fs -mkdir /tmp
hadoop fs -mkdir /user/
hadoop fs -mkdir /user/hive/
hadoop fs -mkdir /user/hive/warehouse
hadoop fs -chmod g+w /tmp
hadoop fs -chmod g+w /user/hive/warehouse

hdfs dfs -chmod -R 777 /

1、上传

hdfs dfs -put E:\1.txt /user/hive/warehouse/1.txt

hdfs dfs -cat /user/hive/warehouse/1.txt

本地先新增一个文件内容为 “select 1 from” 之前有测试中文乱码,仅仅为了测试命令改为英文

hadoop 相关环境搭建

二、安装Hive MySQL版本

1、下载解压

Index of /dist/hive

MySQL :: Begin Your Download

我用的是最新的hive-3.1.3 下载bin不是src

在windows 环境少 Hive的执行文件、运行程序

用apache-hive-1.0.0-src\bin (下载src不是bin) 替换安装的bin

安装配置参考:

【傻瓜式教程】Windows下安装Hive MySQL版【附安装Hadoop教程】全网最详细的图文教程_windows安装hive_报告,今天也有好好学习的博客-CSDN博客

Hive Window安装 (Hadoop)_51CTO博客_安装hadoop

1、环境变量配置

变量名:HIVE_HOME
变量值:E:\apache-hive-2.1.1-bin

Path 新增 变量值: %HIVE_HOME%\bin

2、在Hadoop上创建HDFS目录

命令如下(记得先启动Hadoop):
hadoop fs -mkdir /tmp
hadoop fs -mkdir /user/
hadoop fs -mkdir /user/hive/
hadoop fs -mkdir /user/hive/warehouse
hadoop fs -chmod g+w /tmp
hadoop fs -chmod g+w /user/hive/warehouse

3、创建my_hive目录

创建以下几个空目录:

E:\apache-hive-2.1.1-bin\my_hive

E:\apache-hive-2.1.1-bin\my_hive\operation_logs_dir

E:\apache-hive-2.1.1-bin\my_hive\querylog_dir

E:\apache-hive-2.1.1-bin\my_hive\resources_dir

E:\apache-hive-2.1.1-bin\my_hive\scratch_dir

4、mysql上创建hive库

create database if not exists hive default character set latin1;

或者用Navicat工具也行

2、修改配置

如图,找到E:\apache-hive-2.1.1-bin\conf目录下的4个文件

hadoop 相关环境搭建

按照如下方式进行重命名更改:

hive-default.xml.template -> hive-site.xml
hive-env.sh.template -> hive-env.sh
hive-exec-log4j2.properties.template -> hive-exec-log4j2.properties
hive-log4j2.properties.template -> hive-log4j2.properties

1、修改 hive-env.sh

HADOOP_HOME 网上有两种 带export和不带

这里都写上吧,后面有去掉第一个了

# Set HADOOP_HOME to point to a specific hadoop install directory
# HADOOP_HOME=${bin}/../../hadoop
# HADOOP_HOME=D:\hadoop-3.3.4
export HADOOP_HOME=D:\hadoop-3.3.4
# Hive Configuration Directory can be controlled by:
# export HIVE_CONF_DIR=
export HIVE_CONF_DIR=D:\apache-hive-3.1.3-bin\conf
# Folder containing extra libraries required for hive compilation/execution can be controlled by:
# export HIVE_AUX_JARS_PATH=
export HIVE_AUX_JARS_PATH=D:\apache-hive-3.1.3-bin\lib

2、修改hive-site.xml

<!-- 指定的位置在hdfs上的目录-->
  <property>
    <name>hive.metastore.warehouse.dir</name>
    <value>/user/hive/warehouse</value>
    <description>location of default database for the warehouse</description>
  </property>

<!-- 指定的位置在hdfs上的目录-->
  <property>
    <name>hive.exec.scratchdir</name>
    <value>/tmp/hive</value>
    <description>HDFS root scratch dir for Hive jobs which gets created with write all (733) permission. For each connecting user, an HDFS scratch dir: ${hive.exec.scratchdir}/&lt;username&gt; is created, with ${hive.scratch.dir.permission}.</description>
  </property>

<!-- 本地scratch_dir目录 -->
  <property>
    <name>hive.exec.local.scratchdir</name>
    <value>D:/temp/hadoop/apache-hive-2.1.1-bin/my_hive/scratch_dir</value>
    <description>Local scratch space for Hive jobs</description>
  </property><!-- 本地resources_dir目录 -->
  <property>
    <name>hive.downloaded.resources.dir</name>
    <value>D:/temp/hadoop/apache-hive-2.1.1-bin/my_hive/resources_dir/${hive.session.id}_resources</value>            <description>Temporary local directory for added resources in the remote file system.</description>  </property>

<!-- 本地querylog_dir目录 -->
<property>
    <name>hive.querylog.location</name>
    <value>D:/temp/hadoop/apache-hive-2.1.1-bin/my_hive/querylog_dir</value>
    <description>Location of Hive run time structured log file</description>
  </property>

<!-- 本地operation_logs_dir目录 -->
  <property>
    <name>hive.server2.logging.operation.log.location</name>
    <value>D:/temp/hadoop/apache-hive-2.1.1-bin/my_hive/operation_logs_dir</value>
    <description>Top level directory where operation logs are stored if logging functionality is enabled</description>
  </property>

<!-- 数据库URL -->
  <property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://localhost:3306/hive?serverTimezone=UTC&amp;useSSL=false&amp;allowPublicKeyRetrieval=true</value>
    <description>
      JDBC connect string for a JDBC metastore.
      To use SSL to encrypt/authenticate the connection, provide database-specific SSL flag in the connection URL.
      For example, jdbc:postgresql://myhost/db?ssl=true for postgres database.
    </description>
  </property>

<!-- 数据库Driver -->
 <property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>com.mysql.jdbc.Driver</value>
    <description>Driver class name for a JDBC metastore</description>
  </property>

<!-- 数据库用户 -->
  <property>
    <name>javax.jdo.option.ConnectionUserName</name>
    <value>root</value>
    <description>Username to use against metastore database</description>
  </property>

<!-- Password数据库密码 -->
  <property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>root</value>
    <description>password to use against metastore database</description>
  </property>

<!-- 解决 Caused by: MetaException(message:Version information not found in metastore. ) -->
  <property>
    <name>hive.metastore.schema.verification</name>
    <value>false</value>
    <description>
      Enforce metastore schema version consistency.
      True: Verify that version information stored in is compatible with one from Hive jars.  Also disable automatic
            schema migration attempt. Users are required to manually migrate schema after Hive upgrade which ensures
            proper metastore schema migration. (Default)
      False: Warn if the version information stored in metastore doesn't match with one from in Hive jars.
    </description>
  </property>


<!-- hive Required table missing : "DBS" in Catalog""Schema" 错误 -->
 <property>
<name>datanucleus.schema.autoCreateAll</name>
<value>true</value>
<description>Auto creates necessary schema on a startup if one doesn't exist. Set this to false, after creating it once.To enable auto create also set hive.metastore.schema.verification=false. Auto creation is not recommended for production use cases, run schematool command instead.</description>
</property>

3、异常处理

1、hive-site.xml文件有特殊字符

hive --service metastore 命令遇到一个错误网上没有 提示是hive-site.xml文件有特殊字符,大概是3千多行

在一个描述类description标签, 直接上了

2、hive --service metastore提示数据库类的异常

猜想是网上说的初始化mysql库表导致,最终手动执行以下文件(copy sql到navicat执行, 用整个文件也异常。。。)

D:\apache-hive-3.1.3-bin\scripts\metastore\upgrade\mysql\hive-schema-3.1.0.mysql.sql

3、hive --service metastore 报一个hadoop_home路径异常

这个应该是安装hadoop配置环境变量的时候HADOOP_HOME的时候多加了\bin --个人原因

4、启动命令 以管理员身份

1、先启动hadoop

切换到E:\Hadoop\hadoop-2.7.7\sbin命令下,输入命令start-dfs.cmd

2、启动Hive metastore服务

以管理员身份打开CMD,输入命令hive --service metastore

补充:只有第一次打开需要输入hive --service metastore。

这里经历了很多异常,最终还是手动执行脚本的

D:\apache-hive-3.1.3-bin\scripts\metastore\upgrade\mysql\hive-schema-3.1.0.mysql.sql

3、启动Hive

打开CMD,输入命令hive.cmd 或者 hive

4、验证

个时候就可以输入HQL语句啦。

我们输入一个

create table stu(id int, name string);

然后再浏览器地址栏输入:

http://localhost:9870/explorer.html#/user/hive/warehouse

hadoop 相关环境搭建

5、配置beeline

1、添加beeline配置

【温馨提示】hive命令会慢慢不再使用了,以后就用beeline,如果对hive不了解的,可以看我之前的文章:大数据Hadoop之——数据仓库Hive

在Hive服务安装目录的%HIVE_HOME%\conf\hive-site.xml配置文件中添加以下配置:

<!-- host -->
<property>
	<name>hive.server2.thrift.bind.host</name>
	<value>localhost</value>
	<description>Bind host on which to run the HiveServer2 Thrift service.</description>
</property>

<!-- hs2端口 默认是10000,为了区别,我这里不使用默认端口-->
<property>
	<name>hive.server2.thrift.port</name>
	<value>10001</value>
</property>

在Hadoop服务安装目录的%HADOOP_HOME%\etc\hadoop\core-site.xml配置文件中添加以下配置:

<property>
	<name>hadoop.proxyuser.29209.hosts</name>
	<value>*</value>
</property>
<property>
	<name>hadoop.proxyuser.29209.groups</name>
	<value>*</value>
</property>

【注意】hadoop.proxyuser.29209.hosts和hadoop.proxyuser.29209.hosts,其中29209是连接beeline的用户,将29209替换成自己的用户名即可,其实这里的用户就是我本机的用户,也是上面创建文件夹的用户,这个用户是什么不重要,它就是个超级代理。我的是Administrator

2、启动hiveserver2

启动hiveserver2 之前必须重启hive服务

$ hive --service metastore $ hive --service hiveserver2

【问题】java.lang.NoClassDefFoundError: org/apache/tez/dag/api/SessionNotRunning
【解决】在hive 配置文件hive-site.xml添加如下配置:

<property> <name>hive.server2.active.passive.ha.enable</name> <value>true</value> <description>Whether HiveServer2 Active/Passive High Availability be enabled when Hive Interactive sessions are enabled.This will also require hive.server2.support.dynamic.service.discovery to be enabled.</description> </property>

重启hiveserver2

$ hive --service metastore $ hive --service hiveserver2

hadoop 相关环境搭建

HiveServer2 web:http://localhost:10002/

3、beeline客户端登录

$ beeline

【问题一】Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hive/jdbc/JdbcUriParseException
【解决】Hadoop缺少hive-jdbc-***.jar,将Hive安装目录下的lib文件夹中的hive-jdbc-3.1.2.jar包复制到Hadoop安装目录\share\hadoop\common\lib下

因为发生了很多NoClassDefFoundError 所以我是把Hive的所有jar都复制过去了

hadoop 相关环境搭建


【问题二】Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/hive/conf/HiveConf
【解决】Hive安装目录下,将hive-common-3.1.2.jar复制到Hadoop安装目录的\share\hadoop\common\lib下

hadoop 相关环境搭建


$ beeline !connect jdbc:hive2://localhost:10001 29209 # 下面这句跟上面等价,都可以登录 $ %HIVE_HOME%\bin\beeline.cmd -u jdbc:hive2://localhost:10001 -n 29209

【问题三】Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hive/service/cli/HiveSQLException。
【解决】把Hive安装目录下,将hive-service-3.1.2.jar复制到Hadoop安装目录的\share\hadoop\common\lib下。

再重启登录

$ hive --service metastore $ hive --service hiveserver2 $ %HIVE_HOME%\bin\beeline.cmd -u jdbc:hive2://localhost:10001 -n 29209

hadoop 相关环境搭建

正常登录,一切OK,更多关于大数据的知识,请耐心等待~

本地:beeline -u jdbc:hive2://localhost:10001 文章来源地址https://www.toymoban.com/news/detail-490956.html

到了这里,关于hadoop 相关环境搭建的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • Hadoop课程学习——Hadoop的windows环境安装及问题

    Hadoop课程学习——Hadoop的windows环境安装及问题

    前言 一、使用步骤 1.jdk下载 2.eclipse下载 3.jdk与eclipse环境配置 4.Hadoop使用 二:问题展示 1.问题一:出现找不到主类(java -version运行正常,hadoop运行出错) 2.问题二:出现点击eclipse.exe不能运行 3.问题三:出现‘-Xmx512m’不是内部或外部指令 总结 关于Hadoop环境配置的过程以及出现

    2023年04月08日
    浏览(12)
  • windows环境下安装配置hadoop

    windows环境下安装配置hadoop

    (需要提前安装好JDK,否则会出错。) 1、进入 https://archive.apache.org/dist/hadoop/ 下载所需要的hadoop版本 (演示:hadoop-2.9.1.tar.gz(可能需要双重解压)) 下载后解压至想要安装的目录位置 2、下载winutils.exe(GitHub - cdarlint/winutils: winutils.exe hadoop.dll and hdfs.dll binaries for hadoop windo

    2023年04月08日
    浏览(9)
  • hadoop win11安装hadoop环境 winutils.exe获取,windows安装大数据运行环境 winutils文件获取,winutils文件 hadoop(十四)

    hadoop win11安装hadoop环境 winutils.exe获取,windows安装大数据运行环境 winutils文件获取,winutils文件 hadoop(十四)

    注:有些win环境的大数据dll文件,winutils.exe需要积分下载,我没有积分,提供一份github链接 每个版本基本都有,挺全。 1. github地址: GitHub - cdarlint/winutils: winutils.exe hadoop.dll and hdfs.dll binaries for hadoop windows 2. 从上述链接,下载工程,复制出来自己的版本,我hadoop安装的3.3.4,

    2024年02月04日
    浏览(48)
  • Windows环境下Hadoop的安装和配置

    Windows环境下Hadoop的安装和配置

    Windows10 JDK1.8.0_192 Hadoop2.7.3 首先要安装好Java。没装的先搜索安装Java的教程吧。 这里我已经安装好了,需要配置好环境变量,Hadoop的安装会用到。 路径:C:Program FilesJavajdk1.8.0_192 环境变量:HAVA_HOME,值:C:Program FilesJavajdk1.8.0_192 从hadoop-2.7.3下载hadoop-2.7.3.tar.gz,解压后放到

    2023年04月08日
    浏览(7)
  • Windows 环境下 Hadoop 的安装和配置

    Windows 环境下 Hadoop 的安装和配置

    Windows10 JDK1.8.0_192 Hadoop2.7.3 首先要安装好Java。没装的先搜索安装Java的教程吧。 这里我已经安装好了,需要配置好环境变量,Hadoop的安装会用到。 路径:C:Program FilesJavajdk1.8.0_192 环境变量:HAVA_HOME,值:C:Program FilesJavajdk1.8.0_192 从hadoop-2.7.3下载hadoop-2.7.3.tar.gz,解压后放到

    2024年02月08日
    浏览(27)
  • 头歌Hadoop 开发环境搭建及HDFS初体验(第2关:配置开发环境 - Hadoop安装与伪分布式集群搭建)

    头歌Hadoop 开发环境搭建及HDFS初体验(第2关:配置开发环境 - Hadoop安装与伪分布式集群搭建)

    注: 1 头歌《Hadoop 开发环境搭建及HDFS初体验》三关在一个实验环境下,需要三关从前往后按顺序评测,跳关或者实验环境结束后重新打开 不能单独评测通过 2 复制粘贴请用右键粘贴,CTRL+C/V不管用哦~ 第1关:配置开发环境 - JavaJDK的配置: 解压: 配置环境变量: 细节: vi

    2024年02月08日
    浏览(172)
  • linux安装JDK及hadoop运行环境搭建

    linux安装JDK及hadoop运行环境搭建

    1.linux中安装jdk (1)下载JDK至opt/install目录下,opt下创建目录soft,并解压至当前目录 tar xvf ./jdk-8u321-linux-x64.tar.gz -C /opt/soft/ (2)改名 (3)配置环境变量:vim /etc/profile #JAVA_HOME export JAVA_HOME=/opt/soft/jdk180 export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=$PATH:$JAVA_HOM

    2024年02月11日
    浏览(12)
  • 从 Linux 安装到 Hadoop 环境搭建全过程

    从 Linux 安装到 Hadoop 环境搭建全过程

    从 Linux 的最小化安装到 Hadoop 环境的搭建,尽可能详尽介绍每个步骤。 首先需要将如下四个必要的文件下载到计算机( 已经附上了下载地址,点击即可下载 )。 Vmware Workstation 16.x 【官方的下载地址】 CentOS-7-x86_64-Minimal-2009 【阿里云镜像站下载地址】 openjdk-8u41-b04-linux-x64-1

    2023年04月08日
    浏览(10)
  • 构建大数据环境:Hadoop、MySQL、Hive、Scala和Spark的安装与配置

    构建大数据环境:Hadoop、MySQL、Hive、Scala和Spark的安装与配置

    在当今的数据驱动时代,构建一个强大的大数据环境对于企业和组织来说至关重要。本文将介绍如何安装和配置Hadoop、MySQL、Hive、Scala和Spark,以搭建一个完整的大数据环境。 安装Hadoop 首先,从Apache Hadoop的官方网站下载所需的Hadoop发行版。选择适合你系统的二进制发行版,下

    2024年02月11日
    浏览(13)
  • 基于Hadoop生态的相关框架与组件的搭建

    基于Hadoop生态的相关框架与组件的搭建

    目录 一、前言 安装包 二、linux配置 1、配置网络参数 2、永久关闭防火墙 3、添加IP地址配置映射表 4、SSH免密登录设置 5、配置时间同步 三、准备工作 四、jdk安装 五、Zookeeper集群部署 1、Zookeeper集群启动脚本编写  六、Hadoop高可用集群部署 1、安装配置  2、修改配置文件 (

    2023年04月19日
    浏览(10)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包