Hadoop配置

2023-05-16

Hadoop配置

文章目录

    • Linux shell
      • 配置环境变量
      • 使环境变量生效
      • Hadoop 集群安装配置到两台阿里云linux主机上
        • Hadoop集群模式安装
        • 实验环境
        • 实验内容
          • 1.安装jdk
          • 2.下面来修改环境变量
          • 3.安装hadoop
          • 4.下面来修改环境变量
          • 5.修改hadoop hadoop-env.sh文件配置
          • 6.修改hadoop core-site.xml文件配置
          • 7.修改hadoop hdfs-site.xml文件配置
          • 8.修改hadoop yarn-site.xml文件配置
          • 9.mapred-site.xml文件配置
          • 10.修改hadoop slaves文件配置
          • 11.修改hosts文件
          • 12.创建公钥
          • 13.拷贝公钥
          • 14.拷贝文件到所有从节点
          • 15.格式化分布式文件系统
          • 16.启动Hadoop
          • 17.查看Hadoop进程
          • 18.在命令行中输入以下代码,打开Hadoop WebUI管理界面:
          • 19.测试HDFS集群以及MapReduce任务程序
      • Extra Question

Linux shell

配置环境变量

sudo vim /etc/profile

添加以下的export语句

Eg:PATH=$PATH:$HOME/bin
1,$HOME这个代码表示一个环境变量($),它代表的是当前登录的用户的主文件夹的意思。(就是目录 ~ 的那个)
2,$HOME/bin这个代码指的就是主文件夹下的bin子目录,代表的是文件夹的内部子目录。(注意不是根目录的那个)
3,PATH=$PATH:$HOME/bin这个代码是设置PATH环境变量,就是设置环境变量用等号。首先:冒号是分割符。记得Windows上面也有PATH环境变量,Windows的路径之间的分隔符是;分号。

使环境变量生效

source /etc/profile

Hadoop 集群安装配置到两台阿里云linux主机上

  • Hadoop集群模式安装

    实验环境

    Linux Centos 6

    实验内容

    在Linux系统的服务器上,安装Hadoop3.0.0集群模式。
    image-20210324200229210

  • 1.安装jdk

    将/data/hadoop目录下jdk-8u161-linux-x64.tar.gz 解压缩到/opt目录下。

    sudo tar -xzvf /data/hadoop/jdk-8u161-linux-x64.tar.gz -C /opt
    

    其中,tar -xzvf 对文件进行解压缩,-C 指定解压后,将文件放到/opt目录下。

    下面将jdk1.8.0_161目录重命名为java,执行:

    sudo mv /opt/jdk1.8.0_161/ /opt/java
    

    修改java目录的所属用户和所属组:

    sudo chown -R dolphin.dolphin /opt/java
    
  • 2.下面来修改环境变量
    sudo leafpad /etc/profile
    

    末端添加如下内容:

    #java
    export JAVA_HOME=/opt/java
    export PATH=$JAVA_HOME/bin:$PATH
    
image-20210324200407803 保存并关闭编辑器

让环境变量生效。

source /etc/profile

刷新环境变量后,可以通过java的家目录找到java可使用的命令。 利用java查看版本号命令验证是否安装成功:

java -version

正常结果显示如下
image-20210324200646610

