【Hadoop】伪分布模式

简介: 这种模式是在一台机器上各个进程上运行Hadoop的各个模块,伪分布式的意思是虽然各个模块是在各个进程上分开运行的,但是只是运行在一个操作系统上的,并不是真正的分布式。

创建普通用户名为hadoop

image.png


修改sudo权限,将sudoers配置文件添加写入权限

[root@server1 ~]# chmod 740 /etc/sudoers
[root@server1 ~]# vim /etc/sudoers
hadoop  ALL=(root) NOPASSWD:ALL


image.png

 


image.png


解压后的hadoop文件夹全部修改所属用户为hadoop用户

[hadoop@server1 opt]$ sudo chown -R hadoop:hadoop  hadoopstandalone/
[hadoop@server1 opt]$ ll
drwxr-xr-x. 3 hadoop hadoop 26 9月  12 04:15  hadoopstandalone


image.png


编辑profile添加环境变量,并执行source启用

[hadoop@server1 hadoop-2.7.3]$ sudo vim /etc/profile
[hadoop@server1 hadoop-2.7.3]$ source /etc/profile
export HADOOP_HOME='/opt/hadoopstandalone/hadoop-2.7.3'
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH


image.png

 

验证环境变量是否配置完成

 image.png


配置 hadoop-env.sh、mapred-env.sh、yarn-env.sh文件的JAVA_HOME参数

[hadoop@server1 hadoop-2.7.3]$ sudo vim  ${HADOOP_HOME}/etc/hadoop/hadoop-env.sh

 

image.png

 

image.png


image.png


配置core-site.xml

[hadoop@server1 hadoop]$ vim  ${HADOOP_HOME}/etc/hadoop/core-site.xml 
<configuration>
         <property>
           <name>fs.defaultFS</name>    #配置HDFS地址
           <value>hdfs://server1:9000</value>
         </property>
         <property>
           <name>hadoop.tmp.dir</name>    #配置hadoop临时目录
          <value>/opt/data/tmp</value>
        </property>
 </configuration>

image.png


#创建在core-site.xml中配置的历史目录,并修改所有人为hadoop

[hadoop@server1 hadoop]$ sudo mkdir -p /opt/data/tmp
[hadoop@server1 hadoop]$ sudo chown -R hadoop:hadoop  /opt/data/tmp/

 

配置hdfs-site.xml

[hadoop@server1 hadoop]$ vim  ${HADOOP_HOME}/etc/hadoop/hdfs-site.xml
<configuration>
        <property>
              <name>dfs.replication</name>
              <value>1</value>

   

#dfs.replication配置的是HDFS存储时的备份数量,因为这里是伪分布式环境只有一个节点,所以这里设置为1

</property>
</configuration>

 

image.png


格式化hdfs

格式化是对HDFS这个分布式文件系统中的DataNode进行分块,统计所有分块后的初始元数据的存储在NameNode中。

格式化后,查看core-site.xml里hadoop.tmp.dir(本例是/opt/data目录)指定的目录下是否有了dfs目录,如果有,说明格式化成功

 

[hadoop@server1 bin]$ hdfs namenode -format
[hadoop@server1 current]$ ${HADOOP_HOME}/sbin/start-dfs.sh

 

image.png


 

验证

配置的data/tmp目录下出现了dfs

 

image.png

 

在dfs文件夹下有hdfs生产的文件

 

image.png

  • fsimage是NameNode元数据在内存满了后,持久化保存到的文件。
  • fsimage*.md5 是校验文件,用于校验fsimage的完整性。
  • seen_txid 是hadoop的版本
  • vession文件里保存:
  • namespaceID:NameNode的唯一ID。
  • clusterID:集群ID,NameNode和DataNode的集群ID应该一致,表明是一个集群。


image.png

 image.pngnamespaceID:NameNode的唯一ID。

 image.pngclusterID:集群ID,NameNode和DataNode的集群ID应该一致,表明是一个集群。

 

#启动namenode

[hadoop@server1 current]$ ${HADOOP_HOME}/sbin/hadoop-daemon.sh  start namenode
starting namenode, logging to  /opt/hadoopstandalone/hadoop-2.7.3/logs/hadoop-hadoop-namenode-server1.out

#启动datanode

[hadoop@server1 current]$ ${HADOOP_HOME}/sbin/hadoop-daemon.sh  start datanode
starting datanode, logging to  /opt/hadoopstandalone/hadoop-2.7.3/logs/hadoop-hadoop-datanode-server1.out


#启动secondarynode

[hadoop@server1 current]$ ${HADOOP_HOME}/sbin/hadoop-daemon.sh  start secondarynamenode
starting secondarynamenode, logging to  /opt/hadoopstandalone/hadoop-2.7.3/logs/hadoop-hadoop-secondarynamenode-server1.out

image.png

检查是否启动成功


image.png

 

测试HDFS

在hdfs上创建文件夹

