Hadoop HDFS 安装详细步骤

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

Hadoop 安装详细步骤

安装前
分别在 master、slave1、slave2 三台机器的 root 用户下的主目录下创建目录 bigdata,即执行下面的命令:
mkdir ~/bigdata
Hadoop 安装包下载
检查 Hadopp 和 java 版本是否对应,在官网中查

hadoop-3.1.3      JDK 1.8
hadoop-2.10.2    JDK 1.7 or 1.8
hadoop-2.9.2      JDK 1.7 or 1.8
hadoop-2.8.2      JDK 1.7+
hadoop-2.7.1      JDK 1.7+

解压 hadoop 压缩安装包

tar zxvf hadoop-2.7.5.tar.gz

执行完后,在当前的目录下会出现一个名为 hadoop-2.7.5 的文件目录,这个目录就是 hadoop 的安装目录。

至此,Hadoop 安装包下载完毕。

在 Hadoop 中包含了 3 个技术组件,分别是:

分布式存储技术 - HDFS
分布式资源管理技术 - Yarn
分布式计算技术 - MapReduce

HDFS 配置安装

修改配置
执行下面的命令进入到 hadoop 的配置文件所在的目录:

cd ~/bigdata/hadoop-2.7.5/etc/hadoop/

  1. 修改 core-site.xml 配置文件
    *vi core-site.xml
  2.  在master 中创建
    
    创建 NameNode 需要存储数据的文件目录
    mkdir -p ~/bigdata/dfs/name
    创建 DataNode 需要存放数据的文件目录
    mkdir -p ~/bigdata/dfs/data

core-site.xml 多台PC 需要一致
在 configuration 标签中添加如下的内容:

<property>
    <name>fs.defaultFS</name>
    <value>hdfs://IP:9999</value><description>表示HDFS的基本路径</description>
</property>
  1. 修改 hdfs-site.xml 配置文件

     <property>
         <name>dfs.replication</name> 
          <value>1</value>
     	 <description>表示数据块的备份数量,不能大于DataNode的数量</description>
     </property>
     <property>
         <name>dfs.namenode.name.dir</name>
         <value>/home/use.../bigdata/hadoop-2.10.2/dfs/name</value>
         <description>表示 NameNode 需要存储数据的文件目录</description>
     </property>
     <property>
         <name>dfs.datanode.data.dir</name>
         <value>/home/use.../bigdata/hadoop-2.10.2/dfs/data</value>
         <description>表示 DataNode 需要存放数据的文件目录</description>
     </property>
    
  2. 修改 slaves 文件

     执行下面的命令将 slaves 的机器名字填入到 slaves 文件中:
     删除文件中 localhost ,然后添加如下内容:
     每台pc ip地址
    
  3. 配置 Hadoop 依赖的 JAVA_HOME

     修改配置 hadoop-env.sh :
     
     vi hadoop-env.sh
     
     export JAVA_HOME=/usr/local/lib/jdk1.8.0_161
    
  4. 拷贝配置到 slave1 和 slave2 上

      dfs 文件夹与  <name>dfs.namenode.name.dir</name>   有对应关系
     
     在 master 机器中执行如下的命令
    
     将 NameNode 存储的文件目录以及 DataNode 存储的文件目录拷贝到 slave1 和 slave2 中
     scp -r ~/bigdata/dfs root@ip:~/bigdata
     scp -r ~/bigdata/dfs root@ip:~/bigdata
     
     
     ## 将在 master 中配置好的 hadoop 安装目录拷贝到 slave1 和 slave2 中
     scp -r ~/bigdata/hadoop-2.10.2 root@ip:~/bigdata
     scp -r ~/bigdata/hadoop-2.10.2 root@ip:~/bigdata
    
  5. 配置环境变量
    在 master 机器上执行下面的命令,配置 hadoop 的环境变量:

     vi ~/.bash_profile
    

    添加如下的内容:

     export HADOOP_HOME=~/bigdata/hadoop-2.7.5
     PATH=$PATH:$HOME/bin:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
    

    然后执行下面的命令,使得环境变量生效:
    source ~/.bash_profile

  6. 启动验证

    到目前为止,HDFS 的配置已经全部结束,接下来我们启动 HDFS 集群,并且验证。
    第一次启动 HDFS 之前,需要先对集群做格式化处理,执行下面的命令:

     ## 格式化 HDFS 集群的 namenode
     hdfs namenode -format
    

    接下来我们在 master 节点中执行下面的命令来启动 HDFS 集群:

     start-dfs.sh
    

    我们分别在 master 、slave1、slave2 机器上执行 jps 命令,如果能看到如下的进程,说明机器成功启动:

     master :
     27376 DataNode
     27666 SecondaryNameNode
     28515 Jps
     27128 NameNode
     
     slave1:
     23861 Jps
     24925 DataNode
    
  7. 停止 HDFS 集群

