完全分布式hadoop3.1.3集群搭建

文章目录

  • 一、搭建集群
    • 1.1 架构信息
    • 1.2 配置文件
    • 1.3 修改自定义配置文件
    • 1.4 分发配置文件
  • 二、启动hadoop集群
    • 2.1 启动hdfs
      • 2.1.1 添加workers节点
      • 2.1.2 格式化namenode
      • 2.1.3 启动集群
    • 2.2 启动yarn

一、搭建集群

1.1 架构信息

各组件和机器间的对应关系如下表

hadoop100 hadoop101 hadoop102
HDFS NameNode DataNode DataNode SecondaryNameNode DataNode
YARN NodeManager Resource Manager NodeManager NodeManager

原则上是NameNodeSecondaryNameNode不在一台机器上;而且ResourceManager消耗资源比较高,放在资源相对充足的hadoop101上。

  1. 3台机器上分别安装hadoop3.1.3,注意:首先要安装JDK
  2. 3台机器间配置免密登录(方便分发文件),创建一个分发文件的脚本xsync。这一步可以省略

1.2 配置文件

  • 默认配置文件
    • core-default.xml
    • hdfs-default.xml
    • yarn-default.xml
    • mapred-default.xml

官方建议不要在默认配置文件中修改,可以复制他的内容到自定义配置文件中,然后修改值。

  • 自定义配置文件
  • 自定义的配置文件都在hadoop-3.1.3/etc/hadoop/目录下
    • core-site.xml
    • hdfs-site.xml
    • yarn-site.xml
    • mapred-site.xml

1.3 修改自定义配置文件

  1. core-site.xml
<configuration>

        <property>
          <name>fs.defaultFSname>
          <value>hdfs://hadoop100:8020value>
          <description>The name of the default file system.  A URI whose
          scheme and authority determine the FileSystem implementation.  The
          uri's scheme determines the config property (fs.SCHEME.impl) naming
          the FileSystem implementation class.  The uri's authority is used to
          determine the host, port, etc. for a filesystem.description>
        property>
        <property>
          <name>hadoop.tmp.dirname>
          <value>/usr/local/hadoop-3.1.3/datavalue>
          <description>A base for other temporary directories.description>
        property>
        
configuration>

修改如下:
完全分布式hadoop3.1.3集群搭建_第1张图片
2. hdfs-site.xml

<configuration>

        <property>
          <name>dfs.namenode.http-addressname>
          <value>hadoop100:9870value>
          <description>
            The address and the base port where the dfs namenode web ui will listen on.
          description>
        property>
        <property>
          <name>dfs.namenode.secondary.http-addressname>
          <value>hadoop102:9868value>
          <description>
            The secondary namenode http server address and port.
          description>
        property>

configuration>

完全分布式hadoop3.1.3集群搭建_第2张图片
3. yarn-site.xml

<configuration>



  <property>
    <description>A comma separated list of services where service name should only
      contain a-zA-Z0-9_ and can not start with numbersdescription>
    <name>yarn.nodemanager.aux-servicesname>
    <value>mapreduce_shufflevalue>
    
  property>
  <property>
    <description>The hostname of the RM.description>
    <name>yarn.resourcemanager.hostnamename>
    <value>hadoop101value>
  property>
  <property>
    <description>Environment variables that containers may override rather than use NodeManager's default.description>
    <name>yarn.nodemanager.env-whitelistname>
    <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOMEvalue>
  property>

configuration>

完全分布式hadoop3.1.3集群搭建_第3张图片
4. mapred-site.xml

<configuration>

        <property>
          <name>mapreduce.framework.namename>
          <value>yarnvalue>
          <description>The runtime framework for executing MapReduce jobs.
          Can be one of local, classic or yarn.
          description>
        property>

configuration>

完全分布式hadoop3.1.3集群搭建_第4张图片

1.4 分发配置文件

  • 分发配置文件到另外两台机器上
  • 这里使用上节配置的分发脚本xsync,如果不使用xsync,则可以手动复制4个文件到另外两台机器上。
cd /usr/local/hadoop-3.1.3/etc/hadoop/
xsync core-site.xml hdfs-site.xml yarn-site.xml mapred-site.xml

二、启动hadoop集群

2.1 启动hdfs

2.1.1 添加workers节点

三台机器上修改workers文件,如下:

vi /usr/local/hadoop-3.1.3/etc/hadoop/workers
##和自定义配置文件在相同目录下
##添加集群节点,注意后面不能有空格或者空行
hadoop100
hadoop101
hadoop102

:如果不想在三台机器上同时修改,可以使用前面的xsync脚本来分发配置。

2.1.2 格式化namenode

  • 格式化namenode会产生新的集群ID。
  • 在namenode节点上执行hdfs namenode -format
hdfs namenode -format

会在namenode节点上生成一个data目录和logs目录
完全分布式hadoop3.1.3集群搭建_第5张图片

2.1.3 启动集群

cd /usr/local/hadoop-3.1.3
sbin/start-dfs.sh

碰到问题,参考:root用户启动hadoop-3.1.3报错
完全分布式hadoop3.1.3集群搭建_第6张图片
启动成功
hdfs还提供了一个web访问方式

hadoop100:9870

完全分布式hadoop3.1.3集群搭建_第7张图片
如果在界面上Browse the file system,出现Failed to retrieve data from /webhdfs/v1/?op=LISTSTATUS: Server Error,大概率是因为JDK版本较高。参考Failed to retrieve data from /webhdfs/v1/?op=LISTSTATUS: Server Error解决。

2.2 启动yarn

在ResourceManager那台机器上启动

你可能感兴趣的:(大数据,分布式,hadoop,hdfs,大数据,yarn)