HDFS(三)——Hadoop伪分布式版本搭建

174 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第13天,点击查看活动详情

前言

我们聊完了HDFS的概念和组件之后,现在大家的下一步想法肯定是迫不及待的想要使用HDFS的功能的,使用功能前肯定需要把系统搭建出来,今天的主题就是如何搭建一个伪分布式的Hadoop系统。

Hadoop伪分布式版本搭建

首先,需要去Haddoop的官网上,选择自己需要的版本(笔者这边选择的是hadoop-2.10.1),下载下来并且解压到本地文件夹中。

修改配置文件

进入/etc/hadoop的目录中,可以看到许多的配置文件。

image.png 我们只需要修改某几个配置文件即可,分别是:

  • 修改core-site.xml配置文件,在<configuration>内增加配置项:
<configuration>
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://localhost/</value>
  </property>
</configuration>
  • 修改hdfs-site.xml配置文件,在<configuration>内增加配置项:
<configuration>
  <property>
    <name>dfs.replication</name>
    <value>1</value>
  </property>
</configuration>
  • 修改mapred-site.xml配置文件(如果没有找到该文件,可以将mapred-site.xml.template文件复制一份,然后进行重命名即可),在<configuration>内增加配置项:
<configuration>
  <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
  </property>
</configuration>
  • 修改yarn-site.xml配置文件,在<configuration>内增加配置项:
<configuration>

<!-- Site specific YARN configuration properties -->
  <property>
    <name>yarn.resourcemanager.hostname</name>
    <value>localhost</value>
  </property>
  <property>
    <name>yarn.resourcemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
  </property>

</configuration>

配置SSH

在本地需要基于空口令生成一个新SSH密钥,实现无密码登陆。

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

使用测试指令,看下该密钥设置是否生效了:

ssh localhost

如果可以正常登录,那表示设置成功了,如下图所示:

image.png

格式化HDFS文件系统

在我们首次使用前,我们必须要格式化HDFS文件系统,执行以下命令:

hdfs namenode -format

启动守护进程

现在我们需要启动我们的Hadoop,让HDFS为用户提供正常的服务。需要按顺序执行以下命令:

start-dfs.sh
start-yarn.sh
mr-jobhistory-daemon.sh start historyserver

如果以上命令执行结果都是成功的,那代表Hadoop已经正常启动了。

创建用户目录

为了测试Hadoop的服务是否正常,我们可以创建属于自己的用户目录,执行以下命令:

hadoop fs -mkdir -p /user/$USER

目录创建完成之后,我们可以进行查看,确认目录是否创建成功

hadoop fs -ls .

可以看到目录已经创建完成了。

关闭守护进程

最后我们需要关闭我们的Hadoop服务。需要按顺序执行以下命令:

stop-dfs.sh
stop-yarn.sh
mr-jobhistory-daemon.sh stop historyserver

总结

今天我们完成了Hadoop伪分布式版本的搭建操作。