3、Hadoop运行模式的设置(伪分布式)

来源:互联网 发布:w3cschool sql 编辑:程序博客网 时间:2024/06/16 00:32

1、配置Hadoop运行模式(准备工作)

Hadoop的各个组件局可以利用XML文件进行配置。
core-site.xml文件用于配置通用属性。
hdfs-site.xml文件用于配置HDFS属性。
mapred-site.xml文进用于配置MapReduce属性
yarn-site.xml文件用于配置YARN属性
这些文件都放在/etc/hadoop
本机为 /software/hadoop/etc/hadoop/
如图
这里写图片描述

Hadoop有三种运行模式

  • A.独立(单机模式) (不需要配置默认就是)
    无需任何守护进程,所有程序都在同一个JVM上执行。在独立模式下测试MapReduce程序很方便,因此该模式,在开发阶段比较合适。在独立模式下,
    hdfs {Hadoop Distributed File System (HDFS)} 就是本地文件系统,不需要启动单独的hadoop进程。
    可以使用命令
$  hdfs  dfs -ls   /   

这里写图片描述

  • B、 伪分布模式

Hadoop守护进程运行在本地机器上,模拟一个小规模的集群。
后面主要是如何配置该模式。

  • C、全分布模式
    Hadoop守护进程运行在一个集群上。待续。。。。

、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
下面是配置伪分布模式

、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
伪分布模式配置

、准备工作

修改文件
core-site.xml
hdfs-site.xml
mapred-site.xml
yarn-site.xml
1、切换到${HADOOP_HOME}目录下,本机的就是

$ cd /software/hadoop/etc/hadoop$ ls

这里写图片描述
2、分别编辑
core-site.xml
hdfs-site.xml
mapred-site.xml
yarn-site.xml
把下面的代码添加到对应的文件(Hadoop权威指南附录里面有)
注意: mapred-site.xml不存在,
需要从 mapred-site.xml.template拷贝一份(cp mapred-site.xml.template mapred-site.xml)

<?xml version="1.0"?><!-- core-site.xml --><configuration>    <property>        <name>fs.defaultFS</name>        <value>hdfs://localhost/</value>    </property></configuration><?xml version="1.0"?><!-- hdfs-site.xml --><configuration>    <property>        <name>dfs.replication</name>        <value>1</value>    </property></configuration><?xml version="1.0"?><!-- mapred-site.xml --><configuration>    <property>        <name>mapreduce.framework.name</name>        <value>yarn</value>    </property></configuration><?xml version="1.0"?><!-- yarn-site.xml --><configuration>    <property>        <name>yarn.resourcemanager.hostname</name>        <value>localhost</value>    </property>    <property>        <name>yarn.nodemanager.aux-services</name>        <value>mapreduce_shuffle</value>    </property></configuration>

这里写图片描述


这里写图片描述


这里写图片描述


这里写图片描述


2、配置hadoop,使用符号链接的方式,使三种模式共存

1、创建三个配置目录,内容等同于hadoop目录”

这里${hadoop_home}就是  /software/hadoop/这个目录     ${hadoop_home} /etc/local     //代表单机模式    ${hadoop_home} /etc/ Pseudodistributed  //代表伪分布模式    $ {hadoop_home} /etc/full    //代表完全模式(待续)

这里写图片描述


2、 删除hadoop文件 ,创建hadoop 的链接连接到 Pseudodistributed(Pseudodistributed代表伪分布模式)

    rm -rf  hadoop    ln -s    Pseudodistributed    hadoop

这里写图片描述


3、对hdfs进行格式化(!!!一次就好!!!)

多次格式化会造成datanode无法启动!!!,后面会说,面会说遇到这种情况如何解决

 $  hadoop namenode  -format

这里写图片描述

4、修改 local这个文件下面的(local代表的就是单机模式)

core-site.xml;hdfs-site.xml;mapred-site.xml;yarn-site.xml删除掉我们修改的内容使其,回复到我们修改之前的状态
这里写图片描述


这里写图片描述

5、修改hadoop配制文件,手动指定JAVA_HOME环境变量!!!!!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

[${HADOOP_HOME}/etc/hadop/   //配置文件目录
export JAVA_HOME=/software/jdk1.8.0_144    //手动指定JAVA_HOME环境变量

这里写图片描述


这里写图片描述

6、启动 hadoop的所有进程(测试伪分布)

    $>  start-all.sh

。。。。。。。。。。。下面可以跳过。。。。。。。。。。。。。。。。。
基本上的问题都是权限的问题;除此之外对namenode多此格式化,有可能造成datanode无法启动
解决办法有空总结
这里写图片描述
应该是权限的问题

cd  /software/hadoop

这里写图片描述

。。。。。。。。。。。。假设问题全部解决。。。。。。。。。。。。。

7、启动完成以后会出现,以下进程

    $   jps

这里写图片描述


7、查看hdfs文件系统

        $  hdfs  dfs  -ls  /    //显示为空
        $   hdfs dfs -mkdir -p  /usr/wang/hadoop   

这里写图片描述


8、关掉防火墙,通过webui查看hadoop的文件系统

centos防火墙操作centos6.5及以上版本$service firewall start$service  firewall   stop$service firewall  status-------centos7$systemctl enable firewalld.service   //启用$systemctl disable firewalld.service   //禁用$systemctl start firewalld.service   //启动$systemctl stop firewalld.service   /s/关闭$systemctl status firewalld.service   //启动
在浏览器http:://IP::50070就打开webui了

9、停止hadoop所有的进程

$>  stop-all.sh

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////补充说明

a、hadoop的端口


nststata -ano |more

“`

这里写图片描述


50070 //hadoop http port
50075 //datanode http port
50090 //secondarynamenode http port

8020 //namenode rpc port 远程通讯
50010 //datenode rpc port

b、hadoop四大模块


comomon //公共模块
hdfs //namenode+datanode+secondnarynode

mapred
yarn resourcemannger+nodemanager

c、启动脚本


1.start-all.sh
2.stop-all.sh

3.start-dfs.sh stop-dfs.sh
启动的是:
namenode+datanode+secondnarynode
NN+DN+2NN
4.start-yarn.sh stop-yarn.sh
启动的是:

    RM+NM
原创粉丝点击