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

打印 上一主题 下一主题

主题 1575|帖子 1575|积分 4725

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

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文件

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

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

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

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

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

编辑 ​​/opt/hadoop/etc/hadoop/core-site.xml​​ 文件,添加以下内容:
  1. <configuration>
  2.     <property>
  3.         <name>fs.defaultFS</name>
  4.         <value>hdfs://node1:9000</value>
  5.     </property>
  6.     <property>
  7.         <name>hadoop.tmp.dir</name>
  8.         <value>/app/hadoop/tmp</value>
  9.     </property>
  10. </configuration>
复制代码
5.2 修改 ​​hdfs-site.xml​​

编辑 ​​/opt/hadoop/etc/hadoop/hdfs-site.xml​​ 文件,添加以下内容:
  1. <configuration>
  2.     <property>
  3.         <name>dfs.replication</name>
  4.         <value>2</value>
  5.     </property>
  6.     <property>
  7.         <name>dfs.namenode.http-address</name>
  8.         <value>node1:9870</value>
  9.     </property>
  10.     <property>
  11.         <name>dfs.namenode.secondary.http-address</name>
  12.         <value>node1:9868</value>
  13.     </property>
  14. </configuration>
复制代码
5.3 修改 ​​yarn-site.xml​​

编辑 ​​/opt/hadoop/etc/hadoop/yarn-site.xml​​ 文件,添加以下内容:
  1. <configuration>
  2.     <property>
  3.         <name>yarn.resourcemanager.hostname</name>
  4.         <value>node1</value>
  5.     </property>
  6.     <property>
  7.         <name>yarn.nodemanager.aux-services</name>
  8.         <value>mapreduce_shuffle</value>
  9.     </property>
  10.     <property>
  11.         <name>yarn.nodemanager.resource.memory-mb</name>
  12.         <value>4096</value>
  13.     </property>
  14. </configuration>
复制代码
5.4 修改 ​​mapred-site.xml​​

编辑 ​​/opt/hadoop/etc/hadoop/mapred-site.xml​​ 文件,添加以下内容:
  1. <configuration>
  2.     <property>
  3.         <name>mapreduce.framework.name</name>
  4.         <value>yarn</value>
  5.     </property>
  6. </configuration>
复制代码
5.5 配置 ​​slaves​​ 文件

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

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

在Node1上启动HDFS和YARN:
  1. start-dfs.sh
  2. start-yarn.sh
复制代码
8. 验证集群状态

访问HDFS Web界面:
  1. http://node1:9870
复制代码
访问YARN Web界面:
  1. http://node1:8088
复制代码
9. 测试Hadoop

在Node1上创建一个测试目录,并上传文件:
  1. hdfs dfs -mkdir /user
  2. hdfs dfs -mkdir /user/test
  3. hdfs dfs -put /path/to/local/file /user/test/
复制代码
运行一个简单的MapReduce作业:
  1. hadoop jar /opt/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.1.jar wordcount /user/test/input /user/test/output
复制代码
查看输出结果:
  1. 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:
  1. sudo apt update
  2. sudo apt install openjdk-8-jdk -y
复制代码

2. 下载并解压Hadoop

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

编辑 ​​/etc/profile​​ 文件,添加Hadoop环境变量:
  1. export HADOOP_HOME=/usr/local/hadoop-3.3.1
  2. export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
复制代码
使配置生效:
  1. 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​​:
  1. <configuration>
  2.     <property>
  3.         <name>fs.defaultFS</name>
  4.         <value>hdfs://192.168.1.101:9000</value>
  5.     </property>
  6.     <property>
  7.         <name>hadoop.tmp.dir</name>
  8.         <value>/app/hadoop/tmp</value>
  9.     </property>
  10. </configuration>
复制代码
hdfs-site.xml

在所有节点上编辑 ​​/usr/local/hadoop-3.3.1/etc/hadoop/hdfs-site.xml​​:
  1. <configuration>
  2.     <property>
  3.         <name>dfs.replication</name>
  4.         <value>2</value>
  5.     </property>
  6.     <property>
  7.         <name>dfs.namenode.http-address</name>
  8.         <value>192.168.1.101:9870</value>
  9.     </property>
  10.     <property>
  11.         <name>dfs.namenode.secondary.http-address</name>
  12.         <value>192.168.1.101:9868</value>
  13.     </property>
  14. </configuration>
复制代码
yarn-site.xml

在所有节点上编辑 ​​/usr/local/hadoop-3.3.1/etc/hadoop/yarn-site.xml​​:
  1. <configuration>
  2.     <property>
  3.         <name>yarn.resourcemanager.hostname</name>
  4.         <value>192.168.1.101</value>
  5.     </property>
  6.     <property>
  7.         <name>yarn.nodemanager.aux-services</name>
  8.         <value>mapreduce_shuffle</value>
  9.     </property>
  10. </configuration>
复制代码
mapred-site.xml

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

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

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

在NameNode上启动HDFS和YARN:
  1. start-dfs.sh
  2. start-yarn.sh
