【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

相关文章
|
7月前
|
分布式计算 Hadoop Java
Hadoop快速入门——第一章、认识Hadoop与创建伪分布式模式(Hadoop3.1.3版本配置)
Hadoop快速入门——第一章、认识Hadoop与创建伪分布式模式(Hadoop3.1.3版本配置)
149 0
|
2月前
|
分布式计算 Kubernetes Hadoop
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
195 6
|
2月前
|
分布式计算 资源调度 Hadoop
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
83 2
|
1月前
|
分布式计算 资源调度 Hadoop
【赵渝强老师】部署Hadoop的本地模式
本文介绍了Hadoop的目录结构及本地模式部署方法,包括解压安装、设置环境变量、配置Hadoop参数等步骤,并通过一个简单的WordCount程序示例,演示了如何在本地模式下运行MapReduce任务。
|
2月前
|
SQL 存储 数据管理
Hadoop-15-Hive 元数据管理与存储 Metadata 内嵌模式 本地模式 远程模式 集群规划配置 启动服务 3节点云服务器实测
Hadoop-15-Hive 元数据管理与存储 Metadata 内嵌模式 本地模式 远程模式 集群规划配置 启动服务 3节点云服务器实测
66 2
|
4月前
|
存储 分布式计算 算法
探索Hadoop的三种运行模式:单机模式、伪分布式模式和完全分布式模式
在配置Hadoop集群之前,了解这三种模式的特点、适用场景和配置差异是非常重要的。这有助于用户根据个人需求和资源情况,选择最适合自己的Hadoop运行模式。在最初的学习和开发阶段,单机模式和伪分布式模式能为用户提供便利和成本效益。进而,当用户要处理大规模数据集时,完全分布式模式将是理想的选择。
303 2
|
4月前
|
分布式计算 Ubuntu Hadoop
在Ubuntu 16.04上如何在独立模式下安装Hadoop
在Ubuntu 16.04上如何在独立模式下安装Hadoop
48 1
|
4月前
|
存储 分布式计算 Hadoop
Hadoop 运行的三种模式
【8月更文挑战第31天】
538 0
|
5月前
|
分布式计算 运维 大数据
混合云模式下 MaxCompute + Hadoop 混搭大数据架构实践。
除了资源效率和成本的优势外,混合云模式还为斗鱼带来了可量化的成本、增值服务以及额外的专业服务。阿里云的专业团队可以为斗鱼提供技术咨询和解决方案,帮助斗鱼解决业务难题。此外,计算资源的可量化也使得斗鱼能够清晰地了解资源使用情况,为业务决策提供依据。
|
7月前
|
分布式计算 安全 Hadoop
Hadoop 集群一直处于安全模式,强制退出后出现数据丢失警告。解决方法
本文介绍了Hadoop集群安全模式的相关命令和问题解决。当集群处于安全模式时,可使用`hdfs dfsadmin -safemode get`检查状态,`enter`进入,`leave`或`forceExit`离开。若因数据块不一致导致安全模式持续,可通过强制退出,然后删除丢失数据块的文件以恢复正常。如果遇到权限问题,可以使用`chmod`授权或关闭HDFS权限验证(不推荐),配置修改后需重启集群生效。
669 0
Hadoop 集群一直处于安全模式,强制退出后出现数据丢失警告。解决方法

相关实验场景

更多