遇到问题
  • 1 无法http://meater/dfshealth.html 中显示 其他datenode 节点

      WARN org.apache.hadoop.hdfs.server.datanode.datanode:寄存器中出现远程异常
      org.apache.hadop.ipc.RemoteException(org.apache.hdop.hdfs.server.procol.DisabledDatanodeException):数据节点拒绝与namenode通信,因为无法解析主机名
    
    • 解决方法
      在 hdfs-site.xml 配置文件最加

        <property>
         <name>dfs.namenode.datanode.registration.ip-hostname-check</name>
         <value>false</value>
        </property>
      
  • 2 shh 问题
    如果在没有密码的情况下无法 ssh 到 localhost,请执行以下命令:

      	  $ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
      	  $ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
      	  $ chmod 0600 ~/.ssh/authorized_keys
    

    在其他pc:slave1中 添加 密钥
    pc: ~/.ssh/konwn_hosts 中

      ip地址 <空格> ssh-rsa <空格> 密钥信息 
    

Yarn 配置安装

  1. 创建 Yarn 存储临时数据的文件目录
    在 master 机器上执行如下命令:

     mkdir -p ~/bigdata/yarn/local-dir
    
  2. 修改 yarn-site.xml 配置文件
    在 master 机器上执行如下的命令来修改 yarn-site.xml 文件:

     cd ~/bigdata/hadoop-2.7.5/etc/hadoop/
     
     vi yarn-site.xml
    

在文件中的 configuration 标签中增加如下的内容:

<property>
    <name>yarn.resourcemanager.hostname</name>
    <value>IP0.0.0.0</value>
    <description>表示ResourceManager安装的主机</description>
</property>
<property>
    <name>yarn.resourcemanager.address</name>
    <value>IP0.0.0.0:8032</value>
    <description>表示ResourceManager监听的端口</description>
</property>
<property>
    <name>yarn.nodemanager.local-dirs</name>
    <value>/home/mtk21275/bigdata/hadoop-2.10.2/yarn/local-dir</value>
    <description>表示nodeManager中间数据存放的地方</description>
</property>
<property>
        <name>yarn.nodemanager.resource.memory-mb</name>
        <value>1630</value>
   <description>表示这个NodeManager管理的内存大小</description>
</property>
<property>
    <name>yarn.nodemanager.resource.cpu-vcores</name>
        <value>1</value>
   <description>表示这个NodeManager管理的cpu个数</description>
</property>

拷贝 yarn 相关配置到 slave1 和 slave2 中
在 master 机器上执行如下的命令:

sudo scp -r /home/mtk21275/bigdata/hadoop-2.10.2/etc/hadoop/yarn-site.xml mtk21275@ip:/home/mtk21275/bigdata/hadoop-2.10.2/etc/hadoop/yarn-site.xml 


sudo scp -r /home/mtk21275/bigdata/yarn/local-dir mtk21275@ip:/home/mtk21275/bigdata/yarn/local-dir
  1. 启动验证
    在 master 机器上执行下面的命令,来启动 yarn :

     start-yarn.sh
     
     主:
     21500 ResourceManager
     12429 NameNode
     12973 SecondaryNameNode
     12671 DataNode
     从:
     9845 NodeManager
     26810 DataNode
    

Yarn 集群 : http://master_IP:8088/cluster

Yarn slave1 信息:http://slave1_ip:8042

  1. 停止 Yarn 集群
    我们可以在 master 机器上执行下面的命令来停止 Yarn 集群:

stop-yarn.sh

问题:
  • 1 .slave1 无法正常启动 9845 NodeManager

    yarn-site.xml 添加

         <property>
             <name>yarn.nodemanager.pmem-check-enabled</name>
             <value>false</value>
         </property>
         <property>
             <name>yarn.nodemanager.vmem-check-enabled</name>
             <value>false</value>
         </property>
    
  • 2 问题:
    == throws java.lang.ClassFormatError accessible: module java.base does not “opens java.lang” to unnamed module ==

     cd /home/mtk21275/bigdata/hadoop-2.10.2/etc/hadoop/
     vim yarn-env.sh 
     追加:
     export YARN_RESOURCEMANAGER_OPTS="--add-opens java.base/java.lang=ALL-UNNAMED"
     export YARN_NODEMANAGER_OPTS="--add-opens java.base/java.lang=ALL-UNNAMED"
    

MapReduce 配置安装

在安装 MapReduce 之前,需要先保证 Yarn 集群是停止的,可以通过执行 stop-yarn.sh 来完成。

  1. 修改 yarn-site.xml 配置
    在 master 机器上修改 yarn-site.xml 文件:

     cd ~/bigdata/hadoop-2.7.5/etc/hadoop/
     vi yarn-site.xml
    

