0
点赞
收藏
分享

微信扫一扫

【Hadoop学习】之 伪分布式安装


伪分布式安装时指在一台机器上模拟一个小的集群,但是集群中只有一个节点。

当Hadoop应用于集群时,都需要通过配置文件对各组件的协同工作进行设置

文件名称

格式

描述

hadoop-env.sh

Bash脚本

记录配置Hadoop运行所需的环境变量,以运行Hadoop

core-site.xml

Hadoop配置XML

Hadoop core的配置项,如HDFS和MapReduce常用的I/O设置等

hdfs-site.xml

Hadoop配置XML

Hadoop 守护进程的配置项,包括NameNode、Secondary NameNode 和 DataNode等

mapred-site.xml

Hadoop 配置XML

MapReduce守护进程的配置项,包括JobTracker 和 TaskTracker

masters

纯文本

运行SecondaryNameNode的机器列表(每行一个)

slaves

纯文本

运行DataNode和TaskTracker的机器列表(每行一个)

hadoop-metrics.properties

Java属性

控制metrics在Hadoop上如何发布的属性


修改文件

Hadoop 的配置文件位于 /usr/local/hadoop/etc/hadoop/ 中,伪分布式需要修改2个配置文件 core-site.xml 和 hdfs-site.xml 。Hadoop的配置文件是 xml 格式,每个配置以声明 property 的 name 和 value 的方式来实现。

​文件所在/usr/local/hadoop/etc/hadoop/​

修改core-site.xml

​gedit ./etc/hadoop/core-site.xml​

<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>

修改hdfs-site.xml

​gedit ./etc/hadoop/hdfs-site.xml​

<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/data</value>
</property>
</configuration>


执行初始化

​./binhadoop namenode -format​

【Hadoop学习】之 伪分布式安装_分布式


【Hadoop学习】之 伪分布式安装_hadoop_02


启动进程

如下命令启动所有进程,可以通过提示信息得知所有的启动信息都写入对应的日志文件。

​./bin/start-all.sh​​​ 这个找不到的话 试试 这个 ​​./sbin/start-all.sh​


 如果出现这个错误:JAVA_HOME is not set and coudld not be found.

​​看下这个链接​​

【Hadoop学习】之 伪分布式安装_分布式_03

我直接在 使用命令 ​​gedit ~/.bashrc​

#添加 
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

【Hadoop学习】之 伪分布式安装_hdfs_04


如果出现这种情况:

【Hadoop学习】之 伪分布式安装_hdfs_05

> Hadoop名称节点(NameNode)需要启动集群中所有机器的Hadoop守护进程,这个过程可以通过SSH登录实现。
> Hadoop 并没有提供SSH输入密码登录的形式,因此,为了能够顺利登录每台机器,需要将所有机器配置为名称节点可以无密码登录他们

#Ubuntu 默认已安装了 SSH client,此外还需要安装 SSH server:
sudo apt-get install openssh-server

# 若没有该目录,请先执行一次ssh localhost
cd ~/.ssh/

# 会有提示,都按回车就可以
ssh-keygen -t rsa

# 加入授权

【Hadoop学习】之 伪分布式安装_分布式_06

检验下

【Hadoop学习】之 伪分布式安装_hadoop_07

在HDFS中创建用户目录:

./bin/hadoop dfs -mkdir -p

【Hadoop学习】之 伪分布式安装_分布式_08

将本地input文件夹中的数据上传到HDFS的input文件夹:

./bin/hadoop dfs -put

【Hadoop学习】之 伪分布式安装_集群_09

执行自述统计测试样例:

./bin/hadoop jar /usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar grep input output 'dfs[a-z.]+'

查看结果

./bin/hadoop fs -cat output/*


举报

相关推荐

0 条评论