启动 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 事先不能创建。