本文目录导读:
《Hadoop伪分布式集群搭建全流程:从安装到运行》
环境准备
1、操作系统选择与安装
- 建议选择Linux系统,例如Ubuntu或CentOS,这里以CentOS 7为例,在虚拟机(如VMware或VirtualBox)中安装CentOS 7系统,确保系统安装完成后网络连接正常,可以通过ping
命令测试与外部网络的连接性。
2、Java环境安装
图片来源于网络,如有侵权联系删除
- Hadoop运行依赖于Java环境,使用yum
命令安装OpenJDK,在CentOS中执行以下命令:yum install -y java - openjdk - devel
,安装完成后,通过java - version
命令验证Java是否安装成功。
3、创建用户并配置权限
- 为了方便管理Hadoop相关文件和进程,创建一个专门的用户,例如hadoopuser
,使用useradd hadoopuser
命令创建用户,然后使用passwd hadoopuser
为该用户设置密码,赋予该用户sudo
权限,编辑/etc/sudoers
文件(使用visudo
命令),在文件中添加hadoopuser ALL=(ALL) ALL
。
Hadoop安装
1、下载Hadoop
- 从Hadoop官方网站(https://hadoop.apache.org/releases.html)下载合适版本的Hadoop,下载Hadoop 3.x版本,将下载的压缩包通过scp
命令或者直接在虚拟机内部下载到/home/hadoopuser
目录下。
2、解压Hadoop
- 在/home/hadoopuser
目录下执行命令tar -zxvf hadoop - 3.x.x.tar.gz
,解压后的Hadoop目录可以重命名为hadoop
以便于管理。
3、配置Hadoop环境变量
- 编辑~/.bashrc
文件,添加以下内容:
```bash
export HADOOP_HOME = /home/hadoopuser/hadoop
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配置文件(hdfs - site.xml)
- 同样在$HADOOP_HOME/etc/hadoop
目录下,编辑hdfs - site.xml
,添加如下配置:
```xml
图片来源于网络,如有侵权联系删除
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/hadoopuser/hadoopdata/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/hadoopuser/hadoopdata/datanode</value>
</property>
</configuration>
```
- 这里设置了HDFS的副本数为1,并且指定了namenode
和datanode
的数据存储目录。
3、MapReduce配置文件(mapred - site.xml)
- 复制mapred - site.xml.template
为mapred - site.xml
,然后编辑,添加以下配置:
```xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
```
- 这表示MapReduce将运行在YARN框架上。
4、YARN配置文件(yarn - site.xml)
图片来源于网络,如有侵权联系删除
- 编辑yarn - site.xml
,添加如下配置:
```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的相关服务配置。
格式化HDFS
1、执行格式化命令
- 在$HADOOP_HOME/bin
目录下,执行hdfs namenode - format
命令,这一步操作会初始化namenode
的相关元数据信息,创建存储目录等,成功执行后会显示格式化成功的相关信息。
启动Hadoop服务
1、启动HDFS服务
- 在$HADOOP_HOME/sbin
目录下,执行start - dfs.sh
命令,通过jps
命令可以查看启动的进程,应该能看到NameNode
、DataNode
等进程启动成功。
2、启动YARN服务
- 执行start - yarn.sh
命令,再次使用jps
命令查看,会发现ResourceManager
和NodeManager
等进程也已经启动。
测试Hadoop集群
1、创建HDFS目录并上传文件
- 在$HADOOP_HOME/bin
目录下,执行hdfs dfs - mkdir /input
命令创建一个input
目录,然后可以将本地的一个文件上传到HDFS的input
目录中,例如hdfs dfs - put /home/hadoopuser/sample.txt /input
。
2、运行示例MapReduce任务
- Hadoop自带了一些示例的MapReduce任务,可以执行hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop - mapreduce - examples - 3.x.x.jar wordcount /input /output
命令,这个命令会对input
目录下的文件进行单词计数,并将结果输出到output
目录,任务执行完成后,可以通过hdfs dfs - cat /output/part - r - 00000
查看结果。
通过以上步骤,就完成了Hadoop伪分布式集群的搭建、启动和简单测试,在实际应用中,可以根据具体需求进一步优化配置、开发自定义的MapReduce任务或者使用其他Hadoop生态系统中的工具。
评论列表