Hadoop环境的搭建
1. 本地模式
- 开发人员调试环境,
- 他不会按HDFS存数据,会将文件存储到本地的文件系统中。
2. 伪分布式模式
- 开发调试环境和学习环境
- 需要部署的是两个文件
- core-site.html中添加
-
<configuration>
<property>
<!--指定Hadoop的文件系统是HDFS,并且指定访问入口为hadoop100节点,8020是各节点内部通信端口-->
<name>fs.defaultFS</name>
<value>hdfs://hadoop100:8020</value>
</property>
<!--指定缓存的临时目录-->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/modules/hadoop-2.7.3/data/tmp</value>
</property>
</configuration>
- hdfs.xml中添加
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration> - 启动的过程
- 格式化: bin/hdfs namenode -format
- 可能遇到的问题:
- 在创建临时文件的时候没有权限:
- 解决方案 :sudo chmod -R a+w /opt
- namendoe 和datanode的都有一个集群id不同的问题
-
datanode是根据集群id去找集群。如果我们在启动集群的时候,datanode刚开始的时候还在,但是在启动一段时间之后就不在了就是集群id不同的问题。
- 解决方案:在core-site.xml中的hadoop.tmp.dir是工作目录。在工作目录dfs中就记录了namenode和datanode的工作目录。集群的ID都是在Version中。
- 将datanode的集群ID和namenode的集群ID做更改。
- 在重新格式化之前,将工作目录清空
-
- 可能遇到的问题:
- yarn 环境的配置
- mapred-site.xml
-
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration> - yarn.site.xml配置文件
-
<!--mapreduce 启动shuffle阶段---->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!--rsourcemanage 主节点机器-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop100</value>
</property> - sbin/hadoop-daemon.sh start namenode
- sbin/yarn-daemonsh start reourcemager
- sbin/yarn-damen.sh start nodemanager
- 启动测试 jps 看他们中有没有合适的值可供我们去参考。
- 访问页面 :http://hadoop:50070 ;
- http://hadoop:8088 yarn集群的计算资源的使用情况
- 没有启动问题总结:
- 检查namenode、datanode是否启动了
- 检查防火墙是否关闭
- 检查win中的host是否已经做了网络映射
- 历史服务的配置
-
在mapred-site.xml中加<!--历史服务的配置-->
<property>
<name>mapreduce.jobhistory.address</name>
<value>hadoop100:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hadoop100:19888</value>
</property>
- 作用: 启动历史服务 sbin/mr-jobhistory-daemon.sh start l
- 启动历史服务之前要停止yarn集群
- sbin/stop-yarn.sh sbin/start -yarn.sh start historyserver
- 这个服务必须和日志句合配合使用,日志句合在代开历史服务,才可以看到日志信息
- yarn-site.xml中可以查看
3. 完全分布式模式
- 他式由多台服务器,共同组成一个集群
- 生产环境。
- 和伪分布,在操纵起来没有任何区别,完全分布式将所有的服务完全分开的。,伪分布式将所有的服务都运行在某一台机器中。
完全分布式模式环境的搭建
- 环境的准备
- jdk安装,hadoop2.7的安装