java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)
  • 3.安装hadoop

    将hadoop-3.0.0.tar.gz解压缩到/opt目录下。

    sudo tar -xzvf /data/hadoop/hadoop-3.0.0.tar.gz -C /opt/
    

    为了便于操作,我们也将hadoop-3.0.0重命名为hadoop。

    sudo mv /opt/hadoop-3.0.0/ /opt/hadoop
    

    修改hadoop目录的所属用户和所属组:

    sudo chown -R dolphin.dolphin /opt/hadoop
    
  • 4.下面来修改环境变量
    sudo leafpad /etc/profile
    

    末端添加如下内容:

    #hadoop
    export HADOOP_HOME=/opt/hadoop
    export PATH=$HADOOP_HOME/bin:$PATH
    

    保存并关闭编辑器

    让环境变量生效。

    source /etc/profile
    

    利用hadoop查看版本号命令验证是否安装成功:

    hadoop version
    

    正常结果显示如下
    image-20210324200549213

    Hadoop 3.0.0
    Source code repository https://git-wip-us.apache.org/repos/asf/hadoop.git -r c25427ceca461ee979d30edd7a4b0f50718e6533
    Compiled by andrew on 2017-12-08T19:16Z
    Compiled with protoc 2.5.0
    From source with checksum 397832cb5529187dc8cd74ad54ff22
    This command was run using /opt/hadoop/share/hadoop/common/hadoop-common-3.0.0.jar
    
  • 5.修改hadoop hadoop-env.sh文件配置
    leafpad  /opt/hadoop/etc/hadoop/hadoop-env.sh
    

    末端添加如下内容:

    export JAVA_HOME=/opt/java/
    

    保存并关闭编辑器

  • 6.修改hadoop core-site.xml文件配置
    leafpad  /opt/hadoop/etc/hadoop/core-site.xml
    

    添加下面配置到
    <configuration>与</configuration>
    标签之间。

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

    保存并关闭编辑器

  • 7.修改hadoop hdfs-site.xml文件配置
    leafpad  /opt/hadoop/etc/hadoop/hdfs-site.xml
    

    添加下面配置到
    <configuration>与</configuration>
    标签之间。

    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>
    

    保存并关闭编辑器

  • 8.修改hadoop yarn-site.xml文件配置
    leafpad  /opt/hadoop/etc/hadoop/yarn-site.xml
    

    添加下面配置到
    <configuration>与</configuration>
    标签之间。

    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.nodemanager.env-whitelist</name>
       <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
    </property>
    

    保存并关闭编辑器

  • 9.mapred-site.xml文件配置
    leafpad  /opt/hadoop/etc/hadoop/mapred-site.xml
    

    添加下面配置到

    标签之间。

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

    保存并关闭编辑器

  • 10.修改hadoop slaves文件配置
    leafpad  /opt/hadoop/etc/hadoop/workers
    

    覆盖写入主节点映射名和从节点映射名:

    master
    slave1
    

    保存并关闭编辑器

  • 11.修改hosts文件

    查看master ip地址

    ifconfig eth0|sed -n '2p'|awk -F " " '{print $2}'|awk -F ":" '{print $2}'
    

    记录下显示的ip

    打开slave1 节点,做如上操作,记录下显示的ip

    编辑/etc/hosts文件:

    sudo leafpad /etc/hosts
    

    添加master IP地址对应本机映射名和其它节点IP地址对应映射名(如下只是样式,请写入实验时您的正确IP):

    172.25.200.236 master
    8.129.5.124 slave1
    
  • 12.创建公钥

    在dolphin用户下创建公钥:

    ssh-keygen -t rsa
    
  • 13.拷贝公钥

    提示:命令执行过程中需要输入“yes”和密码“dolphin”。三台节点请依次执行完成。

    ssh-copy-id master
    
    ssh-copy-id slave1
    

    测试连接是否正常:

    ssh master
    
  • 14.拷贝文件到所有从节点
    scp -r /opt/java/ /opt/hadoop/ slave1:/tmp/
    

    至此,主节点配置完成。

  • 15.格式化分布式文件系统
    hdfs namenode -format
    
  • 16.启动Hadoop
    /opt/hadoop/sbin/start-all.sh
    

    image-20210328180809748

  • 17.查看Hadoop进程

    在hadoop主节点执行:

    jps

    输出结果必须包含6个进程,结果如下:
    image-20210324200752332

    2529 DataNode
    2756 SecondaryNameNode
    3269 NodeManager
    3449 Jps
    2986 ResourceManager
    2412 NameNode
    

    在hadoop从节点执行同样的操作:

    jps

    输出结果必须包含3个进程,具体如下:

    2529 DataNode
    3449 Jps
    2412 NameNode
    
  • 18.在命令行中输入以下代码,打开Hadoop WebUI管理界面:
    firefox http://master:8088
    
  • 19.测试HDFS集群以及MapReduce任务程序

    利用Hadoop自带的WordCount示例程序进行检查集群;在主节点进行如下操作,创建HDFS目录:

hadoop fs -mkdir /dolphin/
hadoop fs -mkdir /dolphin/input

创建测试文件

leafpad /home/dolphin/test

