伪分布式安装Hadoop详解

伪分布式安装Hadoop
    文档:http://hadoop.apache.org/docs/r2.7.6/hadoop-project-dist/hadoop-common/SingleCluster.html

1.上传解压
      tar -zxvf hadoop-2.7.3.tar.gz -C /opt/modules/

2.了解目录结构,删除无用文件

3.修改配置:etc/hadoop/

    (1)*-env.sh:3个模块的环境变量文件

            hadoop-env.sh 、yarn-env.sh(23行)、mapred-env.sh
                JAVA_HOME=/opt/modules/jdk1.8.0_91

  

(2)按模块配置,这个时候一般根据官方文档来配置

      a、common模块:core-site.xml

     

    

    

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!--修改后的文件-->

<configuration>
		<!--指定文件系统HDFS的主机名称和端口号-->
		<property>
			<name>fs.defaultFS</name>
			<value>hdfs://bigdata-training01.huadian.com:8020</value>
		</property>
		<!--指定文件系统本地临时存储目录,默认值是系统/tmp-->
		<!--临时目录需要自己创建-->
		<property>
			<name>hadoop.tmp.dir</name>
			<value>/opt/moduls/hadoop-2.7.3/etc/hadoop/data/tempData</value>
		</property>
</configuration>

b、HDFS模块配置:hdfs-site.xml

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
	<!--由于是伪分布式,仅有一台机器,副本数量没有必要设置为3-->
	<property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>

     配置slaves:指定小弟DataNode运行在那台机器上,如果有多个小弟,一行一个

c、测试HDFS模块是否OK

      -》格式化
                    

     

       当status为0的时候,为格式化成功。

  -》启动

         主节点

  

        从节点

   启动的这些服务相当于一个一个的Java进程,所以当执行启动命令之后,需要查看一下是否启动成功。

-》验证是否成功:
                    方式一:查看进程jps


                    方式二:
                        bigdata-hpsk01.huadian.com:50070

-》测试HDFS:
                    (1)怎么用
                            bin/hdfs dfs


                    (2)创建一个目录
                         bin/hdfs dfs -mkdir -p /datas
                    (3)查看
                         bin/hdfs dfs -ls /
                    (4)上传文件
                         bin/hdfs dfs -put /opt/datas/input.data  /datas
                    (5)查看文件
                        bin/hdfs dfs -text /datas/input.data
                    (6)删除文件
                        bin/hdfs dfs -rm -r -f  /datas/input.data

新写一个文件,上传到hdfs

d、YARN
           对于分布式资源管理和任务调度框架来说,在YARN上可以运行多种应用程序
                    - MapReduce
                    - spark
                    - tez
         (1) 配置:yarn-site.xml

<?xml version="1.0"?>

<configuration>
	<!--resourcemanager服务运行的主机名名称-->
	<property>
		<name>yarn.resourcemanager.hostname</name>
		<value>bigdata-training01.huadian.com</value>
	</property>
	
	<!--告知YARN,MapReduce程序将在 其上运行-->
	<property>
		<name>yarn.nodemanager.aux-services</name>
		<value>mapreduce_shuffle</value>
	</property>
</configuration>

(2)slaves
        指定nodemanager运行的主机名名称,由于NameNode和    DataNode在同一台机器上,前面已经配置,所以不用再去配置。 
           
e、启动YARN服务
          -》启动:
        主节点ResourceManager:
            sbin/yarn-daemon.sh start resourcemanager
            
        从节点NodeManager:
            sbin/yarn-daemon.sh start nodemanager

-》验证启动:
        方式一:jps
         方式二:bigdata-training01.huadian.com:8088

f、MapReduce模块
        并行计算的一个框架。
        思想:分而治之
        核心:map:分
            并行处理数据,将数据分割,一部分一部分的处理
              reduce:合
            将Map处理数据的结果进行合并。

        配置:
                第一步:将模板重命名为xml文件
               

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>


<configuration>
	<!--指定MapReduce的程序运行在YARN上-->
	<property>
		<name>mapreduce.framework.name</name>
		<value>yarn</value>
	</property>
</configuration>

g、测试MapReduce程序

    案例:wordcount程序
            Hadoop提供了一个程序,为我们统计。

  

准备数据:在/datas/input.data

将MapReduce应用提交到YARN上运行。

    bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount
    Usage: wordcount <in> [<in>...] <out>
    
    <in>:表示MapReduce程序要处理的数据在哪里

    <out>:表示MapReduce程序处理数据之后的结果,存储在哪里,这个目录不能存在。
 bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount /datas/input.data /datas/output/output001

 


额外配置:历史服务器
    HistoryServer
          mapred-site.xml 后面添加:
    

<property>
        <name>mapreduce.jobhistory.address</name>
                <value>bigdata-training01.huadian.com:10020</value>
    </property>
        <property>
        <name>mapreduce.jobhistory.webapp.address</name>
                <value>bigdata-training01.huadian.com:19888</value>
    </property>

   启动服务:sbin/mr-jobhistory-daemon.sh start historyserver

日志聚集功能
            YARN提供日志中央化管理功能,他能将运行完成的任务 日志 上传到HDFS指定目录下。
            以便后期监控查看
            配置:yarn-site.xml

<!--启动日志聚集功能-->	
<property>
    <name>yarn.log-aggregation-enable</name>
	<value>true</value>
</property>
		
<!--设置日志保存的时间,1周-->	
<property>
	<name>yarn.log-aggregation.retain-seconds</name>
	<value>604800</value>
</property>

注意:重启YARN和JobHistoryServer服务,
                修改了配置文件,需要重新读取

如果格式化、启动某个进程失败,怎么办????
    看日志文件。。。。就是IDEA控制台的输出


    logs/XX.log
        
        hadoop-huadian-datanode-bigdata-hpsk01.huadian.com.log        
        模块      root   进程名字 主机名 
    
    后缀名:
        日志分类:标准输出、错误输出
        .log:程序启动相关信息   ==========
        .out:程序运行的相关输出
            system.out.println(),system.error.println
            
    使用tail -100f xxx.log
    找Exception,case by

发布了88 篇原创文章 · 获赞 383 · 访问量 10万+

猜你喜欢

转载自blog.csdn.net/weixin_42047611/article/details/81486218