添加一个配置项:

	<property>
		<name>yarn.nodemanager.aux-services</name>
		<value>mapreduce_shuffle</value>
	    <description>为map reduce应用打开shuffle 服务</description>
	</property>

resource-types.xml 设置

	<?xml version="1.0"?>
	<configuration>
	  <resource-types>
	    <resource-type>
	      <name>memory</name>
	      <units>M</units>
	      <type-count>MEMORY</type-count>
	    </resource-type>
	    <resource-type>
	      <name>virtual-cores</name>
	      <units>VCores</units>
	      <type-count>VCORES</type-count>
	    </resource-type>
	  </resource-types>
	  <scheduler>
	    <allocation>
	      <type>memory</type>
	      <default-unit>M</default-unit>
	      <value>4096</value>
	    </allocation>
	    <allocation>
	      <type>virtual-cores</type>
	      <default-unit>VCores</default-unit>
	      <value>1</value>
	    </allocation>
	  </scheduler>
	</configuration>

在安装 MapReduce 之前,需要先保证 Yarn 集群是停止的,可以通过执行 stop-yarn.sh 来完成。

  1. 修改 yarn-site.xml 配置
    在 master 机器上修改 yarn-site.xml 文件:

     cd ~/bigdata/hadoop-2.7.5/etc/hadoop/
     vi yarn-site.xml
    

添加一个配置项:

	<property>
		<name>yarn.nodemanager.aux-services</name>
		<value>mapreduce_shuffle</value>
	    <description>为map reduce应用打开shuffle 服务</description>
	</property>
  1. 修改 mapred-site.xml 配置
    在 master 机器上执行如下的命令:

     ## 创建 mapred-site.xml 文件
     cp mapred-site.xml.template mapred-site.xml
     
     <property>
         <name>mapreduce.framework.name</name>
         <value>yarn</value>
         <description>向yarn申请资源</description>
     </property>
    
  2. 将 MapReduce 相关的配置文件同步到 slave1 和 slave2 上
    在 master 中执行下面的命令:

     scp yarn-site.xml mapred-site.xml root@slave1:~/bigdata/hadoop-2.7.5/etc/hadoop
     scp yarn-site.xml mapred-site.xml root@slave2:~/bigdata/hadoop-2.7.5/etc/hadoop
    
  3. 启动 yarn
    在 master 机器上执行下面的命令

    start-yarn.sh

  4. 验证 MapReduce
    在 master 上执行下面的命令:

登录后复制

准备目录和数据

hadoop fs -mkdir /input
hadoop fs -put bigdata/hadoop-2.7.5/etc/hadoop /input
hadoop fs -rm -r /input

执行 MapReduce 任务

	hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.10.2.jar grep /input/hadoop /input 'dfs[a-z.]+'

如何杀死hadoop作业
不推荐使用以下命令

	hadoop job -list
	hadoop job -kill $jobId
	考虑使用
	
	mapred job -list
	mapred job -kill $jobId

web 报错:

  1. == 启动hadoop集群DataNode不显示 ==
    删除 /bigdata/hadoop-2.10.2/dfs/data/current/
    VERSION 文件

  2. web Failed to retrieve data from /webhdfs/v1/?op=LISTSTATUS: Internal Server Error
    java 版本问题 下载

  3. Permission denied: user=dr.who, access=WRITE, inode=“/”:mtk21275:supergroup:drwxr-xr-x

     1)修改hdfs-site.xml,追加dfs.permissions配置。如果是true,则打开权限检查系统;如果是false,权限检查就是关闭的。
     <property>
         <name>dfs.permissions.enabled</name>
         <value>false</value>
     </property>
    
    
    
     追加dfs.permissions配置。如果是true,则打开权限检查系统;如果是false,权限检查就是关闭的。
     2)修改权限,用hadoop增加写的权限,hadoop fs -chmod -R 777 /
     
     777权限即为UGO都为可读可写可执行。
     
     切换到你的虚拟机界面
     
     命令如下:
    

hadoop fs -chmod -R 777 /

MapReduce

hadoop fs -put /home/mtk21275/bigdata/hadoop-2.10.2/etc/hadoop /input

hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.10.2.jar grep /input/hadoop /input文章来源地址https://www.toymoban.com/news/detail-730255.html

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

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

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

