张春 发表于 3 天前

【详解】基于3台服务器搭建Hadoop3.x集群

目录
基于3台服务器搭建Hadoop3.x集群
概述
环境准备
硬件要求
软件要求
服务器配置
安装步调
1. 配置主机名和hosts文件
2. 安装Java
3. 下载并解压Hadoop
4. 配置Hadoop环境变量
5. 配置Hadoop
5.1 修改 ​​core-site.xml​​
5.2 修改 ​​hdfs-site.xml​​
5.3 修改 ​​yarn-site.xml​​
5.4 修改 ​​mapred-site.xml​​
5.5 配置 ​​slaves​​ 文件
6. 格式化HDFS
7. 启动Hadoop集群
8. 验证集群状态
9. 测试Hadoop
前提条件
步调
1. 安装Java
2. 下载并解压Hadoop
3. 配置环境变量
4. 配置Hadoop
core-site.xml
hdfs-site.xml
yarn-site.xml
mapred-site.xml
5. 配置无密码SSH登录
6. 格式化NameNode
7. 启动Hadoop集群
8. 验证集群状态
9. 访问Web界面
环境准备
下载和解压Hadoop
配置Hadoop
格式化NameNode
启动Hadoop集群
测试Hadoop集群

基于3台服务器搭建Hadoop3.x集群

概述

Hadoop是一个由Apache基金会开发的分布式盘算框架,它能够处理大规模数据集。Hadoop的焦点组件包罗HDFS(Hadoop Distributed File System)和MapReduce。本文将介绍怎样在三台服务器上搭建Hadoop 3.x集群。
环境准备

硬件要求



[*]3台服务器,发起配置:


[*]CPU: 4核及以上
[*]内存: 8GB及以上
[*]磁盘: 100GB及以上
软件要求



[*]操纵系统: CentOS 7.x
[*]Java: JDK 1.8+
[*]Hadoop: 3.x
服务器配置

服务器
IP地点
角色
Node1
192.168.1.1
NameNode, ResourceManager
Node2
192.168.1.2
DataNode, NodeManager
Node3
192.168.1.3
DataNode, NodeManager
安装步调

1. 配置主机名和hosts文件

在所有节点上执行以下下令,修改主机名:
sudo hostnamectl set-hostname node1 编辑 ​​/etc/hosts​​ 文件,添加以下内容:
192.168.1.1 node1
192.168.1.2 node2
192.168.1.3 node3 2. 安装Java

在所有节点上安装JDK:
sudo yum install -y java-1.8.0-openjdk 验证Java安装:
java -version 3. 下载并解压Hadoop

在Node1上下载Hadoop 3.x:
wget https://archive.apache.org/dist/hadoop/core/hadoop-3.3.1/hadoop-3.3.1.tar.gz
tar -xzvf hadoop-3.3.1.tar.gz -C /opt/
cd /opt/
sudo ln -s hadoop-3.3.1 hadoop 将Hadoop目录复制到其他节点:
scp -r /opt/hadoop node2:/opt/
scp -r /opt/hadoop node3:/opt/ 4. 配置Hadoop环境变量

编辑 ​​~/.bashrc​​ 文件,添加以下内容:
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export HADOOP_HOME=/opt/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin 使环境变量生效:
source ~/.bashrc 5. 配置Hadoop

5.1 修改 ​​core-site.xml​​

编辑 ​​/opt/hadoop/etc/hadoop/core-site.xml​​ 文件,添加以下内容:
<configuration>
    <property>
      <name>fs.defaultFS</name>
      <value>hdfs://node1:9000</value>
    </property>
    <property>
      <name>hadoop.tmp.dir</name>
      <value>/app/hadoop/tmp</value>
    </property>
</configuration> 5.2 修改 ​​hdfs-site.xml​​

编辑 ​​/opt/hadoop/etc/hadoop/hdfs-site.xml​​ 文件,添加以下内容:
<configuration>
    <property>
      <name>dfs.replication</name>
      <value>2</value>
    </property>
    <property>
      <name>dfs.namenode.http-address</name>
      <value>node1:9870</value>
    </property>
    <property>
      <name>dfs.namenode.secondary.http-address</name>
      <value>node1:9868</value>
    </property>
</configuration> 5.3 修改 ​​yarn-site.xml​​

编辑 ​​/opt/hadoop/etc/hadoop/yarn-site.xml​​ 文件,添加以下内容:
<configuration>
    <property>
      <name>yarn.resourcemanager.hostname</name>
      <value>node1</value>
    </property>
    <property>
      <name>yarn.nodemanager.aux-services</name>
      <value>mapreduce_shuffle</value>
    </property>
    <property>
      <name>yarn.nodemanager.resource.memory-mb</name>
      <value>4096</value>
    </property>
</configuration> 5.4 修改 ​​mapred-site.xml​​

编辑 ​​/opt/hadoop/etc/hadoop/mapred-site.xml​​ 文件,添加以下内容:
<configuration>
    <property>
      <name>mapreduce.framework.name</name>
      <value>yarn</value>
    </property>
</configuration> 5.5 配置 ​​slaves​​ 文件

