- 下载hadoop安装包,解压到指定路径下,设置环境变量;我安装的版本是3.1.3;
- 修改配置文件,
对于core-site.xml
<!-- 指定HDFS中NameNode的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9820</value>
</property>
<!-- 指定Hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>Hadoop解压的路径/hadoop-3.1.3/data/tmp</value>
</property>
对于hdfs-site.xml文件
<!-- 指定HDFS副本的数量 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
之后利用命令hdfs namenode -format
格式化,hadoop解压路径下多出data与logs文件夹
对于yarn-site.xml文件
<!-- Reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 指定YARN的ResourceManager的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>localhost</value>
</property>
<property>
<name>yarn.nodemanager.env-whitelist</name> <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
</property>
对于mapred-site.xml文件
<!-- 指定MR运行在YARN上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
启动。利用jps可以查看进程
hdfs --daemon start namenode
hdfs --daemon start datanode
yarn --daemon start resourcemanager
yarn --daemon start nodemanager
- 测试
伪分布式运行模式下是由hdfs管理文件,创建输入文件夹和输出文件夹都需要利用hdfs中的命令,否则会报错
org.apache.hadoop.mapreduce.lib.input.InvalidInputException: Input path does not exist: hdfs://localhost:9820/Users/wuxiaowei/hadoop/hadoop-3.1.3/input
hdfs dfs -mkdir /input
hdfs dfs -put input/my.txt /input
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar wordcount /input /output
hdfs dfs -ls /
hdfs dfs -ls /output
补充:
web端查看HDFS文件系统: http://localhost:9870
YARN的浏览器页面查看: http://localhost:8088