[hadoop@server1 bin]$ hdfs dfs -mkdir /test1

image.png


#创建测试文件,上传文件到hdfs新建的文件夹

[hadoop@server1 bin]$ hdfs dfs -put test.txt /test1

 

image.png

 

 

#读取测试上传的test.txt文件内容

[hadoop@server1 bin]$ hdfs dfs -cat /test1/test.txt
this is test file

 

image.png

 

#下载hdfs中的test.txt至本地

[hadoop@server1 bin]$ hdfs dfs -get /test1/test.txt

 

image.png

 

 

配置、启动YARN

配置yarn-site.xml

[hadoop@server1       hadoop]$ cp mapred-site.xml.template mapred-site.xml
[hadoop@server1       hadoop]$ vim mapred-site.xml
<configuration>
        <property>
          <name>mapreduce.framework.name</name>    #指定mapreduce运行在yarn框架
          <value>yarn</value>
        </property>
</configuration>

image.png

 

[hadoop@server1 hadoop]$ vim yarn-site.xml 
<?xml version="1.0"?>
<configuration>
  <property>
     <name>yarn.nodemanager.aux-services</name>#配置了yarn的默认混洗方式选择为mapreduce的默认混洗算法
    <value>mapreduce_shuffle</value>
        </property>
        <property>
          <name>yarn.resourcemanager.hostname</name>#指定了Resourcemanager运行在哪个节点上
          <value>server1</value>
        </property>
</configuration>

 

image.png

 

#启动Resourcemanager

[hadoop@server1 sbin]$ ./yarn-daemon.sh start resourcemanager
starting resourcemanager, logging to  /opt/hadoopstandalone/hadoop-2.7.3/logs/yarn-hadoop-resourcemanager-server1.out

 

#启动nodemanager

[hadoop@server1 sbin]$ ./yarn-daemon.sh start nodemanager
starting nodemanager, logging to  /opt/hadoopstandalone/hadoop-2.7.3/logs/yarn-hadoop-nodemanager-server1.out

 

测试

输入jps查看nodemanager和resourcemanager是否启动成功

 

image.png

 

YARN的Web客户端端口号是8088,通过 http://192.168.100.10:8088/可以查看

 

image.png

相关文章
|
3月前
|
分布式计算 Hadoop Java
Hadoop快速入门——第一章、认识Hadoop与创建伪分布式模式(Hadoop3.1.3版本配置)
Hadoop快速入门——第一章、认识Hadoop与创建伪分布式模式(Hadoop3.1.3版本配置)
68 0
|
6月前
|
SQL 分布式计算 Hadoop
大数据行业部署实战1:Hadoop伪分布式部署
大数据行业部署实战1:Hadoop伪分布式部署
175 0
|
5月前
|
分布式计算 Hadoop Java
我用免费白拿的服务器搭建了一台基于CentOS7的Hadoop3.x伪分布式环境
我用免费白拿的服务器搭建了一台基于CentOS7的Hadoop3.x伪分布式环境
57 0
|
7月前
|
分布式计算 Hadoop Java
hadoop伪分布式搭建(超详细)
hadoop伪分布式搭建(超详细)
296 0
|
8月前
|
分布式计算 资源调度 Hadoop
Hadoop学习指南:探索大数据时代的重要组成——Hadoop运行模式(下)
Hadoop学习指南:探索大数据时代的重要组成——Hadoop运行模式(下)
|
9月前
|
分布式计算 资源调度 Hadoop
Flink安装部署{单机模式、会话模式(集群部署)、yarn模式(包含hadoop3.1.3部署)}
Flink安装部署{单机模式、会话模式(集群部署)、yarn模式(包含hadoop3.1.3部署)}
302 0
|
20天前
|
分布式计算 资源调度 Hadoop
hadoop的伪分布式搭建-带网盘
hadoop的伪分布式搭建-带网盘
18 3
|
20天前
|
存储 分布式计算 Hadoop
Hadoop的运行模式
【4月更文挑战第12天】Hadoop支持三种运行模式:本地模式适用于初学者和小型项目;伪分布式集群模式用于测试,数据存储在HDFS;完全分布式集群模式,适用于企业级大规模数据处理,具有高吞吐量和容错性。选择模式取决于实际需求和环境配置。Hadoop的分布式计算特性使其在扩展性、容错性和可恢复性方面表现出色,是大数据处理的关键工具。
18 1
|
25天前
|
存储 分布式计算 Hadoop
【Hadoop】Hadoop的三种集群模式
【4月更文挑战第9天】【Hadoop】Hadoop的三种集群模式
|
7月前
|
分布式计算 Hadoop Java
Hadoop伪分布式环境部署(非脚本)
本实验基于ECS云服务器(centOS7.7)搭建Hadoop伪分布式环境,并通过运行一个MapReduce示例程序熟悉Hadoop平台的使用。

相关实验场景

更多