目录
- 伪分布式部署
- yarn配置
伪分布式部署
1.规划和准备
- 规划
咋规划啊,就一个电脑,但是部署的内容还是需要知道的,麻雀虽小,五脏俱全。每个hadoop环境,包含一个hdfs和一个yarn。
具体如下
架构 | bigdata111 | 作用 |
HDFS | NameNode | 存储元数据 |
SecondaryNameNode | 监控namenode 的元数据,每隔一定的时间进行元数据的合并 | |
DataNode | 存储数据的节点,会对数据块进行校验 | |
yarn | ResourceManager | 处理客户端请求、启动/监控ApplicationMaster、监控NodeManager、资源分配与调度 |
NodeManager | 单个节点上的资源管理、处理来自ResourceManager的命令、处理来自ApplicationMaster的命令 |
- 准备
关闭防火墙(看前面的文章)、静态ip(192.168.157.121)、设置主机名称为bigdata121
2.解压方式安装hadoop2.8.4和jdk8并配置环境变量
①压缩包位置
②解压位置
③配置环境变量
- vi /etc/profile
后面追加下面的代码
- source /etc/profile
3.配置hdfs
切换到/opt/mod/hadoop-2.8.4/etc/hadoop目录下
1.配置core-site.xml
2.配置hdfs-site.xml
3.修改hadoop-env.sh
25行指定自己的java_home
至此,hdfs已经部署成功了
4.测试
- 格式化Namenode
- 启动hdfs
- 命令查看hdfs是否启动
- 浏览器打开测试
http://192.168.157.121:50070
出现这个页面就成功了。 - 测试一个上传文件
在 /opt/mod下新建个test文件,内容如下 - 切换到/opt/mod下,上传到hdfs根目录去
2个地方可以看到
自此hdfs配置成功,下面配置yarn。
yarn配置
切换到/opt/mod/hadoop-2.8.4/etc/hadoop目录下
1.配置yarn-site.xml
2.配置mapred-site.xml
因为没有mapred-site.xml,可以使用
cp mapred-site.xml.template mapred-site.xml
克隆一份
然后修改mapred-site.xml
3.修改yarn-env.sh
明确指定全路径java目录
23行
4.修改mapred-env.sh
第16行
自此,yarn已经配置好了
5.测试
执行start-yarn.sh
以上2图都说明yarn也已经启动了。
自此,hadoop伪分布部署已经全部部署功能, 补充点概念
- 为什么要格式化?
NameNode主要被用来管理整个分布式文件系统的命名空间(实际上就是目录和文件)的元数据信息,同时为了保证数据的可靠性,还加入了操作日志,所以,NameNode会持久化这些数据(保存到本地的文件系统中)。对于第一次使用HDFS,在启动NameNode时,需要先执行-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会让两个目录的文件生成在一个目录里 - 启动集群得命令:
Namenode的主节点:sbin/start-dfs.sh
Yarn的主节点:sbin/stop-yarn.sh
注意:Namenode和ResourceManger如果不是同一台机器,不能在NameNode上启动 yarn,应该在ResouceManager所在的机器上启动yarn。
自此,本文大功告成!!