Day1 Hadoop伪分布式安装
Hadoop环境搭建
第一天学习了如何在单台机器上安装并配置Hadoop伪分布式模式。伪分布式模式可以在一台机器上模拟Hadoop的分布式运行环境,非常适合用于学习和开发目的。
步骤一:准备工作
在开始安装之前,请确保你已经完成以下准备工作:
1.安装Java环境:Hadoop需要Java环境来运行。请确保你已经安装了Java并配置了JAVA_HOME环境变量。
2.下载Hadoop:你可以从Hadoop官方网站下载最新的稳定版本,也可以从GitHub上获取。本教程使用的是Hadoop 3.2.3版本。
3.解压Hadoop:将下载的Hadoop压缩包解压到你的机器上的任意位置,比如/opt/module/。
步骤二:配置Hadoop
1.修改hadoop-env.sh文件:在Hadoop安装目录下找到etc/hadoop文件夹,在该文件夹中找到hadoop-env.sh文件,用文本编辑器打开并修改如下内容:
export JAVA_HOME=/path/to/your/java/home
将/path/to/your/java/home替换为你的Java安装路径。
2.修改core-site.xml文件:在etc/hadoop文件夹下找到core-site.xml文件,用文本编辑器打开并添加如下内容:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
这个配置项指定了Hadoop的默认文件系统和名称节点的地址。
3.修改hdfs-site.xml文件:在etc/hadoop文件夹下找到hdfs-site.xml文件,用文本编辑器打开并添加如下内容:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
这个配置项指定了数据块的备份数量。在伪分布式模式下,因为只有一台机器,所以设置为1即可。
4.修改 mapred-site.xml,设置 mapreduce 使用的资源调度框架:在etc/hadoop文件夹下找到mapred-site.xml文件,用文本编辑器打开并添加如下内容:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
5.修改 yarn-site.xml,设置 yarn 上支持运行的服务和环境变量白名单:在etc/hadoop文件夹下找到yarn-site.xml文件,用文本编辑器打开并添加如下内容:
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.env-whitelist</name>
<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
</property>
</configuration>
步骤三:启动Hadoop
1.格式化Hadoop文件系统:在终端中执行以下命令格式化Hadoop文件系统:
hdfs namenode -format
这个命令将初始化Hadoop文件系统。
2.启动Hadoop服务:在终端中执行以下命令启动Hadoop服务:
start-all.sh
这个命令将启动Hadoop的各个组件,包括名称节点、数据节点和资源管理器等。
至此,Hadoop伪分布式模式安装和配置完成。
验证集群进程信息
执行 jps 命令可以查看集群的进程信息,除了jps 这个进程之外还需要有 5 个进程才说明集群是正常启动的:
还可以通过 webui 界面来验证集群服务是否正常:
hdfs webui 界面:http://虚拟机IP:9870
yarn webui 界面:http://虚拟机IP:8088
总结
通过一天的学习,学会了如何在单台机器上安装和配置Hadoop伪分布式模式。搭建了一个模拟分布式环境的学习和开发平台。接下来,可以开始学习和使用Hadoop的各种功能和特性了。