草庐IT

hadoop伪分布模式搭建(详细步骤)

小-枝-丫 2023-06-03 原文

一、前期准备

1. 关闭防火墙

2. 安装好JDK

3. 准备hadoop安装包

二、安装hadoop伪分布模式

1. 在home/hadoop/software/路径下创建hadooptmp目录

2. 解压hadoop-3.3.0.tar.gz

3.  进入hadoop-3.3.0/etc/hadoop

4.  编辑hadoop运行是的环境

5.  配置NameNode所在的主机或者通讯地址及NameNode格式化后的目录的路径

6. 配置DataNode的数据块冗余度

7. 配置MapReduce运行框架的yarn容器

8. 配置ResourceManager所在的主机及MapReduce的shuffer方式

9. 配置hadoop环境变量

10 . 更新bash_profile 文件内容

11.  格式NameNode

12. 启动hadoop相关进程

 13. 查看进程


一、前期准备

hadoop版本主机名ip安装路径
hadoop-3.3.0hadooptest192.168.254.172

home/hadoop/software/hadoop-3.3.0

1. 关闭防火墙

(1) 临时关闭防火墙命令:service iptables stop

(2)永久关闭防火墙命令:chkconfig iptables off

2. 安装好JDK

如果jdk没有安装好的可以参考这篇文章

https://editor.csdn.net/md/?articleId=126587725 

3. 准备hadoop安装包

hadoop-3-3.0下载地址

http://链接:https://pan.baidu.com/s/1YClfndoOCRdr_yRIxPrj_A?pwd=v8i1

注:下载好hadoop压缩包之后,将压缩包上传至虚拟机(此处上传的路径为home/hadoop/software/)

二、安装hadoop伪分布模式

1. 在home/hadoop/software/路径下创建hadooptmp目录

mkdir /hone/hadoop/software/hadooptmp

注意:这里的/hone/hadoop/software/是我存放hadoop压缩包的路径,对应改成自己的即可

2. 解压hadoop-3.3.0.tar.gz

tar -zxvf hadoop-3.3.0.tar.gz 

3.  进入hadoop-3.3.0/etc/hadoop

cd  home/software//hadoop-3.3.0/etc/hadoop

注意:这里是解压过后的hadoop-3.3.0/etc/hadoop   而不是直接cd hadoop

4.  编辑hadoop运行是的环境

vi hadoop-env.sh

进入文件之后,添加jdk的环境变量,如下:

export JAVA_HOME=/home/hadoop/software/jdk1.8.0_171 

添加好之后保存退出

注意这里/home/hadoop/software/是我存放jdk的路径,自己对应改成自己的即可

5.  配置NameNode所在的主机或者通讯地址及NameNode格式化后的目录的路径

vi core-site.xml

进入文件之后,滑到文件最下边,在<configuration></configuration>中添加如下内容

<property>

<name>fs.defaultFS</name>

<value>hdfs://hadooptest:9000</value>

</property>

<property>

<name>hadoop.tmp.dir</name>

<value>/home/hadoop/software/hadooptmp</value>

</property>

添加好之后保存退出

注意:这里的hadooptest是我的主机名,对应改成自己的主机名

          这里的/home/hadoop/software/hadooptmp是第一步创建Hadooptmp的路径

6. 配置DataNode的数据块冗余度

vi hafs-site.xml

进入文件之后,滑到文件最下边,在<configuration></configuration>中添加如下内容

<property>

<name>dfs.replication</name>

<value>1</value>

</property>

添加好之后保存退出

7. 配置MapReduce运行框架的yarn容器

 vi mapred-site.xml

进入文件之后,滑到文件最下边,在<configuration></configuration>中添加如下内容

 <property>

  <name>mapreduce.framework.name</name>

   <value>yarn</value>

   </property>

添加好之后保存退出

8. 配置ResourceManager所在的主机及MapReduce的shuffer方式

 vi yarn-site.xml