编辑 ​​/opt/hadoop/etc/hadoop/slaves​​ 文件,添加以下内容:
node2
node3 6. 格式化HDFS

在Node1上执行以下下令格式化HDFS:
hdfs namenode -format 7. 启动Hadoop集群

在Node1上启动HDFS和YARN:
start-dfs.sh
start-yarn.sh 8. 验证集群状态

访问HDFS Web界面:
http://node1:9870 访问YARN Web界面:
http://node1:8088 9. 测试Hadoop

在Node1上创建一个测试目录,并上传文件:
hdfs dfs -mkdir /user
hdfs dfs -mkdir /user/test
hdfs dfs -put /path/to/local/file /user/test/ 运行一个简单的MapReduce作业:
hadoop jar /opt/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.1.jar wordcount /user/test/input /user/test/output 查看输出结果:
hdfs dfs -cat /user/test/output/part-r-00000
通过以上步调,我们成功地在三台服务器上搭建了一个Hadoop 3.x集群。这个集群可以用于处理大规模数据集,并支持分布式盘算任务。希望本文对您有所资助!

在实际应用中,搭建一个Hadoop 3.x集群通常涉及到配置多个节点(包罗NameNode、DataNode、Secondary NameNode等)。以下是一个基于三台服务器的Hadoop 3.x集群的搭建步调和示例配置文件。
前提条件


[*]三台服务器:假设它们的IP地点分别为 ​​192.168.1.101​​ (NameNode), ​​192.168.1.102​​ (DataNode 1), 和 ​​192.168.1.103​​ (DataNode 2)。
[*]操纵系统:Linux(比方Ubuntu 20.04)。
[*]Java环境:确保每台服务器上都安装了Java 8或更高版本。
步调

1. 安装Java

在所有服务器上安装Java:
sudo apt update
sudo apt install openjdk-8-jdk -y
2. 下载并解压Hadoop

在所有服务器上下载并解压Hadoop 3.x:
wget https://archive.apache.org/dist/hadoop/core/hadoop-3.3.1/hadoop-3.3.1.tar.gz
tar -xzvf hadoop-3.3.1.tar.gz
sudo mv hadoop-3.3.1 /usr/local/ 3. 配置环境变量

编辑 ​​/etc/profile​​ 文件,添加Hadoop环境变量:
export HADOOP_HOME=/usr/local/hadoop-3.3.1
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin 使配置生效:
source /etc/profile 4. 配置Hadoop

编辑Hadoop配置文件,重要需要修改的文件有 ​​core-site.xml​​, ​​hdfs-site.xml​​, ​​yarn-site.xml​​, 和 ​​mapred-site.xml​​。
core-site.xml

在所有节点上编辑 ​​/usr/local/hadoop-3.3.1/etc/hadoop/core-site.xml​​:
<configuration>
    <property>
      <name>fs.defaultFS</name>
      <value>hdfs://192.168.1.101:9000</value>
    </property>
    <property>
      <name>hadoop.tmp.dir</name>
      <value>/app/hadoop/tmp</value>
    </property>
</configuration> hdfs-site.xml

在所有节点上编辑 ​​/usr/local/hadoop-3.3.1/etc/hadoop/hdfs-site.xml​​:
<configuration>
    <property>
      <name>dfs.replication</name>
      <value>2</value>
    </property>
    <property>
      <name>dfs.namenode.http-address</name>
      <value>192.168.1.101:9870</value>
    </property>
    <property>
      <name>dfs.namenode.secondary.http-address</name>
      <value>192.168.1.101:9868</value>
    </property>
</configuration> yarn-site.xml

在所有节点上编辑 ​​/usr/local/hadoop-3.3.1/etc/hadoop/yarn-site.xml​​:
<configuration>
    <property>
      <name>yarn.resourcemanager.hostname</name>
      <value>192.168.1.101</value>
    </property>
    <property>
      <name>yarn.nodemanager.aux-services</name>
      <value>mapreduce_shuffle</value>
    </property>
</configuration> mapred-site.xml

在所有节点上编辑 ​​/usr/local/hadoop-3.3.1/etc/hadoop/mapred-site.xml​​:
<configuration>
    <property>
      <name>mapreduce.framework.name</name>
      <value>yarn</value>
    </property>
</configuration> 5. 配置无密码SSH登录

在NameNode上天生SSH密钥并分发到所有节点:
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
ssh-copy-id 192.168.1.102
ssh-copy-id 192.168.1.103 6. 格式化NameNode

在NameNode上执行格式化下令:
hadoop namenode -format 7. 启动Hadoop集群

在NameNode上启动HDFS和YARN:
start-dfs.sh
start-yarn.sh 8. 验证集群状态

在NameNode上验证HDFS和YARN的状态:
jps 你应该能看到以下进程:


[*]NameNode
[*]DataNode
[*]SecondaryNameNode
[*]ResourceManager
[*]NodeManager
9. 访问Web界面

你可以通过浏览器访问HDFS和YARN的Web界面:


