hadoop之伪分布式

本文档详细介绍了如何在伪分布式模式下配置Hadoop,包括设置SSH免密码登录、配置core-site.xml、解决JAVA_HOME问题、启动HDFS并验证、创建HDFS目录和上传文件。之后,文章还涉及了安装和测试YARN的过程,以及如何关闭YARN服务。通过这些步骤,读者可以了解Hadoop的基本操作和管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

接上篇 http://blog.youkuaiyun.com/yibei8811/article/details/46709135

配置文件etc/hadoop/core-site.xml:添加

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>  --配置hdfs分布式文件系统
    </property>
</configuration>

配置文件etc/hadoop/hdfs-site.xml:添加

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>                      --文件系统存储几份
    </property>
</configuration>


hadoop需要各个datanode通讯,数据复制,需要设置ssh免密码登陆,执行

ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
使用命令
ssh localhost
测试是是否成功,如果不成功,执行
cd ~/.ssh/
chmod 600 authorized_keys

貌似ssh免登陆需要600权限。


进入hadoop主目录,依次执行代码测试

1.

bin/hdfs namenode -format   --格式化文件系统
2.
sbin/start-dfs.sh           --启用文件系统
这里启动的时候报错JAVA_HOME找不到,检索以下脚本报错信息位置。
find ./ -name '*.sh' |xargs grep 'Error: JAVA_HOME is not set and could not be found'
./libexec/hadoop-config.sh:    echo "Error: JAVA_HOME is not set and could not be found." 1>&2

搜索到的shell脚本,跳转很乱,我们打开  etc/hadoop/hadoop-env.sh文件

发现脚本25行,有export JAVA_HOME=${JAVA_HOME},

我已经在profile配置过JAVA_HOME但是这里居然无效,我在hadoop主目录下再次配置JAVA_HOME也是无效,遂修改为

export JAVA_HOME=/root/soft/java1.7/jdk1.7.0_79/

重新回到第2步最初,启动hfs成功。

3.

有一个http网址已经可以查看了。默认在http://localhost:50070/

4.

在HDFS文件系统上创建目录,执行

bin/hdfs dfs -mkdir /user
bin/hdfs dfs -mkdir /user/hadoop

如果不明白这2个命令的话,可以执行

bin/hdfs dfs -ls /
bin/hdfs dfs -ls /user

我想你会理解它。

5.

把一些文件放入HDFS文件系统,执行

bin/hdfs dfs -put etc/hadoop input

6.

运行测试,执行

 bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.0.jar grep input output 'dfs[a-z.]+'
7.

将hadoop文件系统内文件,考入Linux文件系统,并查看内容,

执行

bin/hdfs dfs -get output output
cat output/*


也可以直接输出HDFS文件系统的文件内容,执行

bin/hdfs dfs -cat output/*

8.如果想关闭HDFS文件系统,执行

sbin/stop-dfs.sh

**********************************************************************************************************************************

hadoop2.0有一个特性是yarn,下面把yarn也装上。

1.

修改配置文件etc/hadoop/mapred-site.xml:

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>                  --给hadoop装上yarn
    </property>
</configuration>

etc/hadoop/yarn-site.xml:

<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>    --yarn通过这个程序运行mapreduce
    </property>
</configuration>

2.

启动yarn,执行

 sbin/start-yarn.sh

3.

yarn的WEB接口网址已经可以查看了,默认地址 http://localhost:8088/


4.

测试yarn,执行上一个mapreduce代码,只改变一下输出目录

bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.0.jar grep input output2 'dfs[a-z.]+'

感觉上yarn上面跑的好像比刚才慢点?我未有严谨的测试它。


5.

和之前的输出对比一下,执行

bin/hdfs dfs -cat output/*
bin/hdfs dfs -cat output2/*
发现结果是一样,这个很正常。


6.如果想关闭yarn,执行

sbin/stop-yarn.sh


tips:

1.

若不知道配置文件格式,或者有哪些参数,可以执行下面等命令,看看系统自带的文件的格式。

find ~/hadoop-2.7.0/ -name core-default.xml
find ~/hadoop-2.7.0/ -name hdfs-default.xml
find ~/hadoop-2.7.0/ -name yarn-default.xml

顺带可以了解哪些已经默认配置了。

2 hadoop还有一些相关的信息,可以查看启动的进程和端口进行分析。.


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值