Hadoop最新版本hadoop-3.4.1搭建伪分布式集群以及相关报错解决 ...

打印 上一主题 下一主题

主题 937|帖子 937|积分 2811

一:概述

        Hadoop 是一个开源的分布式盘算框架,广泛应用于大数据处置处罚。伪分布式集群是 Hadoop 的一种部署模式,它可以在单台机器上模拟集群情况,得当初学者进行学习和实验。本文将详细先容如何在单台机器上搭建 Hadoop 3.4.1 的伪分布式集群。
二:具体分析

        2.1 情况预备

必要安装好虚拟机CentOS8,并且已经配置了SSH长途连接,以便于更好的操作。
我演示的是在CentOS8中配置伪分布式集群搭建。
        首先,我们必要在虚拟机中配置java情况,详细过程如下所示:
 


  首先将jdk的安装包,通过文件传输工具传输到/usr/local/soft/jdk中,让后将其解压的jdk8目次中

接下来在/etc/profile中配置情况变量
  1. vim /etc/profile
复制代码
在文件中添加如下的内容


JAVA_HOME路径为jdk的解压根目次。
配置完成之后,生存。
为了能够使这个配置生效,必要使用以下的下令来重新加载这个配置文件。
  1. source /etc/profile
复制代码
接着查看是否配置乐成,这里和Win中查看方法相同
  1. java -version
复制代码
如果出现以下图片的内容,则证明配置乐成。

如果没有,分析配置文件中配置的路径有误或者未执行重新加载配置文件的下令。
 2.2 搭建Hadoop伪分布式集群

        将hadoop的安装包上传到虚拟机的/opt目次中


   配置免密登录

        修改主机名
  1. vim /etc/hostname
  2. # 或者使用以下的命令
  3. hostnamectl set-hostname master
复制代码

将默认的主机名改为master,生存并退出
接下来修改hosts文件
  1. vim /etc/hosts
复制代码

 接偏重启虚拟机,并生成公钥和私钥对。
  1. cd .ssh
  2. ssh-keygen -t rsa
复制代码
        接着使用下面下令进行免密登录配置
  1. ssh-copy-id master
复制代码

        使用以下的下令检查免密登录是否乐成。
  1. ssh master
复制代码

        如果出现上图中的内容,则分析配置免密登录乐成了。
配置HDFS

        将上传到/usr/local/soft/hadoop/hadoop3.4.1中的压缩包解压到/usr/local/soft/hadoop/hadoop3.4.1/中

通过以下的下令配置hadoop-env.sh文件
  1. cd /usr/local/soft/hadoop/hadoop3.4.1/hadoop3.4.1/etc/hadoop
  2. cd /etc/hadoop
复制代码

         接着去编辑这个hadoop目次中的hadoop-env.sh文件,在内里添加JDK的家目次
        通过以下的步骤去进行。
如果你不知道这个已经配置好的jdk家目次中,可以使用以下的下令打印出这个路径
  1. echo $JAVA_HOME
复制代码
  1. vim hadoop-env.sh
复制代码
        



 然后生存并且退出。
        接下来配置core-site.xml

  1. vim core-site.xml
复制代码
  1. <configuration>
  2.    <property>
  3.      <name>fs.defaultFS</name>
  4.      <value>hdfs://master:8020</value>
  5. </property>
  6. <property>
  7.      <name>hadoop.tmp.dir</name>
  8.      <value>/usr/local/soft/hadoop/hadoop3.4.1/hadoop3.4.1/data</value>
  9. </property>
  10. </configuration>
复制代码
        再接下来配置hdfs-site.xml

  1. vim hdfs-site.xml
复制代码
  1. <configuration>
  2. <property>
  3.      <name>dfs.replication</name>
  4.      <value>1</value>
  5. </property>
  6. </configuration
复制代码
        接下来,格式化HDFS


  1. hdfs namenode -format
复制代码

        2.3 HDFS的启动和停止

        启动之前,必要做一些预备
   进入到sbin目次中,修改四个文件
对于start-dfs.sh和stop-dfs.sh文件,尾部添加如下的参数

  1. cd /usr/local/soft/hadoop/hadoop3.4.1/hadoop3.4.1/sbin
