《Hadoop伪分布式集群搭建全流程解析》
一、环境准备
图片来源于网络,如有侵权联系删除
1、操作系统选择与安装
- 推荐使用Linux系统,如Ubuntu或CentOS,这里以CentOS 7为例,在安装CentOS 7时,确保系统安装了基本的网络组件、SSH服务等,在安装过程中,根据服务器的硬件配置合理分配磁盘空间、内存等资源。
- 安装完成后,更新系统软件包,可以使用命令yum update -y
,这一步会将系统中的软件包更新到最新版本,以确保系统的安全性和兼容性。
2、Java环境安装
- Hadoop运行依赖于Java环境,首先检查系统是否已经安装Java,可以使用命令java -version
,如果没有安装,在CentOS 7上可以通过yum安装OpenJDK,执行命令yum install -y java - 1.8.0 - openjdk - devel
,安装完成后,设置Java环境变量,编辑/etc/profile
文件,添加以下内容:
```bash
export JAVA_HOME=/usr/lib/jvm/java - 1.8.0 - openjdk - 1.8.0.275.b01 - 0.el7_9.x86_64
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
```
- 保存文件后,执行source /etc/profile
使环境变量生效。
3、创建Hadoop用户并配置SSH免密登录
- 创建一个专门用于运行Hadoop的用户,例如hadoopuser
,使用命令useradd hadoopuser
,然后设置密码passwd hadoopuser
。
- 切换到hadoopuser
用户,su - hadoopuser
,配置SSH免密登录,首先生成密钥对,执行ssh - keygen - t rsa
,一路回车默认即可,然后将公钥添加到授权文件中,执行cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
,并修改authorized_keys
文件权限为chmod 600 ~/.ssh/authorized_keys
。
二、Hadoop安装
1、下载Hadoop安装包
- 从Hadoop官方网站(https://hadoop.apache.org/releases.html)下载适合的Hadoop版本,下载hadoop - 3.3.1.tar.gz,将下载的安装包上传到hadoopuser
用户的家目录下(可以使用工具如scp或WinSCP等进行上传)。
2、解压安装包
- 在hadoopuser
用户的家目录下,执行命令tar -zxvf hadoop - 3.3.1.tar.gz
,解压后会得到一个hadoop - 3.3.1
的目录,为了方便管理,可以将其重命名为hadoop
,执行命令mv hadoop - 3.3.1 hadoop
。
3、配置Hadoop环境变量
- 编辑~/.bashrc
文件,添加以下内容:
```bash
export HADOOP_HOME=/home/hadoopuser/hadoop
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
```
- 保存文件后,执行source ~/.bashrc
使环境变量生效。
4、Hadoop核心配置文件修改
hadoop - env.sh:编辑$HADOOP_HOME/etc/hadoop/hadoop - env.sh
文件,找到export JAVA_HOME
这一行,将其修改为之前安装Java时设置的JAVA_HOME
路径,即export JAVA_HOME=/usr/lib/jvm/java - 1.8.0 - openjdk - 1.8.0.275.b01 - 0.el7_9.x86_64
。
core - site.xml:编辑$HADOOP_HOME/etc/hadoop/core - site.xml
,添加以下配置:
```xml
<?xml version="1.0" encoding="UTF - 8"?>
<?xml - stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
图片来源于网络,如有侵权联系删除
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
```
hdfs - site.xml:编辑$HADOOP_HOME/etc/hadoop/hdfs - site.xml
,添加以下配置:
```xml
<?xml version="1.0" encoding="UTF - 8"?>
<?xml - stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/hadoopuser/hadoop_data/hdfs/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/hadoopuser/hadoop_data/hdfs/datanode</value>
</property>
</configuration>
```
- 在配置dfs.namenode.name.dir
和dfs.datanode.data.dir
时,需要提前创建对应的目录,可以使用命令mkdir -p /home/hadoopuser/hadoop_data/hdfs/namenode
和mkdir -p /home/hadoopuser/hadoop_data/hdfs/datanode
。
三、启动Hadoop伪分布式集群
1、格式化HDFS文件系统
- 执行命令hdfs namenode - format
,这一步会初始化HDFS文件系统,创建必要的目录结构和元数据文件,在格式化过程中,会显示一些初始化信息,如创建的目录路径等。
2、启动Hadoop服务
- 启动HDFS服务,执行命令start - dfs.sh
,可以使用jps
命令查看启动的进程,应该能看到NameNode
、DataNode
和SecondaryNameNode
进程。
- 启动YARN(如果需要运行MapReduce任务等),编辑$HADOOP_HOME/etc/hadoop/mapred - site.xml
,添加以下配置:
```xml
图片来源于网络,如有侵权联系删除
<?xml version="1.0" encoding="UTF - 8"?>
<?xml - stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
```
- 编辑$HADOOP_HOME/etc/hadoop/yarn - site.xml
,添加以下配置:
```xml
<?xml version="1.0" encoding="UTF - 8"?>
<?xml - stylesheet type="text/xsl" href="configuration.xsl"?>
<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服务,执行命令start - yarn.sh
,使用jps
命令查看,应该能看到ResourceManager
和NodeManager
进程。
3、验证Hadoop集群是否正常工作
- 可以通过Hadoop的Web界面进行查看,对于HDFS,访问http://localhost:9870
(在Hadoop 3.x版本中,之前版本可能是http://localhost:50070
),可以看到HDFS的相关信息,如文件系统的使用情况、节点信息等。
- 对于YARN,访问http://localhost:8088
,可以查看YARN的集群资源使用情况、正在运行的任务等信息。
- 还可以通过命令行方式进行简单的测试,在HDFS上创建一个目录,执行命令hdfs dfs -mkdir /test
,然后查看目录是否创建成功,执行命令hdfs dfs -ls /
,如果能看到创建的/test
目录,则说明HDFS操作正常。
通过以上步骤,就可以成功搭建Hadoop伪分布式集群,并进行基本的操作和测试,在实际使用中,还可以根据具体的需求进一步优化配置,如调整内存分配、磁盘配额等。
评论列表