进入文件之后,滑到文件最下边,在<configuration></configuration>中添加如下内容

<property>

<name>yarn.nodemanger.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

添加好之后保存退出

9. 配置hadoop环境变量

 vi ~/.bash_profile

在文件中添加如下内容

export HADOOP_HOME=/home/hadoop/software/hadoop-3.3.0

export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

注意:这里的/home/hadoop/software/hadoop-3.3.0是hadoop存放的路径,对应改成自己存放hadoop的路径即可

10 . 更新bash_profile 文件内容

source ~/.bash_profile

11.  格式NameNode

 hadoop  namenode  -format

12. 启动hadoop相关进程

start-all.sh  

出现下图内容则启动完成

 13. 查看进程

jps

之后会显示如下内容

 

到这里hadoop伪分布集群我们就搭建好啦,第一次搭建的话可能会遇到一些问题,有问题的可以评论,或者私聊我。

有关hadoop伪分布模式搭建(详细步骤)的更多相关文章

  1. ruby-on-rails - Rails - 子类化模型的设计模式是什么? - 2

    我有一个模型:classItem项目有一个属性“商店”基于存储的值,我希望Item对象对特定方法具有不同的行为。Rails中是否有针对此的通用设计模式?如果方法中没有大的if-else语句,这是如何干净利落地完成的? 最佳答案 通常通过Single-TableInheritance. 关于ruby-on-rails-Rails-子类化模型的设计模式是什么?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.co

  2. ruby - 解析 RDFa、微数据等的最佳方式是什么,使用统一的模式/词汇(例如 schema.org)存储和显示信息 - 2

    我主要使用Ruby来执行此操作,但到目前为止我的攻击计划如下:使用gemsrdf、rdf-rdfa和rdf-microdata或mida来解析给定任何URI的数据。我认为最好映射到像schema.org这样的统一模式,例如使用这个yaml文件,它试图描述数据词汇表和opengraph到schema.org之间的转换:#SchemaXtoschema.orgconversion#data-vocabularyDV:name:namestreet-address:streetAddressregion:addressRegionlocality:addressLocalityphoto:i

  3. ruby - 如何在续集中重新加载表模式? - 2

    鉴于我有以下迁移:Sequel.migrationdoupdoalter_table:usersdoadd_column:is_admin,:default=>falseend#SequelrunsaDESCRIBEtablestatement,whenthemodelisloaded.#Atthispoint,itdoesnotknowthatusershaveais_adminflag.#Soitfails.@user=User.find(:email=>"admin@fancy-startup.example")@user.is_admin=true@user.save!ende

  4. ruby - 是否有用于序列化和反序列化各种格式的对象层次结构的模式? - 2

    给定一个复杂的对象层次结构,幸运的是它不包含循环引用,我如何实现支持各种格式的序列化?我不是来讨论实际实现的。相反,我正在寻找可能会派上用场的设计模式提示。更准确地说:我正在使用Ruby,我想解析XML和JSON数据以构建复杂的对象层次结构。此外,应该可以将该层次结构序列化为JSON、XML和可能的HTML。我可以为此使用Builder模式吗?在任何提到的情况下,我都有某种结构化数据-无论是在内存中还是文本中-我想用它来构建其他东西。我认为将序列化逻辑与实际业务逻辑分开会很好,这样我以后就可以轻松支持多种XML格式。 最佳答案 我最

  5. ruby - 分布式事务和队列,ruby,erlang,scala - 2

    我有一个涉及多台机器、消息队列和事务的问题。因此,例如用户点击网页,点击将消息发送到另一台机器,该机器将付款添加到用户的帐户。每秒可能有数千次点击。事务的所有方面都应该是容错的。我以前从未遇到过这样的事情,但一些阅读表明这是一个众所周知的问题。所以我的问题。我假设安全的方法是使用两阶段提交,但协议(protocol)是阻塞的,所以我不会获得所需的性能,我是否正确?我通常写Ruby,但似乎Redis之类的数据库和Rescue、RabbitMQ等消息队列系统对我的帮助不大——即使我实现某种两阶段提交,如果Redis崩溃,数据也会丢失,因为它本质上只是内存。所有这些让我开始关注erlang和

  6. 在VMware16虚拟机安装Ubuntu详细教程 - 2

    在VMware16.2.4安装Ubuntu一、安装VMware1.打开VMwareWorkstationPro官网,点击即可进入。2.进入后向下滑动找到Workstation16ProforWindows,点击立即下载。3.下载完成,文件大小615MB,如下图:4.鼠标右击,以管理员身份运行。5.点击下一步6.勾选条款,点击下一步7.先勾选,再点击下一步8.去掉勾选,点击下一步9.点击下一步10.点击安装11.点击许可证12.在百度上搜索VM16许可证,复制填入,然后点击输入即可,亲测有效。13.点击完成14.重启系统,点击是15.双击VMwareWorkstationPro图标,进入虚拟机主

  7. hadoop安装之保姆级教程(二)之YARN的配置 - 2

    1.1.1 YARN的介绍 为克服Hadoop1.0中HDFS和MapReduce存在的各种问题⽽提出的,针对Hadoop1.0中的MapReduce在扩展性和多框架⽀持⽅⾯的不⾜,提出了全新的资源管理框架YARN. ApacheYARN(YetanotherResourceNegotiator的缩写)是Hadoop集群的资源管理系统,负责为计算程序提供服务器计算资源,相当于⼀个分布式的操作系统平台,⽽MapReduce等计算程序则相当于运⾏于操作系统之上的应⽤程序。 YARN被引⼊Hadoop2,最初是为了改善MapReduce的实现,但是因为具有⾜够的通⽤性,同样可以⽀持其他的分布式计算模

  8. ruby-on-rails - environment.rb 中设置的常量在开发模式中消失 - 2

    了解Rails缓存如何工作的人可以真正帮助我。这是嵌套在Rails::Initializer.runblock中的代码:config.after_initializedoSomeClass.const_set'SOME_CONST','SOME_VAL'end现在,如果我运行script/server并发出请求,一切都很好。然而,在我的Rails应用程序的第二个请求中,一切都因单元化常量错误而变得糟糕。在生产模式下,我可以成功发出第二个请求,这意味着常量仍然存在。我已通过将以上内容更改为以下内容来解决问题:config.after_initializedorequire'some_cl

  9. ruby - cucumber 特征和步骤定义 - 2

    我是Cucumber测试的新手。我创建了两个特征文件:events.featurepartner.feature并将我的步骤定义放在step_definitions文件夹中:./step_definitions/events.rbpartner.rbCucumber似乎在所有.rb文件中查找步骤信息。有没有办法限制该功能查看特定的步骤定义文件?我之所以要这样做,是因为即使我使用了--guess标志,我也会遇到不明确的匹配错误。我之所以要这样做,有以下几个原因。我正在测试CMS,并希望在不同的功能中测试每种不同的内容类型(事件和合作伙伴)。事件.特征Feature:AddpartnerA

  10. Ruby:标准递归模式 - 2

    我经常迷上ruby​​的一件事是递归模式。例如,假设我有一个数组,它可能包含无限深度的数组作为元素。所以,例如:my_array=[1,[2,3,[4,5,[6,7]]]]我想创建一个方法,可以将数组展平为[1,2,3,4,5,6,7]。我知道.flatten可以完成这项工作,但这个问题是作为我经常遇到的递归问题的一个例子-因此我试图找到一个更可重用的解决方案。简而言之-我猜这种事情有一个标准模式,但我想不出任何特别优雅的东西。任何想法表示赞赏 最佳答案 递归是一种方法,它不依赖于语言。您在编写算法时要考虑两种情况:再次调用函数的情

随机推荐