三种受支持模式启动Hadoop集群:
- 本地(独立)模式
- 伪分布式模式
- 完全分布式模式
本地(独立)模式:
默认情况下,Hadoop被配置为以非分布模式运行,作为单个Java进程。这对调试很有用。
以下示例将解压缩的配置目录复制为输入,然后查找并显示给定正则表达式的每个匹配项。输出写入给定的输出目录。
$ mkdir input
$ cp etc/hadoop/*.xml input
$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.4.jar grep input output 'dfs[a-z.]+'
$ cat output/*
伪分布式模式 :
Hadoop也可以在伪分布模式下的单节点上运行,其中每个Hadoop守护进程都在单独的Java进程中运行。
配置如下:
1.配置一个HDFS文件系统:
vi etc/hadoop/core-site.xml
新增HDFS文件系统节点:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
2 .指定副本节点数量
vi etc/hdfs-site.xml
新增
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
3.配置ssh无秘钥登录
现在检查你是否可以不用密码ssh到本地主机:
$ ssh localhsot
如果您不能在没有密码的情况下ssh到本地主机,请执行以下命令:
$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 0600 ~/.ssh/authorized_keys
以下说明是在本地运行MapReduce作业。
1.格式化文件系统:
$ bin/hdfs namenode -format
2.启动NameNode守护进程和DataNode守护进程:
$ sbin/start-dfs.sh
查看服务是否启动正常
$ jps
如果看到NameNode,DataNode,SecondaryNameNode等进程,则表示启动正常。
如果启动失败,可以查看相关的日志文件。Hadoop日志默认在Hadoop目录下的logs文件夹下。
$ cd logs
3.浏览NameNode的Web界面
http://localhost:50070/
4.创建执行MapReduce作业所需的HDFS目录:
$ bin/hdfs dfs -mkdir /user
$ bin/hdfs dfs -mkdir /user/<username>
username本人写的root。
5.将输入文件复制到分布式文件系统中:
$ bin/hdfs dfs -put etc/hadoop /user/root/input
上传到HDFS的/user/root/input目录下。
6.运行一些提供的例子:
$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.4.jar grep /user/root/input /user/root/output 'dfs[a-z.]+'
7.检查输出文件:将输出文件从分布式文件系统复制到本地文件系统并检查它们:
$ bin/hdfs dfs -get /user/root/output output
$ cat output/*
或者查看分布式文件系统上的输出文件:
$ bin/hdfs dfs -cat /user/root/output/*
8.测试完毕后,停止守护进程:
$ sbin/stop-dfs.sh