本文目录导读:
图片来源于网络,如有侵权联系删除
《Hadoop分布式集群搭建完整教程》
环境准备
1、硬件要求
- 多台服务器(至少3台,这里假设3台),配置可以根据实际需求而定,但建议每台服务器有足够的内存(如8GB以上)、合适的处理器(如四核以上)和磁盘空间(如100GB以上)。
2、软件要求
- 操作系统:选择Linux系统,例如CentOS 7.x版本,确保每台服务器都安装了相同版本的CentOS系统。
- Java环境:Hadoop是基于Java开发的,需要安装JDK,可以从Oracle官网下载JDK 8或更高版本,安装步骤如下:
- 在每台服务器上执行以下命令下载JDK:
```bash
wget -c --header "Cookie: oraclelicense=accept - securebackup - cookie" http://download.oracle.com/otn - pu b/java/jdk/8u201 - b09/42970487e3af4f5aa5bca3f542482c60/jdk - 8u201 - linux - x64.tar.gz
```
- 解压JDK:
```bash
tar -zxvf jdk - 8u201 - linux - x64.tar.gz
```
- 设置环境变量:编辑/etc/profile
文件,添加以下内容:
```bash
export JAVA_HOME=/path/to/jdk1.8.0_201
export PATH=$PATH:$JAVA_HOME/bin
```
- 使环境变量生效:
```bash
source /etc/profile
```
Hadoop安装
1、下载Hadoop
- 从Hadoop官方网站(https://hadoop.apache.org/)下载稳定版本的Hadoop,例如Hadoop 3.x版本,下载完成后,将压缩包上传到每台服务器的指定目录,如/opt
目录。
- 在每台服务器上解压Hadoop:
```bash
tar -zxvf hadoop - 3.x.x.tar.gz
```
2、配置Hadoop
核心配置文件(core - site.xml)
- 编辑$HADOOP_HOME/etc/hadoop/core - site.xml
文件($HADOOP_HOME
为Hadoop的安装目录),添加以下内容:
```xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop - 3.x.x/tmp</value>
</property>
</configuration>
```
- 这里master
是我们指定的Hadoop集群中的主节点主机名,9000
是HDFS的默认端口,hadoop.tmp.dir
指定了Hadoop临时文件的存储目录。
HDFS配置文件(hdfs - site.xml)
- 编辑$HADOOP_HOME/etc/hadoop/hdfs - site.xml
文件,添加如下内容:
图片来源于网络,如有侵权联系删除
```xml
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/opt/hadoop - 3.x.x/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/opt/hadoop - 3.x.x/dfs/data</value>
</property>
</configuration>
```
dfs.replication
指定了数据块的副本数量,这里设置为3,因为我们有3台服务器。dfs.namenode.name.dir
和dfs.datanode.data.dir
分别指定了NameNode和DataNode的数据存储目录。
YARN配置文件(yarn - site.xml)
- 编辑$HADOOP_HOME/etc/hadoop/yarn - site.xml
文件:
```xml
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<property>
<name>yarn.nodemanager.aux - services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
```
- 这里yarn.resourcemanager.hostname
指定了YARN资源管理器所在的主机名,yarn.nodemanager.aux - services
配置了YARN的辅助服务。
MapReduce配置文件(mapred - site.xml)
- 从模板文件创建mapred - site.xml
:
```bash
cp $HADOOP_HOME/etc/hadoop/mapred - site.xml.template $HADOOP_HOME/etc/hadoop/mapred - site.xml
```
- 编辑mapred - site.xml
文件:
```xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
```
集群配置
1、主机名配置
图片来源于网络,如有侵权联系删除
- 在每台服务器上设置不同的主机名,例如在主节点上设置主机名为master
,在从节点上分别设置为slave1
和slave2
,编辑/etc/hostname
文件,将主机名修改为对应的名称,然后重启服务器使主机名生效。
2、主机映射配置
- 在每台服务器上编辑/etc/hosts
文件,添加以下内容:
```bash
192.168.1.100 master
192.168.1.101 slave1
192.168.1.102 slave2
```
- 这里的IP地址需要根据实际服务器的IP地址进行修改。
3、SSH无密码登录配置
- 在主节点上生成SSH密钥对:
```bash
ssh - keygen - t rsa
```
- 将公钥复制到从节点上:
- 在主节点上执行以下命令:
```bash
ssh - copy - id slave1
ssh - copy - id slave2
```
- 这样就可以实现主节点到从节点的无密码SSH登录,方便Hadoop集群的管理。
启动Hadoop集群
1、格式化NameNode
- 在主节点上执行以下命令格式化NameNode:
```bash
$HADOOP_HOME/bin/hdfs namenode - format
```
- 此操作只需要在首次启动集群时执行一次。
2、启动HDFS和YARN服务
- 在主节点上启动HDFS服务:
```bash
$HADOOP_HOME/sbin/start - dfs.sh
```
- 启动YARN服务:
```bash
$HADOOP_HOME/sbin/start - yarn.sh
```
3、验证集群状态
- 可以通过以下命令查看HDFS的状态:
```bash
$HADOOP_HOME/bin/hdfs dfsadmin - report
```
- 查看YARN的状态:
```bash
$HADOOP_HOME/bin/yarn node - list
```
通过以上步骤,我们就完成了一个基本的Hadoop分布式集群的搭建,可以在这个集群上运行MapReduce等大数据相关的任务了,在实际应用中,还可能需要根据具体的业务需求进行更多的配置和优化,例如调整内存分配、增加节点等操作。
评论列表