linux中hadoop伪分布搭建

1、什么是hadoop?

  Hadoop是一个开源的分布式数据处理框架,旨在处理大规模数据集并能够在普通硬件集群上实现高性能和可靠性。主要有以下三个组件:

  1. Hadoop分布式文件系统(HDFS):这是一种可扩展的、容错的文件系统,专门设计用于在大规模集群中存储和访问数据。

  2. Hadoop YARN:YARN(Yet Another Resource Negotiator)是Hadoop的资源管理器。它负责集群资源的管理和作业的调度,允许多个应用程序共享集群资源。

  3. MapReduce:这是Hadoop的计算模型和编程框架。它通过将输入数据切割成小块,并在分布式节点上执行并行计算任务来处理大规模数据集。

2、hadoop的有几种搭建模式?

a、本地模式 -----只需要解压后就可以运行,一般常用来做测试

b、伪分布式 -----只是模拟hadoop集群,会有不同守护进程,这些进程只保留在一台节点

c、完全分布式 ----多台节点进行搭建,完全符合于真实企业开发

3、hadoop的伪分布搭建过程

3.1、hadoop的安装(和jdk安装类似)

1、上传hadoop2.7.3的压缩包到/software下

2、将压缩包解压到/opt下

        tar -zxvf /software/hadoop-2.7.3.tar.gz -C /opt

3、对文件进行重命名

        mv /opt//hadoop-2.7.3 /opt/hadoop

4、在环境变量中添加hadoop

         vi /etc/profile

       在文件末尾添加

        export HADOOP_HOME=/opt/hadoop

        export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

5、刷新环境变量

        source /etc/profile

6、检测版本命令

        hadoop version

 测试结果如下:

3.2、圆周率hadoop小测试

        在Hadoop的安装包中,官方提供了MapReduce程序的示例examples,以便快速上手体验MapReduce。圆周率π大家都不陌生,如何去估算π的值呢?

        当所求解问题是某种随机事件出现的概率,或者是某个随机变量的期望值时,通过某种“实验”的方法,以这种事件出现的频率估计这一随机事件的概率,或者得到这个随机变量的某些数字特征,并将其作为问题的解。


 


 

假设正方形边长为1,圆半径也为1,那么1/4圆的面积为:


 


 

在正方形内随机撒点,分布于1/4圆内的数量假设为a ,分布于圆外的数量为b,N则是所产生的总数:N=a+b。

那么数量a与N的比值应与1/4圆面积及正方形面积成正比,于是:


 

 
 

 hadoop jar /opt/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar pi 10 5

 第一个参数pi:表示MapReduce程序执行圆周率计算; 第二个参数:用于指定map阶段运行的任务次数,并发度,这是是10; 第三个参数:用于指定每个map任务取样的个数,这里是5。

3.3、hadoop伪分布核心配置

        hadoop的核心配置文件在/opt/hadoop/etc/hadoop下,主要修改core-site.xml 、hdfs-site.xml、mapred-site.xml(由mapred-site.xml.template拷贝而来)、yarn-site.xml、slaves五个文件

1、进入核心文件所在位置

        cd /opt/hadoop/etc/hadoop/

        修改hadoop-env.sh
[root@sjz1 hadoop]# vi /opt/hadoop/etc/hadoop/hadoop-env.sh 
在25行添加jdk所在位置

export JAVA_HOME=/opt/jdk

2、修改 core-site.xml (下面的主机名需要更换成自己的主机名)

        vi core-site.xml 

        将下面的文件加入文件<configuration>中
<configuration>
   <!-- namenode 通讯地址  -->
   <property>
        <name>fs.defaultFS</name>
        <value>hdfs://主机名:9000</value>
   </property>
  <!-- hadoop默认base路径  -->
  <property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/tmp/hadoop</value>
  </property>
</configuration>

3、修改 hdfs-site.xml文件

         vi hdfs-site.xml 

        将下面的文件加入文件<configuration>中


<configuration>
    <!-- 伪分布式就一个节点  -->
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>    

4、修改mapred-site.xml 文件,mapred-site.xml是拷贝来的

        cp mapred-site.xml.template mapred-site.xml

        vi mapred-site.xml

  将下面的文件加入文件<configuration>中

<configuration>
    <!-- mapreduce默认执行框架是yarn -->
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

5、修改yarn-site.xml 文件

<configuration>
    <!-- 服务配置 -->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
</configuration>

6、修改slaves文件

将里面的localhost修改为自己的主机名

7、在hadoop的家目录下进行格式化

        cd /opt/hadoop

        hadoop namenode -format

8、启动

        start-all.sh 

如果启动成功jps会有以下进程

[root@hadoop01 hadoop]# jps
100721 NameNode
101780 DataNode
103689 Jps
103224 NodeManager
101246 SecondaryNameNode
102542 ResourceManager

可以在以下在浏览器中访问hadooop的web页面,地址 主机ip:50070 

ps:如果进程存在无法访问是请检查防火墙,如果进程缺失请查看日志

        

猜你喜欢

转载自blog.csdn.net/weixin_53083884/article/details/132723957