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>
  • 启动的过程
  1. 格式化: bin/hdfs  namenode -format 
  1. 可能遇到的问题:
  1. 在创建临时文件的时候没有权限:                                               
  2. 解决方案 :sudo chmod -R a+w /opt
  1. namendoe 和datanode的都有一个集群id不同的问题
  1. datanode是根据集群id去找集群。如果我们在启动集群的时候,datanode刚开始的时候还在,但是在启动一段时间之后就不在了就是集群id不同的问题。
  2. 解决方案:在core-site.xml中的hadoop.tmp.dir是工作目录。在工作目录dfs中就记录了namenode和datanode的工作目录。集群的ID都是在Version中。
  1. 将datanode的集群ID和namenode的集群ID做更改。
  2. 在重新格式化之前,将工作目录清空
  •  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集群的计算资源的使用情况
  1. 没有启动问题总结:
  1. 检查namenode、datanode是否启动了
  2. 检查防火墙是否关闭
  3. 检查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>
  1. 作用:
  1. 启动历史服务之前要停止yarn集群
  2. sbin/stop-yarn.sh    sbin/start -yarn.sh start historyserver
  1. 这个服务必须和日志句合配合使用,日志句合在代开历史服务,才可以看到日志信息
  2. yarn-site.xml中可以查看

3. 完全分布式模式

  • 他式由多台服务器,共同组成一个集群
  • 生产环境。
  • 和伪分布,在操纵起来没有任何区别,完全分布式将所有的服务完全分开的。,伪分布式将所有的服务都运行在某一台机器中。

  完全分布式模式环境的搭建

  • 环境的准备
  1. jdk安装,hadoop2.7的安装

4.