Hadoop环境的搭建(伪分布式,一台电脑,即只要一个node)
步骤:
1.下载Hadoop,JDK压缩包,安装包/opt/module并解压到/opt/software;
2.配置环境变量,/etc/prifile
Export JAVA_HOME=”/opt/software/jdk1.8.0_11”
Export PATH=”
P
A
T
H
:
PATH:
PATH:JAVA_HOME/bin”
Export HADOOP_HOME=”/opt/software/hadoop-2.10.0”
Export PATH=”
P
A
T
H
:
PATH:
PATH:HADOOP_HOME/bin”
执行source /etc/profile激活刚才的配置
3.创建两个文件,data和logs,用来存放数据和日志。修改配置文件:
路径:/opt/software/hadoop-2.10.0/etc/hadoop/hdfs-site.xml
##关闭权限
dfs.permissions
false
##数据冗余数
dfs.replication
3
##secondarynamenode节点的地址和端口,伪分布式都放在同一台机器上
dfs.namenode.secondary.http-address
主机名:50090
4.配置core-site.xml
##指定hdfs中namenode的地址,低版本端口号为8020
fs.defaultFS
hdfs://主机名:9000
##配置的是hdfs生成文件的存放目录,包括元数据信息以及blockID
hadoop.tmp.dir
/opt/module/hadoop-2.10.0/data/tmp
5.slaves
在文档中添加 node01
6.配置yarn-site.xml
##reduce获取数据的方式
yarn.nodemanager.aux-services
mapreduce_shuffle
##指定yarn的resourcemanager的地址
yarn.resourcemanager.hostname
主机名
##日志聚集功能
yarn.log-aggregation-enable
true
##日志保留时间设置(秒)
yarn.log-aggregation.retain-seconds
604800
7.配置mapred-site.xml.template,可以使用自动补全tab键,会出来这个临时文件
##指定MR运行在yarn上
mapreduce.framework.name
yarn
##历史服务器的地址
mapreduce.jobhistory.address
主机名:10020
##历史服务器页面的地址
mapreduce.jobhistory.webapp.address
主机名:19888
8.将JDK环境变量添加到多个文件中hadoop-env.sh、yarn-env.sh、mapred-env.sh
9.对namenode进行格式化hadoop namenode -format
为什么要进行格式化?
Namenode主要是管理分布式文件系统的命名空间(文件和目录)的元数据信息,同时为了保证数据的可靠性,加入了日志操作,所以namenode会持久化这些数据(保存到本地的文件系统中)。第一次启动hdfs时,首先要执行-format命令,然后才能正常启动namenode节点的服务。
格式化做了什么?
在namenode节点上,有两个重要的路径,分别被用来存储元数据信息和操作日志,而这两个路径来自于配置文件,它们对应的属性分别是dfs.name.dir和dfs.name.edits.dir.同时他们的默认路径是/tmp/hadoop/dfs/name。格式化时,namenode会清空两个目录下的所有文件,之后会在目录dfs.name.dir下创建文件hadoop.tmp.dir这个配置,会让dfs.name.dir和dfs.name.edits.dir两个目录的文件生成在一个目录中。
10.可以进入/sbin目录,执行start-all.sh来启动节点服务,之后通过jps来查看已开启的进程
11.在集群启动的情况下,打开windows浏览器,输入 主机名/IP+端口号,访问Hadoop的文件系统,能访问到就没问题
稍微提一下这个页面UI的问题,上面使用 :50070 打开的是 HDFS 的页面WEBUI,使用 :8088 打开的是 Yarn 的WEBUI,使用 :19888 打开历史服务器的 WEBUI;:9000 是 RPC 的通信端口,浏览器上是打不开的。
Stop-all.sh用来关闭