持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第13天,点击查看活动详情
前言
我们聊完了HDFS的概念和组件之后,现在大家的下一步想法肯定是迫不及待的想要使用HDFS的功能的,使用功能前肯定需要把系统搭建出来,今天的主题就是如何搭建一个伪分布式的Hadoop系统。
Hadoop伪分布式版本搭建
首先,需要去Haddoop的官网上,选择自己需要的版本(笔者这边选择的是hadoop-2.10.1),下载下来并且解压到本地文件夹中。
修改配置文件
进入/etc/hadoop的目录中,可以看到许多的配置文件。
我们只需要修改某几个配置文件即可,分别是:
- 修改
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
如果可以正常登录,那表示设置成功了,如下图所示:
格式化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伪分布式版本的搭建操作。