添加下面文字

dolphin

保存并关闭编辑器

将测试文件上传到到Hadoop HDFS集群目录:

hadoop fs -put /home/dolphin/test /dolphin/input

执行wordcount程序:

hadoop jar /opt/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.0.0.jar wordcount /dolphin/input/ /dolphin/out/

查看执行结果:

hadoop fs -ls /dolphin/out/

image-20210324202518121
如果列表中结果包含”_SUCCESS“文件,代码集群运行成功。

查看具体的执行结果,可以用如下命令:

hadoop fs -text /dolphin/out/part-r-00000

image-20210324202554101
到此,集群安装完成。


Extra Question

如果出现
Call From master/ip to master:8088 failed on connection exception:…

在master主机的hosts文件 必须是:

  • 内网ip master

  • 外网IP slave

image-20210328180401241

/opt/hadoop/sbin/start-dfs.sh

g)
如果列表中结果包含”_SUCCESS“文件,代码集群运行成功。

查看具体的执行结果,可以用如下命令:

hadoop fs -text /dolphin/out/part-r-00000

到此,集群安装完成。

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

Hadoop配置 的相关文章

  • 映射减少计数示例

    我的问题是关于mapreduce programming in java 假设我有 WordCount java 示例 一个标准mapreduce program 我希望map函数收集一些信息 并返回形成如下的reduce函数map
  • MapReduce 排序和洗牌如何工作?

    我正在使用 yelps MRJob 库来实现映射缩减功能 我知道 MapReduce 有一个内部排序和洗牌算法 它根据键对值进行排序 所以如果我在地图阶段后得到以下结果 1 24 4 25 3 26 我知道排序和洗牌阶段将产生以下输出 1
  • Hive 表的默认分隔符是什么?

    如果我们在创建表时不提及任何分隔符 hive 是否有默认分隔符 创建表日志 ts bigint 行字符串 按 dt 字符串 国家 地区字符串 分区 默认分隔符 001 如果创建hive表时没有设置 您可以将其更改为其他分隔符 例如 hive
  • 如何在hadoop/map reduce中创建固定行数的输出文件?

    假设我们有 N 个具有不同行数的输入文件 我们需要生成输出文件 使得每个输出文件恰好有 K 行 最后一个输出文件可以有 是否可以使用单个 MR 作业来完成此操作 我们应该打开文件以便在reducer中显式写入 输出中的记录应该被打乱 tha
  • Hive如何存储数据,什么是SerDe?

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

    我有一个 Spark scala 应用程序 我尝试显示一条简单的消息 Hello my App 当我编译它时sbt compile并运行它sbt run没关系 我成功显示了我的消息 但他显示了错误 像这样 Hello my applicat
  • Hive查询快速查找表大小(行数)

    是否有 Hive 查询可以快速查找表大小 即行数 而无需启动耗时的 MapReduce 作业 这就是为什么我想避免COUNT I tried DESCRIBE EXTENDED 但这产生了numRows 0这显然是不正确的 对新手问题表示歉
  • 在 Hadoop 中按文件中的值排序

    我有一个文件 其中每行包含一个字符串 然后是一个空格 然后是一个数字 例子 Line1 Word 2 Line2 Word1 8 Line3 Word2 1 我需要按降序对数字进行排序 然后将结果放入文件中 为数字分配排名 所以我的输出应该
  • 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
  • 异常:java.lang.Exception:使用 master 'yarn' 运行时,必须在环境中设置 HADOOP_CONF_DIR 或 YARN_CONF_DIR。在火花中

    我是新的阿帕奇火花 我已经在spark独立模式下测试了一些应用程序 但我想运行应用程序yarn模式 我正在windows中运行apache spark 2 1 0 这是我的代码 c spark gt spark submit2 master
  • R+Hadoop:如何从HDFS读取CSV文件并执行mapreduce?

    在以下示例中 small ints to dfs 1 1000 mapreduce input small ints map function k v cbind v v 2 MapReduce函数的数据输入是一个名为small ints的
  • 获取 emr-ddb-hadoop.jar 将 DynamoDB 与 EMR Spark 连接

    我有一个 DynamoDB 表 需要将其连接到 EMR Spark SQL 才能对该表运行查询 我获得了带有发行标签 emr 4 6 0 和 Spark 1 6 1 的 EMR Spark Cluster 我指的是文档 使用 Spark 分
  • Namenode高可用客户端请求

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

    我刚刚开始使用 MapReduce 并且遇到了一个奇怪的错误 我无法通过 Google 回答该错误 我正在使用 ArrayWritable 制作一个基本程序 但是当我运行它时 在Reduce过程中出现以下错误 java lang Runti
  • hadoop中reducer的数量

    我正在学习hadoop 我发现减速器的数量非常令人困惑 1 reducer的数量与partition的数量相同 2 reducer 的数量是 0 95 或 1 75 乘以 节点数 每个节点的最大容器数 3 减速机数量设定为mapred re
  • 如何使用 Amazon 的 EMR 在 CLI 中使用自定义 jar 指定 mapred 配置和 java 选项?

    我想知道如何指定mapreduce配置 例如mapred task timeout mapred min split size等等 当使用自定义 jar 运行流作业时 当我们使用 ruby 或 python 等外部脚本语言运行时 我们可以使
  • Hive - 线程安全的自动递增序列号生成

    我遇到一种情况 需要将记录插入到特定的 Hive 表中 其中一列需要是自动递增的序列号 即在任何时间点都必须严格遵循 max value 1 规则 记录从许多并行的 Hive 作业插入到这个特定的表中 这些作业每天 每周 每月批量运行 现在
  • 将数据从 oracle 移动到 HDFS,处理并从 HDFS 移动到 Teradata

    我的要求是 将数据从 Oracle 移至 HDFS 处理HDFS上的数据 将处理后的数据移至 Teradata 还需要每 15 分钟执行一次整个处理 源数据量可能接近50GB 处理后的数据也可能相同 在网上搜索了很多之后 我发现 PRARO
  • 非 hdfs 文件系统上的 hadoop/yarn 和任务并行化

    我已经实例化了 Hadoop 2 4 1 集群 并且发现运行 MapReduce 应用程序的并行化方式会有所不同 具体取决于输入数据所在的文件系统类型 使用 HDFS MapReduce 作业将生成足够的容器 以最大限度地利用所有可用内存

