本文目录导读:
图片来源于网络,如有侵权联系删除
伪分布式Hadoop集群搭建全流程
环境准备
1、操作系统选择
- 推荐使用Linux系统,如Ubuntu或CentOS,这里以Ubuntu为例,确保系统已经安装并且网络连接正常。
2、安装Java环境
- Hadoop是基于Java开发的,所以需要安装Java运行环境,可以通过以下命令安装OpenJDK:
- 在Ubuntu上,执行sudo apt - get update
,然后sudo apt - get install openjdk - 8 - jdk
。
- 安装完成后,通过java - version
命令验证Java是否安装成功。
3、创建Hadoop用户
- 为了方便管理Hadoop集群,创建一个专门的用户,执行sudo useradd - m hadoop - s /bin/bash
,然后设置密码sudo passwd hadoop
。
- 使用su - hadoop
命令切换到hadoop用户。
Hadoop安装
1、下载Hadoop
- 从Hadoop官方网站(https://hadoop.apache.org/releases.html)下载适合的Hadoop版本,下载hadoop - 3.3.0版本。
- 在hadoop用户的家目录下创建一个software
目录,将下载的Hadoop压缩包移动到该目录下。
- 使用tar - zxvf hadoop - 3.3.0.tar.gz
命令解压Hadoop到指定目录,如/home/hadoop/hadoop - 3.3.0
。
2、配置Hadoop环境变量
- 编辑~/.bashrc
文件,添加以下内容:
export HADOOP_HOME = /home/hadoop/hadoop - 3.3.0
export PATH = $PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
- 执行source ~/.bashrc
使环境变量生效。
Hadoop配置文件修改
1、core - site.xml
- 该文件位于$HADOOP_HOME/etc/hadoop
目录下。
- 编辑core - site.xml
,添加以下配置:
```xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
```
- 这里指定了Hadoop的默认文件系统为HDFS,并且监听在本地的9000端口。
2、hdfs - site.xml
图片来源于网络,如有侵权联系删除
- 同样在$HADOOP_HOME/etc/hadoop
目录下。
- 配置如下:
```xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/hadoop/hadoop - 3.3.0/hdfs/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/hadoop/hadoop - 3.3.0/hdfs/datanode</value>
</property>
</configuration>
```
- 这里设置了HDFS的副本数为1,因为是伪分布式环境,同时指定了NameNode和DataNode的数据存储目录。
3、mapred - site.xml
- 从mapred - site.xml.template
复制一份得到mapred - site.xml
。
- 编辑mapred - site.xml
,添加:
```xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
```
- 这表明MapReduce任务将运行在YARN框架上。
4、yarn - site.xml
图片来源于网络,如有侵权联系删除
- 在$HADOOP_HOME/etc/hadoop
目录下。
- 配置如下:
```xml
<configuration>
<property>
<name>yarn.nodemanager.aux - services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>localhost</value>
</property>
</configuration>
```
- 这里指定了YARN的NodeManager辅助服务和ResourceManager的主机名。
启动Hadoop
1、格式化HDFS
- 首次启动Hadoop时,需要格式化HDFS,执行hdfs namenode - format
命令。
- 格式化成功后会在指定的dfs.namenode.name.dir
目录下创建相关文件和目录结构。
2、启动Hadoop服务
- 启动HDFS:执行start - dfs.sh
命令。
- 启动YARN:执行start - yarn.sh
命令。
- 可以通过jps
命令查看启动的进程,应该能看到NameNode
、DataNode
、ResourceManager
和NodeManager
等进程。
测试Hadoop集群
1、创建HDFS目录
- 执行hdfs dfs - mkdir /input
命令在HDFS上创建一个名为/input
的目录。
2、上传文件到HDFS
- 将本地的一个文本文件上传到HDFS的/input
目录下,执行hdfs dfs - put /home/hadoop/test.txt /input
。
3、运行MapReduce示例程序
- 执行hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop - mapreduce - examples - 3.3.0.jar wordcount /input /output
。
- 这个命令会在/input
目录下的文件上运行WordCount示例程序,结果将输出到/output
目录。
- 运行完成后,可以通过hdfs dfs - cat /output/part - r - 00000
查看结果。
通过以上步骤,我们就成功搭建了伪分布式的Hadoop集群,并进行了简单的测试,在实际应用中,可以根据具体需求进一步优化和扩展集群配置。
评论列表