前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Hadoop的安装与配置——设置单节点群集

Hadoop的安装与配置——设置单节点群集

作者头像
栗筝i
发布2022-12-01 08:51:18
1.4K0
发布2022-12-01 08:51:18
举报
文章被收录于专栏:迁移内容

本篇博客将主要介绍如何设置和配置单节点Hadoop安装,以便我们可以使用Hadoop 的MapReduce与HDFS快速执行简单的操作。

零、先决条件

1、本系列以Ubuntu Linux作为开发和生产平台 2、Linux所需的软件包括:

  • JAVA:必须安装Java,配置好JDK环境变量;
  • SSH:如果要使用可选的启动和停止脚本,则必须安装ssh并且必须运行sshd才能使用管理远程Hadoop守护程序的Hadoop脚本;
  • pdsh:安装pdsh以便更好地进行ssh资源管理。

如果群集中没有必需的软件,则需要安装它。在Ubuntu Linux上:

代码语言:javascript
复制
  $ sudo apt-get install ssh
  $ sudo apt-get install pdsh

一、下载

可以从 Apache Download Mirrors下载获得最稳定的发行版 下载后,使用 : tar -zxvf tar包名,解压到指定位置!

编辑文件etc/ hadoop / hadoop-env.sh以定义一些参数

代码语言:javascript
复制
  # set to the root of your Java installation
  export JAVA_HOME=/usr/local/java/jdk1.8
  
  export HADOOP_CONF_DIR=/usr/local/apps/hadoop-3.2.1/etc/hadoop

尝试以下命令:

代码语言:javascript
复制
  $ bin / hadoop

二、准备启动Hadoop集群

这将显示hadoop脚本的用法文档 现在,我们可以以三种支持的模式之一启动Hadoop集群:

  • 本地(独立)模式
  • 伪分布式模式
  • 全分布式模式

2.1、独立模式运行

默认情况下,Hadoop被配置为在非分布式模式下作为单个Java进程运行。这对于调试很有用。 下面的示例复制解压缩的conf目录以用作输入,然后查找并显示给定正则表达式的每个匹配项。输出被写入给定的输出目录。

代码语言:javascript
复制
  $ mkdir input
  $ cp etc/hadoop/*.xml input
  $ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.2.1.jar grep input output 'dfs[a-z.]+'
  $ cat output/*

2.2、伪分布式操作模式运行

Hadoop也可以以伪分布式模式在单节点上运行,其中每个Hadoop守护程序都在单独的Java进程中运行。 在以下配置文件中进行修改或添加内容

etc/hadoop/core-site.xml:

代码语言:javascript
复制
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>

etc/hadoop/hdfs-site.xml:

代码语言:javascript
复制
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>

设置无密码SSH 现在检查您是否可以在不使用密码的情况下SSH到本地主机:

代码语言:javascript
复制
 $ ssh localhost

如果没有密码就无法SSH到本地主机,就执行以下命令:

代码语言:javascript
复制
  $ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
  $ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
  $ chmod 0600 ~/.ssh/authorized_keys

以下说明是在本地运行MapReduce作业:

  1. 格式化文件系统:
代码语言:javascript
复制
  $ bin/hdfs namenode -format
  1. 启动NameNode守护程序和DataNode守护程序:
代码语言:javascript
复制
 $ sbin/start-dfs.sh

hadoop守护程序日志输出将写入 HADOOP_LOG_DIR目录(默认为 HADOOP_HOME / logs)。

  1. 浏览Web界面的NameNode;默认情况下,它在以下位置可用: NameNode - http://localhost:9870/
  2. 设置执行MapReduce作业所需的HDFS目录:
代码语言:javascript
复制
  $ bin/hdfs dfs -mkdir /user
  $ bin/hdfs dfs -mkdir /user/root
  1. 将输入文件复制到分布式文件系统中:
代码语言:javascript
复制
  $ bin/hdfs dfs -mkdir input
  $ bin/hdfs dfs -put etc/hadoop/*.xml input
  1. 运行提供的一些示例:
代码语言:javascript
复制
 $ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.2.1.jar grep input output 'dfs[a-z.]+'
  1. 检查输出文件:将输出文件从分布式文件系统复制到本地文件系统并检查它们:
代码语言:javascript
复制
  $ bin/hdfs dfs -get output output
  $ cat output/*
  1. 完成后,使用以下命令停止守护进程:
代码语言:javascript
复制
  $ sbin / stop-dfs.sh

以伪分布式模式在YARN上运行MapReduce作业: 以下指令假定上述本地运行MapReduce作业指令的1.〜4. 步骤已经执行。

  1. 如下配置参数:

etc / hadoop / mapred-site.xml:

代码语言:javascript
复制
<configuration> 
    <property> 
        <name> mapreduce.framework.name </ name> 
        <value> yarn </ value> 
    </ property> 
    <property> 
        <name> mapreduce.application.classpath </ name> 
        <value> $ HADOOP_MAPRED_HOME / share / hadoop / mapreduce / *:$ HADOOP_MAPRED_HOME / share / hadoop / mapreduce / lib / * </ value> 
    </ property> 
</ configuration>

etc / hadoop / yarn-site.xml:

代码语言:javascript
复制
<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> 
</ configuration>
  1. 启动ResourceManager守护程序和NodeManager守护程序:
代码语言:javascript
复制
  $ sbin/start-yarn.sh
  1. 浏览Web界面以找到ResourceManager;默认情况下,它在以下位置可用:

ResourceManager- http:// localhost:8088 / 运行MapReduce作业。

  1. 完成后,使用以下命令停止守护进程:
代码语言:javascript
复制
  $ sbin/stop-yarn.sh

2.3、全分布式运行

有关设置完全分布式的非重要集群的信息,将在以后进行介绍

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-06-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 零、先决条件
  • 一、下载
  • 二、准备启动Hadoop集群
  • 2.1、独立模式运行
  • 2.2、伪分布式操作模式运行
  • 2.3、全分布式运行
相关产品与服务
云 HDFS
云 HDFS(Cloud HDFS,CHDFS)为您提供标准 HDFS 访问协议,您无需更改现有代码,即可使用高可用、高可靠、多维度安全、分层命名空间的分布式文件系统。 只需几分钟,您就可以在云端创建和挂载 CHDFS,来实现您大数据存储需求。随着业务需求的变化,您可以实时扩展或缩减存储资源,CHDFS 存储空间无上限,满足您海量大数据存储与分析业务需求。此外,通过 CHDFS,您可以实现计算与存储分离,极大发挥计算资源灵活性,同时实现存储数据永久保存,降低您大数据分析资源成本。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档