随机推荐

  • Android使用代码进行界面布局和改变图标、标题、名称、主界面

    一 代码进行界面布局 lt xml version 61 34 1 0 34 encoding 61 34 utf 8 34 gt 二 Android Studio改变图标 标题 名称 主界面 注意 xff1a 64 表示是在哪个目录或者是
  • Linux(Ubuntu)系统如何安装Python

    Linux 系统是为编程而生的 xff0c 因此绝大多数的 Linux 发行版 xff08 Ubuntu CentOS 等 xff09 都默认自带了 Python 有的 Linux 发行版甚至还会自带两个版本的 Python xff0c 例
  • 如何用python实现多线程爬虫

    当单线程python爬虫已经不能满足企业需求时 xff0c 很多程序员会进行改代码或者增加服务器数量 xff0c 这样虽说也能达到效果 xff0c 但是对于人力物力也是一笔不小的消耗 如果是技术牛点的 xff0c 正常都会自己重新改写多线程
  • ## Hive分析疫情数据

    拿到的数据部分如下 xff1a 4月27日 黑龙江 境外输入 不详 0 45 0 黑龙江卫健委 https m thepaper cn newsDetail forward 7160075 4月27日 内蒙古 境外输入 不详 0 8 0 央
  • python --根据windows窗口名称、进程pid打开窗口(pygetwindow详解)

    pygetwindow详解 简介 pygetwindow是一个Python库 xff0c 用于获取 操作和管理当前打开的窗口 它提供了一些常用的窗口操作方法 xff0c 包括获取窗口句柄 xff0c 获取窗口位置和大小 xff0c 移动和调
  • Redhat Linux advance Server V2.1无法进入桌面(转)

    Redhat Linux advance Server V2 xff11 无法进入桌面 转 64 more 64 在本地调试安装了个Redhat Linux advance Server V2 1 xff0c 一共有5张光盘 xff0c 我
  • Mac上类似于xshell的远程工具:finalshell 和 royal tsx

    FinalShell 国产 国产 国产 自己研发的 是一体化的的服务器 网络管理软件 不仅是ssh客户端 还是功能强大的开发 运维工具 充分满足开发 运维需求 特色功能 免费海外服务器远程桌面加速 ssh加速 本地化命令输入框 支持自动补全
  • css查找元素注意事项

    一 CSS ID 选择器查找元素 1 注意 xff1a 如果元素的ID不唯一 xff0c 或者是动态的 或者name以及linktext属性值也不唯一 我们就需要考虑用Xpath来查找元素了 xff0c 然后再对元素执行操作 不管用什么方式
  • OS2.3.7:多生产者,多消费者问题

    文章目录 0 问题描述1 问题分析2 实现3 总结 0 问题描述 桌子上有一只盘子 xff0c 每次只能向其中放入一个水果 爸爸专向盘子中放苹果 xff0c 妈妈专向盘子中放橘子 xff0c 儿子专等着吃盘子中的橘子 xff0c 女儿专等着
  • java 方法名类名命名规范

    一 命名规范 1 项目名全部小写 2 包名全部小写 3 类名首字母大写 xff0c 如果类名由多个单词组成 xff0c 每个单词的首字母都要大写 大驼峰 xff0c 如 xff1a public class MyFirstClass 4 变
  • Qt arm环境安装

    一 相关工作准备 Qt opensource 和 Qt everywhere 下载 链接 版本为5 9 8 arm linux gcc下载 链接 版本为4 8 3 tslib 下载 链接 版本为1 21 ps 可以不安装Qt opensou
  • STM32驱动ST7789V2 tft屏幕

    一 简介 本次教程使用的是1 54寸240 240像素的tft屏幕 xff0c 其接口协议为SPI协议 在使用的过程中仅需要四根数据即可驱动点亮屏幕 然后硬件使用的是STM32F103C8T6核心板 xff0c 用的是SPI2 一般购买屏幕
  • linux设置复杂度策略、登录超时处理功能

    1 在字符终端下 xff0c 实现某一用户连续错误登陆N次后 xff0c 就锁定该用户X分钟 pam tally2 执行 vi etc pam d login 在 PAM 1 0 下新起一行 xff0c 加入 auth required p
  • 飞控陀螺仪,磁力计,加速计,四元数姿态结算

    MPU6050主要包含陀螺仪和加速度计 陀螺仪主要测量角速度 xff0c 即可以测出某一时间段物体转过的角度 加速度计测量的是物体的加速度 xff0c 重力加速度即物体受重力作用的情况下具有的加速度 xff0c 物体静止时 xff0c 加速
  • 智慧物业管理系统(Springboot)

    开发工具 xff1a IDEA xff0c jdk1 8 数据库 xff1a mysql5 7 前台框架 xff1a layui 后端技术 xff1a springboot 项目描述 xff1a 1 前台住户登录 2 智慧物业管理后台 2
  • 北京大学2020公开课 AVL-Python实现代码

    class TreeNode def init self key val left 61 None right 61 None parent 61 None self key 61 key self payload 61 val self
  • Docker-2020详细教程<配合千锋Java学习营>

    Docker 2020详细教程 lt 配合千锋Java学习营 gt 2020 Docker最新超详细版教程通俗易懂 一 Docker介绍 1 下载Dcoker依的赖环境 想安装Docker xff0c 需要先将依赖的环境全部下载下来 xff
  • 使用阿里云部署Flask网页

    使用阿里云部署Flask网页 前端网页部署 阿里云apache CentOS 配置好Apache后 xff0c 将一整个html css js文件全部copy进 var www html目录下 之后就可以通过访问IP地址访问到你的index
  • MapReduce的个人理解

    MapReduce的个人理解 文章目录 MapReduce模型简介Map和Reduce函数这里给出一个简单实例 MapReduce的工作流程工作流程概述MapReduce的各个执行阶段 Shuffle过程详解Shuffle过程简介Map端的
  • Hadoop配置

    Hadoop配置 文章目录 Linux shell配置环境变量使环境变量生效Hadoop 集群安装配置到两台阿里云linux主机上Hadoop集群模式安装实验环境实验内容1 安装jdk2 下面来修改环境变量3 安装hadoop4 下面来修改