1. 设定免密登入
伪分散式搭建过程中会涉及各种管理员许可权,一次一次输入密码太过麻烦,我们要求各丛集间免密码连线

此时再用 ssh localhost 命令,无需输入密码就可以直接登陆了,如下图所示。
2. 安装Java环境
见前文
3. 安装 Hadoop
安装配置见前文
4. 伪分散式配置
Hadoop 可以在单节点上以伪分散式的方式执行,Hadoop 程序以分离的 Java 程序来执行,节点既作为 NameNode 也作为 DataNode,同时,读取的是 HDFS 中的档案。
Hadoop 的配置档案位于 /usr/local/hadoop/etc/hadoop/中,伪分散式需要修改2个配置档案 core-site.xml和 hdfs-site.xml。Hadoop的配置档案是 xml 格式,每个配置以宣告 property 的 name 和 value 的方式来实现。
I. 修改core-site.xml
主要设定tmp的路径和站点,我的hadoop安装路径是/usr/local/hadoop,大家根据个人情况配置

II. 修改hdfs-site.xml
reliication指定副本数,预设3个,伪分散式虽然只需要配置fs.defaultFS和 dfs.replication就可以执行(官方教程如此),不过若没有配置 hadoop.tmp.dir 引数,则预设使用的临时目录为 /tmp/hadoo-hadoop,而这个目录在重启时有可能被系统清理掉,导致必须重新执行 format 才行。所以我们进行了设定,同时也指定 dfs.namenode.name.dir和 dfs.datanode.data.dir,否则在接下来的步骤中可能会出错。

5. NameNode 的格式化:
建议大家可以把hadoop环境变数配置在~/.bashrc中,以后执行命令式不用每次到bin下或者使用绝对路径
格式化之后系统会读取配置档案,在指定路径下生成对应档案,具体变化可以前往日志档案中检视。
./bin/hdfs namenode -format
如果执行结果中出现/dfs/name has been successfully formatted等字眼或者Exiting with status 0表示成功,linux当中0表示True,否则可能是配置有问题,需要重新编写并格式化(不推荐直接重新格式化,实在需要操作的话尽量先删除之前的资料)
6. 开启 NameNode 和 DataNode 守护程序。
可以通过start-dfs.sh直接执行,也可以通过 sbin/hadoop-daemon.sh start name执行
./sbin/start-dfs.sh #start-dfs.sh是个完整的可执行档案,中间没有空格
7. 启动情况检视 :jps
如果发现DataNode未能启动,可以尝试重启程序或者sbin/hadoop-daemon.sh start datanode手动开启,如果二者过程中皆有异常丢掷,建议删除档案重新配置
8. 浏览器检视资讯
成功启动后,可以访问 Web 界面 http://localhost:50070 检视 NameNode 和 Datanode 资讯,还可以线上检视 HDFS 中的档案。
9. YARN
YARN 是从 MapReduce 中分离出来的,负责资源管理与任务排程。YARN 运行于 MapReduce 之上,提供了高可用性、高扩充套件性,
上述通过 ./sbin/start-dfs.sh 启动 Hadoop,仅仅是启动了 MapReduce 环境,我们可以启动 YARN ,让 YARN 来负责资源管理与任务排程。
(伪分散式不启动 YARN 也可以,一般不会影响程式执行)I. 修改mapred-site.xml
首先修改配置档案 mapred-site.xml,这边需要先进行重新命名(在hadoop根目录下)

II. 配置yarn-site.xml

III. 启动yarn

IV. 关闭yarn

10. 利用yarn检视任务执行
启动 YARN 之后,执行例项的方法还是一样的,仅仅是资源管理方式、任务排程不同。观察日志资讯可以发现,不启用 YARN 时,是 “mapred.LocalJobRunner”在跑任务,启用 YARN 之后,是 “mapred.YARNRunner”在跑任务。启动 YARN 有个好处是可以通过 Web 界面检视任务的执行情况:





