相关文章

  • 大数据开发之Hadoop(HDFS)

    1、HDFS产生背景 随着数据量越来越大,在一个操作系统存不下所有的数据,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,迫切需要一种系统来管理多台机器上的文件,这就是分布式文件管理系统。HDFS只是分布式文件管理系统中的一种。 2、HDFS定义 H

    2024年01月20日
    浏览(56)
  • Hadoop理论及实践-HDFS读写数据流程(参考Hadoop官网)

    主节点和副本节点通常指的是Hadoop分布式文件系统(HDFS)中的NameNode和DataNode。 NameNode(主节点):NameNode是Hadoop集群中的一个核心组件,它负责管理文件系统的命名空间和元数据。它记录了文件的目录结构、文件的块分配信息以及每个文件块所在的DataNode等关键信息。NameNo

    2024年02月14日
    浏览(45)
  • 尚硅谷大数据技术Hadoop教程-笔记03【Hadoop-HDFS】

    视频地址: 尚硅谷大数据Hadoop教程(Hadoop 3.x安装搭建到集群调优) 尚硅谷大数据技术Hadoop教程-笔记01【大数据概论】 尚硅谷大数据技术Hadoop教程-笔记02【Hadoop-入门】 尚硅谷大数据技术Hadoop教程-笔记03【Hadoop-HDFS】 尚硅谷大数据技术Hadoop教程-笔记04【Hadoop-MapReduce】 尚硅谷

    2023年04月08日
    浏览(93)
  • HDFS 跨集群数据同步(hive,hadoop)

    两个不同的HDFS 集群数据迁移( A集群的数据 - B 集群) 采用的是 SHELL 脚本  按表进行; 日期分区进行; #!/bin/bash ##################### #创建人:DZH #创建日期: 2020-04 #内容: 数据迁移 ##################### ##################################### [ \\\"$#\\\" -ne 0 ] FILE=$1 path=$(cd `dirname $0`; pwd) ############## 获取执

    2024年04月27日
    浏览(56)
  • 0201hdfs集群部署-hadoop-大数据学习

    下面我们配置下单namenode节点hadoop集群,使用vmware虚拟机环境搭建。vmware虚拟机的配置,在下面链接2有,或者自行查阅文档。hadoop安装包可到官网下载,当前相关软件环境如下: 软件 版本 说明 hadoop 3.3.4 jar包 vmware 15.5 虚拟机 centos 7.6 服务器操作系统 xshell 6 远程连接 jdk 1.8

    2024年02月11日
    浏览(45)
  • 部署HDFS集群(完全分布式模式、hadoop用户控制集群、hadoop-3.3.4+安装包)

    目录 前置 一、上传解压 (一 )上传 (二)解压 二、修改配置文件 (一)配置workers文件 (二)配置hadoop-env.sh文件 (三)配置core-site.xml文件 (四)配置hdfs-site.xml文件 三、分发到hp2、hp3, 并设置环境变量 (一)准备数据目录    (二)配置环境变量 四、创建数据目录,并

    2024年04月14日
    浏览(56)
  • Hadoop HDFS:海量数据的存储解决方案

    在大数据时代,数据的存储与处理成为了业界面临的一大挑战。Hadoop的分布式文件系统(Hadoop Distributed File System,简称HDFS)作为一个高可靠性、高扩展性的文件系统,提供了处理海量数据的有效解决方案。本文将深入探讨HDFS的设计原理、架构组成、核心功能以及实际应用场

    2024年04月23日
    浏览(41)
  • hadoop之hdfs生产数据块损坏修复方法

    1、手动修复 检查数据块丢失情况 hdfs fsck / 修复指定路径的hdfs文件,尝试多次 hdfs debug recoverLease -path 文件位置 -retries 重复次数 删除所有损坏的块的数据文件 hdfs fsck / -delete 2、自动修复 hdfs会自动修复损坏的数据块,当数据块损坏后, DN节点执行directoryscan(datanode进行内村和

    2023年04月11日
    浏览(61)
  • 0202hdfs的shell操作-hadoop-大数据学习

    以下命令执行默认配置了hadoop的环境变量,且使用新命令。 一键启停脚本 独立进程启停 2.1 HDFS文件系统基本信息 HDFS作为分布式存储的文件系统,有其对数据的路径表达式。如果熟悉Linux文件系统,可以对比学习。 HDFS同Linux系统一样,均是以/作为根目录的组织形式 如何区分

    2024年02月10日
    浏览(51)
  • 大数据技术之Hadoop:使用命令操作HDFS(四)

    目录 一、创建文件夹 二、查看指定目录下的内容 三、上传文件到HDFS指定目录下 四、查看HDFS文件内容 五、下载HDFS文件 六、拷贝HDFS文件 七、HDFS数据移动操作 八、HDFS数据删除操作 九、HDFS的其他命令 十、hdfs web查看目录 十一、HDFS客户端工具 11.1 下载插件 11.2 本地安装Had

    2024年02月09日
    浏览(45)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包