[*]HDFS Web界面:​​http://192.168.1.101:9870​​
[*]YARN Web界面:​​http://192.168.1.101:8088​​
根据实际需求,你可能还需要举行更多的配置和优化。希望这些信息对你有所资助!如果有任何问题,请随时提问。搭建一个基于3台服务器的Hadoop 3.x集群涉及到多个步调,包罗环境准备、配置文件修改、服务启动等。下面是一个详细的指南,资助你完成这个过程。
环境准备


[*]服务器准备:


[*]至少3台服务器,每台服务器上安装了相同版本的Linux操纵系统(如Ubuntu 18.04或CentOS 7)。
[*]每台服务器上安装了Java 8或更高版本。

[*]网络配置:


[*]确保所有服务器之间可以相互通信。
[*]配置主机名和IP地点映射,在每台服务器的​​/etc/hosts​​文件中添加如下内容:
192.168.1.101 node1
192.168.1.102 node2
192.168.1.103 node3
[*]SSH无密码登录:


[*]在主节点(假设为node1)上天生SSH密钥对,并将公钥复制到所有节点:
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
ssh-copy-id node1
ssh-copy-id node2
ssh-copy-id node3 下载和解压Hadoop


[*]下载Hadoop:


[*]在主节点上下载Hadoop 3.x的压缩包:
wget https://archive.apache.org/dist/hadoop/core/hadoop-3.3.1/hadoop-3.3.1.tar.gz
[*]解压Hadoop:


[*]解压到指定目录,比方​​/usr/local/​​:
tar -xzvf hadoop-3.3.1.tar.gz -C /usr/local/
[*]创建软链接:


[*]创建一个软链接方便管理:
ln -s /usr/local/hadoop-3.3.1 /usr/local/hadoop
[*]分发Hadoop:


[*]将Hadoop分发到其他节点:
scp -r /usr/local/hadoop node2:/usr/local/
scp -r /usr/local/hadoop node3:/usr/local/ 配置Hadoop


[*]修改环境变量:


[*]编辑​​~/.bashrc​​文件,添加Hadoop环境变量:
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

[*]使环境变量生效:
source ~/.bashrc
[*]配置core-site.xml​:


[*]编辑​​$HADOOP_HOME/etc/hadoop/core-site.xml​​文件:
<configuration>
<property>
    <name>fs.defaultFS</name>
    <value>hdfs://node1:9000</value>
</property>
<property>
    <name>hadoop.tmp.dir</name>
    <value>/app/hadoop/tmp</value>
</property>
</configuration>
[*]配置hdfs-site.xml​:


[*]编辑​​$HADOOP_HOME/etc/hadoop/hdfs-site.xml​​文件:
<configuration>
<property>
    <name>dfs.replication</name>
    <value>3</value>
</property>
<property>
    <name>dfs.namenode.http-address</name>
    <value>node1:9870</value>
</property>
<property>
    <name>dfs.namenode.secondary.http-address</name>
    <value>node2:9868</value>
</property>
</configuration>
[*]配置yarn-site.xml​:


[*]编辑​​$HADOOP_HOME/etc/hadoop/yarn-site.xml​​文件:
<configuration>
<property>
    <name>yarn.resourcemanager.hostname</name>
    <value>node1</value>
</property>
<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property>
<property>
    <name>yarn.nodemanager.resource.memory-mb</name>
    <value>4096</value>
</property>
<property>
    <name>yarn.scheduler.maximum-allocation-mb</name>
    <value>4096</value>
</property>
</configuration>
[*]配置mapred-site.xml​:


[*]编辑​​$HADOOP_HOME/etc/hadoop/mapred-site.xml​​文件:
<configuration>
<property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
</property>
</configuration>
[*]配置workers​文件:


[*]编辑​​$HADOOP_HOME/etc/hadoop/workers​​文件,添加所有DataNode和NodeManager的主机名:
node1node2
node3 格式化NameNode


[*]格式化NameNode:


[*]在主节点上执行以下下令:
hdfs namenode -format 启动Hadoop集群


[*]启动HDFS:


[*]在主节点上启动HDFS:
start-dfs.sh
[*]启动YARN:


[*]在主节点上启动YARN:
start-yarn.sh
[*]验证集群状态:


[*]访问NameNode的Web界面,确保所有DataNode都已连接:
http://node1:9870

[*]访问ResourceManager的Web界面,确保所有NodeManager都已连接:
http://node1:8088 测试Hadoop集群


[*]上传测试文件:


[*]创建一个测试文件并上传到HDFS:
echo "This is a test file." > test.txt
hdfs dfs -put test.txt /user/yourusername/
[*]运行MapReduce作业:


[*]运行一个简单的WordCount作业:
hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.1.jar wordcount /user/yourusername/test.txt /user/yourusername/output
[*]查看输出结果:


[*]查看WordCount作业的输出结果:
hdfs dfs -cat /user/yourusername/output/part-r-00000 通过以上步调,你应该能够成功地在3台服务器上搭建一个Hadoop 3.x集群,并运行根本的Hadoop作业。如果有任何问题,请检查日志文件以获取更多信息。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 【详解】基于3台服务器搭建Hadoop3.x集群