黑狐家游戏

hadoop完全分布的搭建,hadoop3.3.6完全分布式搭建

欧气 4 0

本文目录导读:

  1. 环境准备
  2. 集群规划
  3. Hadoop安装与配置
  4. 集群启动与测试

《Hadoop 3.3.6完全分布式搭建全流程》

环境准备

1、系统选择与安装

- 选择合适的Linux发行版,如CentOS 7或Ubuntu 20.04,这里以CentOS 7为例,安装过程中确保网络连接正常,设置好静态IP地址,方便后续节点间的通信。

- 对系统进行基础配置,如关闭防火墙(生产环境中需谨慎操作,可配置相关规则)和SELinux,可以使用命令systemctl stop firewalld关闭防火墙,setenforce 0临时关闭SELinux,编辑/etc/selinux/config文件,将SELINUX=enforcing改为SELINUX=disabled实现永久关闭。

2、安装Java环境

- Hadoop 3.3.6需要Java 8或更高版本,从Oracle官网或OpenJDK官网下载合适的JDK版本,在CentOS 7上,可以使用yum安装OpenJDK 8。

- 执行命令yum install -y java - 1.8.0 - openjdk - devel进行安装,安装完成后,设置JAVA_HOME环境变量,编辑/etc/profile文件,添加export JAVA_HOME = /usr/lib/jvm/java - 1.8.0 - openjdk - 1.8.0.312.b07 - 1.el7_9.x86_64(根据实际安装路径调整)和export PATH = $PATH:$JAVA_HOME/bin,然后执行source /etc/profile使环境变量生效。

集群规划

1、节点角色分配

- 假设搭建一个简单的三节点完全分布式集群,包括一个NameNode节点、一个SecondaryNameNode节点和一个DataNode节点,在实际生产环境中,可以根据需求增加DataNode节点的数量。

- NameNode负责管理文件系统的命名空间,维护文件系统树以及整个文件系统的元数据,SecondaryNameNode辅助NameNode进行元数据的备份和检查点操作,DataNode负责存储实际的数据块。

2、主机名与IP地址映射

- 在每个节点上编辑/etc/hosts文件,添加集群中所有节点的主机名和IP地址映射关系。

- 在NameNode节点(假设IP为192.168.1.100)上,编辑/etc/hosts文件,添加以下内容:

```

192.168.1.100 namenode

192.168.1.101 secondarynamenode

192.168.1.102 datanode

```

- 然后在每个节点上设置主机名,使用命令hostnamectl set - hostname [主机名],并重启网络服务systemctl restart network

Hadoop安装与配置

1、下载与解压Hadoop

- 从Hadoop官方网站下载Hadoop 3.3.6版本的二进制包,将下载的压缩包上传到NameNode节点(也可以在每个节点分别下载)。

- 在NameNode节点上执行解压命令,如tar -zxvf hadoop - 3.3.6.tar.gz -C /opt/,将Hadoop解压到/opt/目录下。

2、配置Hadoop核心文件

hadoop - env.sh:编辑/opt/hadoop - 3.3.6/etc/hadoop/hadoop - env.sh文件,设置JAVA_HOME变量,确保其指向正确的Java安装路径。

core - site.xml:该文件用于配置Hadoop的核心参数,创建如下配置:

```xml

<configuration>

<property>

<name>fs.defaultFS</name>

<value>hdfs://namenode:9000</value>

</property>

<property>

<name>io.file.buffer.size</name>

<value>131072</value>

</property>

</configuration>

```

hdfs - site.xml:主要用于配置HDFS相关参数。

```xml

<configuration>

<property>

<name>dfs.namenode.name.dir</name>

<value>/data/hadoop/namenode</value>

</property>

<property>

<name>dfs.datanode.data.dir</name>

<value>/data/hadoop/datanode</value>

</property>

<property>

<name>dfs.replication</name>

<value>1</value>

</property>

<property>

<name>dfs.secondary.namenode.http - address</name>

<value>secondarynamenode:50090</value>

</property>

</configuration>

```

mapred - site.xml:配置MapReduce相关参数。

```xml

<configuration>

<property>

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

<value>yarn</value>

</property>

<property>

<name>mapreduce.jobhistory.address</name>

<value>namenode:10020</value>

</property>

<property>

<name>mapreduce.jobhistory.webapp.address</name>

<value>namenode:19888</value>

</property>

</configuration>

```

yarn - site.xml:用于配置YARN相关参数。

```xml

<configuration>

<property>

<name>yarn.resourcemanager.hostname</name>

<value>namenode</value>

</property>

<property>

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

<value>mapreduce_shuffle</value>

</property>

<property>

<name>yarn.nodemanager.aux - services.mapreduce_shuffle.class</name>

<value>org.apache.hadoop.mapred.ShuffleHandler</value>

</property>

</configuration>

```

3、配置SSH免密登录

- 在NameNode节点上生成SSH密钥对,使用命令ssh - keygen - t rsa,一路回车采用默认设置。

- 将公钥复制到其他节点,包括自身,将公钥复制到SecondaryNameNode和DataNode节点,可以使用命令ssh - copy - id namenodessh - copy - id secondarynamenodessh - copy - id datanode

集群启动与测试

1、格式化NameNode

- 在NameNode节点上,进入Hadoop的安装目录下的bin目录,执行命令hdfs namenode - format,这一步操作会初始化文件系统的元数据,创建相关的目录结构,如dfs.namenode.name.dir指定的目录。

2、启动集群

- 在NameNode节点上,执行/opt/hadoop - 3.3.6/sbin/start - all.sh命令来启动整个Hadoop集群,这一命令会依次启动NameNode、SecondaryNameNode、DataNode、ResourceManager和NodeManager等服务。

- 可以通过查看各个节点上的日志文件来检查服务是否启动成功,NameNode的日志文件位于/data/hadoop/namenode/current目录下(根据dfs.namenode.name.dir的配置),DataNode的日志文件位于/data/hadoop/datanode/current目录下。

3、测试集群

- 使用hdfs dfs - mkdir - p /user/[用户名]命令在HDFS上创建一个用户目录,如果当前用户为hadoop,则执行hdfs dfs - mkdir - p /user/hadoop

- 然后可以使用hdfs dfs - put命令上传一个本地文件到HDFS中,如hdfs dfs - put /etc/hosts /user/hadoop/

- 还可以通过Web界面来查看集群的状态,在浏览器中输入http://namenode:9870(Hadoop 3.x中NameNode的默认Web端口)可以查看HDFS的状态,输入http://namenode:8088可以查看YARN的状态。

通过以上步骤,就可以成功搭建一个Hadoop 3.3.6的完全分布式集群,并进行基本的文件操作和集群状态查看,在实际应用中,还需要根据具体的业务需求进一步优化集群配置,如调整内存分配、增加节点数量等。

标签: #hadoop #完全分布式 #搭建

黑狐家游戏
  • 评论列表

留言评论