复制代码
  1. HDFS_DATANODE_USER=root
  2. HADOOP_SECURE_DN_USER=hdfs
  3. HDFS_NAMENODE_USER=root
  4. HDFS_SECONDARYNAMENODE_USER=root
复制代码
  1. [root@master sbin]# vim start-dfs.sh
  2. [root@master sbin]# vim stop-dfs.sh
  3. [root@master sbin]# vim start-yarn.sh
  4. [root@master sbin]# vim stop-yarn.sh
复制代码
     


对于start-yarn.sh和stop-yarn.sh文件,尾部添加下列参数:




  1. YARN_RESOURCEMANAGER_USER=root
  2. HADOOP_SECURE_DN_USER=yarn
  3. YARN_NODEMANAGER_USER=root
复制代码
  1. /usr/local/soft/hadoop/hadoop3.4.1/hadoop3.4.1
  2. # 启动命令
  3. sbin/start-dfs.sh
  4. # 关闭命令
  5. sbin/stop-dfs.sh
复制代码
        

        在 Hadoop 的配置文件中界说运行服务的用户。编辑   
  1. $HADOOP_HOME/etc/hadoop/hadoop-env.sh   文件,添加以下内容:bashexport HDFS_NAMENODE_USER="root"
  2. export HDFS_DATANODE_USER="root"
  3. export HDFS_SECONDARYNAMENODE_USER="root"
复制代码

        注意:虽然这里使用了   root   用户,但在实际生产情况中,建议使用非   root   用户来运行 Hadoop 服务,以增强安全性
    

        我们发现,现在执行,刚才谁人错误已经没有了,但是又出现了一个错误。这个要去将/etc/hosts中以下内容注释掉
  1. vim /etc/hosts
复制代码

        接着杀死,已经启动的进程,然后重新启动,看是否另有这个错误/警告。


        重现启动,发现已经没有了警告。

        

        
        2.4 YARN的相关配置 
        (1)配置yarn-site.xml


  1. vim yarn-site.xml
复制代码
  1. <configuration>
  2.  <property>
  3.     <name>yarn.resourcemanager.hostsname</name>
  4.     <value>master</value>
  5.  </property>
  6.  <property>
  7.     <name>yarn.nodemanager.aux-services</name>
  8.     <value>mapreduce_shuffle</value>
  9.  </property>
  10. </configuration>
复制代码

        (2)配置mapred-site.xml


        把mapred-site.xml.template修改成mapred-site.xml,如果不是则不必要修改
  1. # cp mapred-site.xml.template mapred-site.xml
  2. vim mapred-site.xml
复制代码
  1. <configuration>
  2. <property>
  3.      <name>mapreduce.framework.name</name>
  4.      <value>yarn</value>
  5. </property>
  6. </configuration>
复制代码
        启动和停止YARN

   启动下令:
  start-dfs.sh
   暂停下令:
  stop-dfs.sh
  同理dfs的启动,若不能乐成启动,则需退回/opt/hadoop目次下使用sbin/start-yarn.sh或sbin/stop-yarn.sh
          


           在 Hadoop 的配置文件中界说运行服务的用户。编辑   $HADOOP_HOME/etc/hadoop/hadoop-env.sh   文件,添加以下内容:export YARN_RESOURCEMANAGER_USER="root"
export YARN_NODEMANAGER_USER="root"
          
  1. vim $HADOOP_HOME/etc/hadoop/hadoop-env.sh
复制代码

        接下来,就可以顺遂启动乐成了!!

        

                2.5 web页面访问管理

首先必要关闭防火墙,我们这里直接关闭,一般开发中,只是开放指定端口
  1. [root@master hadoop3.4.1]# systemctl stop firewalld
  2. [root@master hadoop3.4.1]# systemctl disable firewalld
  3. Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
  4. Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
复制代码
        接下来去访问HDFS和YARN的Web界面
  1. http://master:9870/
  2. http://master:8088/
复制代码
        


             dfs.namenode.http-address  :NameNode 的 HTTP 服务端口(默认为   50070  ,Hadoop 3.x 中为   9870  )。•   dfs.datanode.http.address  :DataNode 的 HTTP 服务端口(默认为   50075  ,Hadoop 3.x 中为   9864  )
  

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

灌篮少年

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表