复制代码
8. 验证集群状态

在NameNode上验证HDFS和YARN的状态:
  1. 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​​文件中添加如下内容:
  1. 192.168.1.101 node1
  2. 192.168.1.102 node2
  3. 192.168.1.103 node3
复制代码

  • SSH无密码登录


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


  • 下载Hadoop


  • 在主节点上下载Hadoop 3.x的压缩包:
  1. wget https://archive.apache.org/dist/hadoop/core/hadoop-3.3.1/hadoop-3.3.1.tar.gz
复制代码

  • 解压Hadoop


  • 解压到指定目录,比方​​/usr/local/​​:
  1. tar -xzvf hadoop-3.3.1.tar.gz -C /usr/local/
复制代码

  • 创建软链接


  • 创建一个软链接方便管理:
  1. ln -s /usr/local/hadoop-3.3.1 /usr/local/hadoop
复制代码

  • 分发Hadoop


  • 将Hadoop分发到其他节点:
  1. scp -r /usr/local/hadoop node2:/usr/local/
  2. scp -r /usr/local/hadoop node3:/usr/local/
复制代码
配置Hadoop


  • 修改环境变量


  • 编辑​​~/.bashrc​​文件,添加Hadoop环境变量:
  1. export HADOOP_HOME=/usr/local/hadoop
  2. export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
复制代码


  • 使环境变量生效:
  1. source ~/.bashrc
复制代码

  • 配置core-site.xml​:


  • 编辑​​$HADOOP_HOME/etc/hadoop/core-site.xml​​文件:
  1. <configuration>
  2.   <property>
  3.     <name>fs.defaultFS</name>
  4.     <value>hdfs://node1:9000</value>
  5.   </property>
  6.   <property>
  7.     <name>hadoop.tmp.dir</name>
  8.     <value>/app/hadoop/tmp</value>
  9.   </property>
  10. </configuration>
复制代码

  • 配置hdfs-site.xml​:


  • 编辑​​$HADOOP_HOME/etc/hadoop/hdfs-site.xml​​文件:
  1. <configuration>
  2.   <property>
  3.     <name>dfs.replication</name>
  4.     <value>3</value>
  5.   </property>
  6.   <property>
  7.     <name>dfs.namenode.http-address</name>
  8.     <value>node1:9870</value>
  9.   </property>
  10.   <property>
  11.     <name>dfs.namenode.secondary.http-address</name>
  12.     <value>node2:9868</value>
  13.   </property>
  14. </configuration>
复制代码

  • 配置yarn-site.xml​:


  • 编辑​​$HADOOP_HOME/etc/hadoop/yarn-site.xml​​文件:
  1. <configuration>
  2.   <property>
  3.     <name>yarn.resourcemanager.hostname</name>
  4.     <value>node1</value>
  5.   </property>
  6.   <property>
  7.     <name>yarn.nodemanager.aux-services</name>
  8.     <value>mapreduce_shuffle</value>
  9.   </property>
  10.   <property>
  11.     <name>yarn.nodemanager.resource.memory-mb</name>
  12.     <value>4096</value>
  13.   </property>
  14.   <property>
  15.     <name>yarn.scheduler.maximum-allocation-mb</name>
  16.     <value>4096</value>
  17.   </property>
  18. </configuration>
复制代码

  • 配置mapred-site.xml​:


  • 编辑​​$HADOOP_HOME/etc/hadoop/mapred-site.xml​​文件:
  1. <configuration>
  2.   <property>
  3.     <name>mapreduce.framework.name</name>
  4.     <value>yarn</value>
  5.   </property>
  6. </configuration>
复制代码

  • 配置workers​文件


  • 编辑​​$HADOOP_HOME/etc/hadoop/workers​​文件,添加所有DataNode和NodeManager的主机名:
  1. node1node2
  2. node3
复制代码
格式化NameNode


  • 格式化NameNode


  • 在主节点上执行以下下令:
  1. hdfs namenode -format
复制代码
启动Hadoop集群


  • 启动HDFS


  • 在主节点上启动HDFS:
  1. start-dfs.sh
复制代码

  • 启动YARN


  • 在主节点上启动YARN:
  1. start-yarn.sh
复制代码

  • 验证集群状态


  • 访问NameNode的Web界面,确保所有DataNode都已连接:
  1. http://node1:9870
复制代码


  • 访问ResourceManager的Web界面,确保所有NodeManager都已连接:
  1. http://node1:8088
复制代码
测试Hadoop集群


  • 上传测试文件


  • 创建一个测试文件并上传到HDFS:
  1. echo "This is a test file." > test.txt
  2. hdfs dfs -put test.txt /user/yourusername/
复制代码

  • 运行MapReduce作业


  • 运行一个简单的WordCount作业:
  1. hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.1.jar wordcount /user/yourusername/test.txt /user/yourusername/output
复制代码

  • 查看输出结果


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

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

使用道具 举报

0 个回复

倒序浏览

快速回复

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

本版积分规则

张春

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表