【详解】基于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]