启动 HDFS 并运行 MapReduce 程序(伪分布式模式)

配置集群

配置hadoop-env.sh

Linux系统中获取JDK的安装路径

[xiaoran@hadoop101 hadoop-2.7.2]$ echo $JAVA_HOME
/opt/module/jdk1.8.0_144

修改JAVA_HOME路径

[xiaoran@hadoop101 hadoop-2.7.2]$ vim etc/hadoop/hadoop-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_144

配置core-site.xml

[xiaoran@hadoop101 hadoop-2.7.2]$ vim etc/hadoop/core-site.xml 
<!-- 指定HDFS中NameNode的地址 -->
<property>
<name>fs.defaultFS</name>
    <value>hdfs://hadoop101:9000</value>
</property>

<!-- 指定Hadoop运行时产生文件的存储目录 -->
<property>
	<name>hadoop.tmp.dir</name>
	<value>/opt/module/hadoop-2.7.2/data/tmp</value>
</property>

配置hdfs-site.xml

[xiaoran@hadoop101 hadoop-2.7.2]$ vim etc/hadoop/hdfs-site.xml 
<!-- 指定HDFS副本的数量 -->
<property>
	<name>dfs.replication</name>
	<value>1</value>
</property>

启动集群

格式化NameNode(不要经常格式化)

[xiaoran@hadoop101 hadoop-2.7.2]$ bin/hdfs namenode -format

启动NameNode

[xiaoran@hadoop101 hadoop-2.7.2]$ sbin/hadoop-daemon.sh start namenode

启动DataNode

[xiaoran@hadoop101 hadoop-2.7.2]$ sbin/hadoop-daemon.sh start datanode

注意:格式化 namenode 之前要先关掉 namenode ,并删掉 data 和 logs 。


查看集群

查看是否启动成功

[xiaoran@hadoop101 hadoop-2.7.2]$ jps
15159 NameNode
15322 Jps
15245 DataNode

注意:jps是JDK中的命令,不是Linux命令。不安装JDK不能使用jps

web端查看HDFS文件系统

192.168.229.101:50070


dfs命令例子

bin/hdfs dfs -mkdir -p /user/xiaoran/input
bin/hdfs dfs -ls /
bin/hdfs dfs -ls -R /

# 文件上传到hdfs
bin/hdfs dfs -put wcinput/wc.input /user/xiaoran/input

集群操作

命令:

bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount /user/xiaoran/input /user/xiaoran/output

注意:/user/xiaoran/output 事先不能创建。

原文地址:https://www.cnblogs.com/xiaoran991/p/13878849.html