apache  hadoop三种架构介绍(standAlone,伪分布,分布式环境介绍以及安装)

hadoop 文档

http://hadoop.apache.org/docs/

1、StandAlone环境搭建

运行服务

服务器IP

NameNode

192.168.221.100

SecondaryNameNode

192.168.221.100

DataNode

192.168.221.100

ResourceManager

192.168.221.100

NodeManager

192.168.221.100

第一步:下载apache hadoop并上传到服务器

下载链接:

http://archive.apache.org/dist/hadoop/common/hadoop-2.7.5/hadoop-2.7.5.tar.gz

解压命令

cd /export/softwares

tar -zxvf hadoop-2.7.5.tar.gz -C ../servers/

第二步:修改配置文件

修改core-site.xml

第一台机器执行以下命令

cd  /export/servers/hadoop-2.7.5/etc/hadoop

vim  core-site.xml

<configuration>

<property>

<name>fs.default.name</name>

<value>hdfs://192.168.221.100:8020</value>

</property>

<property>

<name>hadoop.tmp.dir</name>

<value>/export/servers/hadoop-2.7.5/hadoopDatas/tempDatas</value>

</property>

<!--  缓冲区大小,实际工作中根据服务器性能动态调整 -->

<property>

<name>io.file.buffer.size</name>

<value>4096</value>

</property>

<!--  开启hdfs的垃圾桶机制,删除掉的数据可以从垃圾桶中回收,单位分钟 -->

<property>

<name>fs.trash.interval</name>

<value>10080</value>

</property>

</configuration>

修改hdfs-site.xml

第一台机器执行以下命令

cd  /export/servers/hadoop-2.7.5/etc/hadoop

vim hdfs-site.xml

<configuration>

<!-- NameNode存储元数据信息的路径,实际工作中,一般先确定磁盘的挂载目录,然后多个目录用,进行分割   -->

<!--   集群动态上下线

<property>

<name>dfs.hosts</name>

<value>/export/servers/hadoop-2.7.4/etc/hadoop/accept_host</value>

</property>

<property>

<name>dfs.hosts.exclude</name>

<value>/export/servers/hadoop-2.7.4/etc/hadoop/deny_host</value>

</property>

-->

<property>

<name>dfs.namenode.secondary.http-address</name>

<value>node01:50090</value>

</property>

<property>

<name>dfs.namenode.http-address</name>

<value>node01:50070</value>

</property>

<property>

<name>dfs.namenode.name.dir</name>

<value>file:///export/servers/hadoop-2.7.5/hadoopDatas/namenodeDatas,file:///export/servers/hadoop-2.7.5/hadoopDatas/namenodeDatas2</value>

</property>

<!--  定义dataNode数据存储的节点位置,实际工作中,一般先确定磁盘的挂载目录,然后多个目录用,进行分割  -->

<property>

<name>dfs.datanode.data.dir</name>

<value>file:///export/servers/hadoop-2.7.5/hadoopDatas/datanodeDatas,file:///export/servers/hadoop-2.7.5/hadoopDatas/datanodeDatas2</value>

</property>

<property>

<name>dfs.namenode.edits.dir</name>

<value>file:///export/servers/hadoop-2.7.5/hadoopDatas/nn/edits</value>

</property>

<property>

<name>dfs.namenode.checkpoint.dir</name>

<value>file:///export/servers/hadoop-2.7.5/hadoopDatas/snn/name</value>

</property>

<property>

<name>dfs.namenode.checkpoint.edits.dir</name>

<value>file:///export/servers/hadoop-2.7.5/hadoopDatas/dfs/snn/edits</value>

</property>

<property>

<name>dfs.replication</name>

<value>3</value>

</property>

<property>

<name>dfs.permissions</name>

<value>false</value>

</property>

<property>

<name>dfs.blocksize</name>

<value>134217728</value>

</property>

</configuration>

修改hadoop-env.sh

第一台机器执行以下命令

cd  /export/servers/hadoop-2.7.5/etc/hadoop

vim  hadoop-env.sh

vim  hadoop-env.sh

export JAVA_HOME=/export/servers/jdk1.8.0_181

修改mapred-site.xml

第一台机器执行以下命令

cd  /export/servers/hadoop-2.7.5/etc/hadoop

vim  mapred-site.xml

<configuration>

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

</property>

<property>

<name>mapreduce.job.ubertask.enable</name>

<value>true</value>

</property>

<property>

<name>mapreduce.jobhistory.address</name>

<value>node01:10020</value>

</property>

<property>

<name>mapreduce.jobhistory.webapp.address</name>

<value>node01:19888</value>

</property>

</configuration>

修改yarn-site.xml

第一台机器执行以下命令

cd  /export/servers/hadoop-2.7.5/etc/hadoop

vim  yarn-site.xml

<configuration>

<property>

<name>yarn.resourcemanager.hostname</name>

<value>node01</value>

</property>

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

<property>

<name>yarn.log-aggregation-enable</name>

<value>true</value>

</property>

<property>

<name>yarn.log-aggregation.retain-seconds</name>

<value>604800</value>

</property>

</configuration>

修改mapred-env.sh

第一台机器执行以下命令

cd  /export/servers/hadoop-2.7.5/etc/hadoop

vim  mapred-env.sh

export JAVA_HOME=/export/servers/jdk1.8.0_181

修改slaves

第一台机器执行以下命令

cd  /export/servers/hadoop-2.7.5/etc/hadoop

vim   slaves

localhost

第三步:启动集群

要启动 Hadoop 集群,需要启动 HDFS 和 YARN 两个模块。
注意: 首次启动 HDFS 时,必须对其进行格式化操作。
本质上是一些清理和
准备工作,因为此时的 HDFS 在物理上还是不存在的。
hdfs namenode -format 或者 hadoop namenode –format

启动命令:

创建数据存放文件夹

第一台机器执行以下命令

cd  /export/servers/hadoop-2.7.5

mkdir
-p /export/servers/hadoop-2.7.5/hadoopDatas/tempDatas

mkdir
-p /export/servers/hadoop-2.7.5/hadoopDatas/namenodeDatas

mkdir
-p /export/servers/hadoop-2.7.5/hadoopDatas/namenodeDatas2

mkdir
-p /export/servers/hadoop-2.7.5/hadoopDatas/datanodeDatas

mkdir
-p /export/servers/hadoop-2.7.5/hadoopDatas/datanodeDatas2

mkdir
-p /export/servers/hadoop-2.7.5/hadoopDatas/nn/edits

mkdir
-p /export/servers/hadoop-2.7.5/hadoopDatas/snn/name

mkdir
-p /export/servers/hadoop-2.7.5/hadoopDatas/dfs/snn/edits

准备启动

第一台机器执行以下命令

cd  /export/servers/hadoop-2.7.5/

bin/hdfs namenode -format

sbin/start-dfs.sh

sbin/start-yarn.sh

sbin/mr-jobhistory-daemon.sh
start historyserver

三个端口查看界面

http://node01:50070/explorer.html#/  查看hdfs

http://node01:8088/cluster   查看yarn集群

http://node01:19888/jobhistory  查看历史完成的任务

2、伪分布式环境搭建(适用于学习测试开发集群模式)

服务规划

服务器IP

192.168.221.100

192.168.221.110

192.168.221.120

主机名

node01.hadoop.com

node02.hadoop.com

node03.hadoop.com

NameNode

Secondary

NameNode

dataNode

ResourceManager

NodeManager

停止单节点集群,删除/export/servers/hadoop-2.7.5/hadoopDatas文件夹,然后重新创建文件夹

第一台机器执行以下命令

cd /export/servers/hadoop-2.7.5

sbin/stop-dfs.sh

sbin/stop-yarn.sh

sbin/mr-jobhistory-daemon.sh stop historyserver

删除hadoopDatas然后重新创建文件夹

rm  -rf  /export/servers/hadoop-2.7.5/hadoopDatas

重新创建文件夹

mkdir -p /export/servers/hadoop-2.7.5/hadoopDatas/tempDatas

mkdir -p /export/servers/hadoop-2.7.5/hadoopDatas/namenodeDatas

mkdir -p /export/servers/hadoop-2.7.5/hadoopDatas/namenodeDatas2

mkdir -p /export/servers/hadoop-2.7.5/hadoopDatas/datanodeDatas

mkdir -p /export/servers/hadoop-2.7.5/hadoopDatas/datanodeDatas2

mkdir -p /export/servers/hadoop-2.7.5/hadoopDatas/nn/edits

mkdir -p /export/servers/hadoop-2.7.5/hadoopDatas/snn/name

mkdir -p /export/servers/hadoop-2.7.5/hadoopDatas/dfs/snn/edits

修改slaves文件,然后将安装包发送到其他机器,重新启动集群即可

第一台机器执行以下命令

cd  /export/servers/hadoop-2.7.5/etc/hadoop

vim slaves

node01

node02

node03

安装包的分发

第一台机器执行以下命令

cd  /export/servers/

scp -r hadoop-2.7.5 node02:$PWD

scp -r hadoop-2.7.5 node03:$PWD

启动集群

第一台机器执行以下命令

cd  /export/servers/hadoop-2.7.5

bin/hdfs namenode -format

sbin/start-dfs.sh

sbin/start-yarn.sh

sbin/mr-jobhistory-daemon.sh start historyserver

3、分布式环境搭建(适用于工作当中正式环境搭建)

使用完全分布式,实现namenode高可用,ResourceManager的高可用

集群运行服务规划

192.168.1.100

192.168.1.110

192.168.1.120

zookeeper

zk

zk

zk

HDFS

JournalNode

JournalNode

JournalNode

NameNode

NameNode

ZKFC

ZKFC

DataNode

DataNode

DataNode

YARN

ResourceManager

ResourceManager

NodeManager

NodeManager

NodeManager

MapReduce

JobHistoryServer

安装包解压

停止之前的hadoop集群的所有服务,并删除所有机器的hadoop安装包,然后重新解压hadoop压缩包

解压压缩包

第一台机器执行以下命令进行解压

cd /export/softwares

tar -zxvf hadoop-2.7.5.tar.gz -C ../servers/

配置文件的修改

修改core-site.xml

第一台机器执行以下命令

cd /export/servers/hadoop-2.7.5/etc/hadoop

vim core-site.xml

<configuration>

<!-- 指定NameNode的HA高可用的zk地址  -->

<property>

<name>ha.zookeeper.quorum</name>

<value>node01:2181,node02:2181,node03:2181</value>

</property>

<!-- 指定HDFS访问的域名地址  -->

<property>

<name>fs.defaultFS</name>

<value>hdfs://ns</value>

</property>

<!-- 临时文件存储目录  -->

<property>

<name>hadoop.tmp.dir</name>

<value>/export/servers/hadoop-2.7.5/data/tmp</value>

</property>

<!-- 开启hdfs垃圾箱机制,指定垃圾箱中的文件七天之后就彻底删掉

单位为分钟

-->

<property>

<name>fs.trash.interval</name>

<value>10080</value>

</property>

</configuration>

修改hdfs-site.xml

第一台机器执行以下命令

cd /export/servers/hadoop-2.7.5/etc/hadoop

vim hdfs-site.xml

<configuration>

<!--  指定命名空间  -->

<property>

<name>dfs.nameservices</name>

<value>ns</value>

</property>

<!--  指定该命名空间下的两个机器作为我们的NameNode  -->

<property>

<name>dfs.ha.namenodes.ns</name>

<value>nn1,nn2</value>

</property>

<!-- 配置第一台服务器的namenode通信地址  -->

<property>

<name>dfs.namenode.rpc-address.ns.nn1</name>

<value>node01:8020</value>

</property>

<!--  配置第二台服务器的namenode通信地址  -->

<property>

<name>dfs.namenode.rpc-address.ns.nn2</name>

<value>node02:8020</value>

</property>

<!-- 所有从节点之间相互通信端口地址 -->

<property>

<name>dfs.namenode.servicerpc-address.ns.nn1</name>

<value>node01:8022</value>

</property>

<!-- 所有从节点之间相互通信端口地址 -->

<property>

<name>dfs.namenode.servicerpc-address.ns.nn2</name>

<value>node02:8022</value>

</property>

<!-- 第一台服务器namenode的web访问地址  -->

<property>

<name>dfs.namenode.http-address.ns.nn1</name>

<value>node01:50070</value>

</property>

<!-- 第二台服务器namenode的web访问地址  -->

<property>

<name>dfs.namenode.http-address.ns.nn2</name>

<value>node02:50070</value>

</property>

<!-- journalNode的访问地址,注意这个地址一定要配置 -->

<property>

<name>dfs.namenode.shared.edits.dir</name>

<value>qjournal://node01:8485;node02:8485;node03:8485/ns1</value>

</property>

<!--  指定故障自动恢复使用的哪个java类 -->

<property>

<name>dfs.client.failover.proxy.provider.ns</name>

<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>

</property>

<!-- 故障转移使用的哪种通信机制 -->

<property>

<name>dfs.ha.fencing.methods</name>

<value>sshfence</value>

</property>

<!-- 指定通信使用的公钥  -->

<property>

<name>dfs.ha.fencing.ssh.private-key-files</name>

<value>/root/.ssh/id_rsa</value>

</property>

<!-- journalNode数据存放地址  -->

<property>

<name>dfs.journalnode.edits.dir</name>

<value>/export/servers/hadoop-2.7.5/data/dfs/jn</value>

</property>

<!-- 启用自动故障恢复功能 -->

<property>

<name>dfs.ha.automatic-failover.enabled</name>

<value>true</value>

</property>

<!-- namenode产生的文件存放路径 -->

<property>

<name>dfs.namenode.name.dir</name>

<value>file:///export/servers/hadoop-2.7.5/data/dfs/nn/name</value>

</property>

<!-- edits产生的文件存放路径 -->

<property>

<name>dfs.namenode.edits.dir</name>

<value>file:///export/servers/hadoop-2.7.5/data/dfs/nn/edits</value>

</property>

<!-- dataNode文件存放路径 -->

<property>

<name>dfs.datanode.data.dir</name>

<value>file:///export/servers/hadoop-2.7.5/data/dfs/dn</value>

</property>

<!-- 关闭hdfs的文件权限 -->

<property>

<name>dfs.permissions</name>

<value>false</value>

</property>

<!-- 指定block文件块的大小 -->

<property>

<name>dfs.blocksize</name>

<value>134217728</value>

</property>

</configuration>

修改yarn-site.xml,注意node03与node02配置不同

第一台机器执行以下命令

cd /export/servers/hadoop-2.7.5/etc/hadoop

vim yarn-site.xml

<configuration>

<!-- Site specific YARN configuration properties -->

<!-- 是否启用日志聚合.应用程序完成后,日志汇总收集每个容器的日志,这些日志移动到文件系统,例如HDFS. -->

<!-- 用户可以通过配置"yarn.nodemanager.remote-app-log-dir"、"yarn.nodemanager.remote-app-log-dir-suffix"来确定日志移动到的位置 -->

<!-- 用户可以通过应用程序时间服务器访问日志 -->

<!-- 启用日志聚合功能,应用程序完成后,收集各个节点的日志到一起便于查看 -->

<property>

<name>yarn.log-aggregation-enable</name>

<value>true</value>

</property>

<!--开启resource manager HA,默认为false-->

<property>

<name>yarn.resourcemanager.ha.enabled</name>

<value>true</value>

</property>

<!-- 集群的Id,使用该值确保RM不会做为其它集群的active -->

<property>

<name>yarn.resourcemanager.cluster-id</name>

<value>mycluster</value>

</property>

<!--配置resource manager  命名-->

<property>

<name>yarn.resourcemanager.ha.rm-ids</name>

<value>rm1,rm2</value>

</property>

<!-- 配置第一台机器的resourceManager -->

<property>

<name>yarn.resourcemanager.hostname.rm1</name>

<value>node03</value>

</property>

<!-- 配置第二台机器的resourceManager -->

<property>

<name>yarn.resourcemanager.hostname.rm2</name>

<value>node02</value>

</property>

<!-- 配置第一台机器的resourceManager通信地址 -->

<property>

<name>yarn.resourcemanager.address.rm1</name>

<value>node03:8032</value>

</property>

<property>

<name>yarn.resourcemanager.scheduler.address.rm1</name>

<value>node03:8030</value>

</property>

<property>

<name>yarn.resourcemanager.resource-tracker.address.rm1</name>

<value>node03:8031</value>

</property>

<property>

<name>yarn.resourcemanager.admin.address.rm1</name>

<value>node03:8033</value>

</property>

<property>

<name>yarn.resourcemanager.webapp.address.rm1</name>

<value>node03:8088</value>

</property>

<!-- 配置第二台机器的resourceManager通信地址 -->

<property>

<name>yarn.resourcemanager.address.rm2</name>

<value>node02:8032</value>

</property>

<property>

<name>yarn.resourcemanager.scheduler.address.rm2</name>

<value>node02:8030</value>

</property>

<property>

<name>yarn.resourcemanager.resource-tracker.address.rm2</name>

<value>node02:8031</value>

</property>

<property>

<name>yarn.resourcemanager.admin.address.rm2</name>

<value>node02:8033</value>

</property>

<property>

<name>yarn.resourcemanager.webapp.address.rm2</name>

<value>node02:8088</value>

</property>

<!--开启resourcemanager自动恢复功能-->

<property>

<name>yarn.resourcemanager.recovery.enabled</name>

<value>true</value>

</property>

<!--在node1上配置rm1,在node2上配置rm2,注意:一般都喜欢把配置好的文件远程复制到其它机器上,但这个在YARN的另一个机器上一定要修改,其他机器上不配置此项-->

<property>

<name>yarn.resourcemanager.ha.id</name>

<value>rm1</value>[a1]

<description>If we want to launch more than one RM in single node, we need this configuration</description>

</property>

<!--用于持久存储的类。尝试开启-->

<property>

<name>yarn.resourcemanager.store.class</name>

<value>org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore</value>

</property>

<property>

<name>yarn.resourcemanager.zk-address</name>

<value>node02:2181,node03:2181,node01:2181</value>

<description>For multiple zk services, separate them with comma</description>

</property>

<!--开启resourcemanager故障自动切换,指定机器-->

<property>

<name>yarn.resourcemanager.ha.automatic-failover.enabled</name>

<value>true</value>

<description>Enable automatic failover; By default, it is enabled only when HA is enabled.</description>

</property>

<property>

<name>yarn.client.failover-proxy-provider</name>

<value>org.apache.hadoop.yarn.client.ConfiguredRMFailoverProxyProvider</value>

</property>

<!-- 允许分配给一个任务最大的CPU核数,默认是8 -->

<property>

<name>yarn.nodemanager.resource.cpu-vcores</name>

<value>4</value>

</property>

<!-- 每个节点可用内存,单位MB -->

<property>

<name>yarn.nodemanager.resource.memory-mb</name>

<value>512</value>

</property>

<!-- 单个任务可申请最少内存,默认1024MB -->

<property>

<name>yarn.scheduler.minimum-allocation-mb</name>

<value>512</value>

</property>

<!-- 单个任务可申请最大内存,默认8192MB -->

<property>

<name>yarn.scheduler.maximum-allocation-mb</name>

<value>512</value>

</property>

<!--多长时间聚合删除一次日志 此处-->

<property>

<name>yarn.log-aggregation.retain-seconds</name>

<value>2592000</value><!--30 day-->

</property>

<!--时间在几秒钟内保留用户日志。只适用于如果日志聚合是禁用的-->

<property>

<name>yarn.nodemanager.log.retain-seconds</name>

<value>604800</value><!--7 day-->

</property>

<!--指定文件压缩类型用于压缩汇总日志-->

<property>

<name>yarn.nodemanager.log-aggregation.compression-type</name>

<value>gz</value>

</property>

<!-- nodemanager本地文件存储目录-->

<property>

<name>yarn.nodemanager.local-dirs</name>

<value>/export/servers/hadoop-2.7.5/yarn/local</value>

</property>

<!-- resourceManager  保存最大的任务完成个数 -->

<property>

<name>yarn.resourcemanager.max-completed-applications</name>

<value>1000</value>

</property>

<!-- 逗号隔开的服务列表,列表名称应该只包含a-zA-Z0-9_,不能以数字开始-->

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

<!--rm失联后重新链接的时间-->

<property>

<name>yarn.resourcemanager.connect.retry-interval.ms</name>

<value>2000</value>

</property>

</configuration>

修改mapred-site.xml

cd /export/servers/hadoop-2.7.5/etc/hadoop

vim mapred-site.xml

<configuration>

<!--指定运行mapreduce的环境是yarn -->

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

</property>

<!-- MapReduce JobHistory Server IPC host:port -->

<property>

<name>mapreduce.jobhistory.address</name>

<value>node03:10020</value>

</property>

<!-- MapReduce JobHistory Server Web UI host:port -->

<property>

<name>mapreduce.jobhistory.webapp.address</name>

<value>node03:19888</value>

</property>

<!-- The directory where MapReduce stores control files.默认 ${hadoop.tmp.dir}/mapred/system -->

<property>

<name>mapreduce.jobtracker.system.dir</name>

<value>/export/servers/hadoop-2.7.5/data/system/jobtracker</value>

</property>

<!-- The amount of memory to request from the scheduler for each map task. 默认 1024-->

<property>

<name>mapreduce.map.memory.mb</name>

<value>1024</value>

</property>

<!-- <property>

<name>mapreduce.map.java.opts</name>

<value>-Xmx1024m</value>

</property> -->

<!-- The amount of memory to request from the scheduler for each reduce task. 默认 1024-->

<property>

<name>mapreduce.reduce.memory.mb</name>

<value>1024</value>

</property>

<!-- <property>

<name>mapreduce.reduce.java.opts</name>

<value>-Xmx2048m</value>

</property> -->

<!-- 用于存储文件的缓存内存的总数量,以兆字节为单位。默认情况下,分配给每个合并流1MB,给个合并流应该寻求最小化。默认值100-->

<property>

<name>mapreduce.task.io.sort.mb</name>

<value>100</value>

</property>

<!-- <property>

<name>mapreduce.jobtracker.handler.count</name>

<value>25</value>

</property>-->

<!-- 整理文件时用于合并的流的数量。这决定了打开的文件句柄的数量。默认值10-->

<property>

<name>mapreduce.task.io.sort.factor</name>

<value>10</value>

</property>

<!-- 默认的并行传输量由reduce在copy(shuffle)阶段。默认值5-->

<property>

<name>mapreduce.reduce.shuffle.parallelcopies</name>

<value>25</value>

</property>

<property>

<name>yarn.app.mapreduce.am.command-opts</name>

<value>-Xmx1024m</value>

</property>

<!-- MR AppMaster所需的内存总量。默认值1536-->

<property>

<name>yarn.app.mapreduce.am.resource.mb</name>

<value>1536</value>

</property>

<!-- MapReduce存储中间数据文件的本地目录。目录不存在则被忽略。默认值${hadoop.tmp.dir}/mapred/local-->

<property>

<name>mapreduce.cluster.local.dir</name>

<value>/export/servers/hadoop-2.7.5/data/system/local</value>

</property>

</configuration>

修改slaves

第一台机器执行以下命令

cd /export/servers/hadoop-2.7.5/etc/hadoop

vim slaves

node01

node02

node03

修改hadoop-env.sh

第一台机器执行以下命令

cd /export/servers/hadoop-2.7.5/etc/hadoop

vim hadoop-env.sh

export JAVA_HOME=/export/servers/jdk1.8.0_181

集群启动过程

将第一台机器的安装包发送到其他机器上

第一台机器执行以下命令:

cd /export/servers

scp -r hadoop-2.7.5/ node02:$PWD

scp -r hadoop-2.7.5/ node03:$PWD

三台机器上共同创建目录

三台机器执行以下命令

mkdir -p /export/servers/hadoop-2.7.5/data/dfs/nn/name

mkdir -p /export/servers/hadoop-2.7.5/data/dfs/nn/edits

mkdir -p /export/servers/hadoop-2.7.5/data/dfs/nn/name

mkdir -p /export/servers/hadoop-2.7.5/data/dfs/nn/edits

更改node02的rm2

第二台机器执行以下命令

cd /export/servers/hadoop-2.7.5/etc/hadoop

vim  yarn-site.xml

<!--在node3上配置rm1,在node2上配置rm2,注意:一般都喜欢把配置好的文件远程复制到其它机器上,

但这个在YARN的另一个机器上一定要修改,其他机器上不配置此项

注意我们现在有两个resourceManager  第三台是rm1   第二台是rm2

这个配置一定要记得去node02上面改好

-->

<property>

<name>yarn.resourcemanager.ha.id</name>

<value>rm2</value>

<description>If we want to launch more than one RM in single node, we need this configuration</description>

</property>

启动HDFS过程

node01机器执行以下命令

cd   /export/servers/hadoop-2.7.5

bin/hdfs zkfc -formatZK

sbin/hadoop-daemons.sh start journalnode

bin[a2] /hdfs namenode -format

bin/hdfs namenode -initializeSharedEdits -force

sbin/start-dfs.sh

node02上面执行

cd   /export/servers/hadoop-2.7.5

bin/hdfs namenode -bootstrapStandby

sbin/hadoop-daemon.sh start namenode

启动yarn过程

node03上面执行

cd   /export/servers/hadoop-2.7.5

sbin/start-yarn.sh

node02上执行

cd   /export/servers/hadoop-2.7.5

sbin/start-yarn.sh

查看resourceManager状态

node03上面执行

cd   /export/servers/hadoop-2.7.5

bin/yarn rmadmin -getServiceState rm1

node02上面执行

cd   /export/servers/hadoop-2.7.5

bin/yarn rmadmin -getServiceState rm2

node03启动jobHistory

node03机器执行以下命令启动jobHistory

cd /export/servers/hadoop-2.7.5

sbin/mr-jobhistory-daemon.sh start historyserver

hdfs状态查看

node01机器查看hdfs状态

http://192.168.221.100:50070/dfshealth.html#tab-overview

node02机器查看hdfs状态

http://192.168.221.110:50070/dfshealth.html#tab-overview

yarn集群访问查看

http://node03:8088/cluster

历史任务浏览界面

页面访问:

http://192.168.221.120:19888/jobhistory


[a1]注意这个值,node03机器上面的配置为rm1,node02机器上的配置则为rm2,这个值两个机器上面配置不能一样

[a2]这个命令一定要慎重使用,只在集群搭建的时候使用一次,以后都不要使用了,一旦使用,集群上面所有的数据都没了

Hadoop三种架构介绍及搭建的更多相关文章

  1. Hadoop Hive概念学习系列之hive三种方式区别和搭建、HiveServer2环境搭建、HWI环境搭建和beeline环境搭建(五)

     说在前面的话 以下三种情况,最好是在3台集群里做,比如,master.slave1.slave2的master和slave1都安装了hive,将master作为服务端,将slave1作为服务端. 以 ...

  2. Spark部署三种方式介绍:YARN模式、Standalone模式、HA模式

    参考自:Spark部署三种方式介绍:YARN模式.Standalone模式.HA模式http://www.aboutyun.com/forum.php?mod=viewthread&tid=7 ...

  3. Hadoop三种安装模式:单机模式,伪分布式,真正分布式

    Hadoop三种安装模式:单机模式,伪分布式,真正分布式 一 单机模式standalone单 机模式是Hadoop的默认模式.当首次解压Hadoop的源码包时,Hadoop无法了解硬件安装环境,便保守 ...

  4. apache2.4.x三种MPM介绍

    三种MPM介绍                                                                               Apache 2.X  支持 ...

  5. Mysql Binlog三种格式介绍及分析【转】

    一.Mysql Binlog格式介绍       Mysql binlog日志有三种格式,分别为Statement,MiXED,以及ROW! 1.Statement:每一条会修改数据的sql都会记录在 ...

  6. Linux 下的三种时间介绍

    Linux 下的三种时间介绍: Access Time:简写为atime,表示文件访问的时间,当文件内容被访问时,更新atime时间 Modify Time:简写为mtime,表示文件内容修改的时间, ...

  7. 微服务ServiceMesh及三种模式介绍

    1. 前言 今年,ServiceMesh(服务网格)概念在社区里头非常火,有人提出2018年是ServiceMesh年,还有人提出ServiceMesh是下一代的微服务架构基础.作为架构师,如果你现在 ...

  8. ubuntu上Hadoop三种运行模式的部署

    Hadoop集群支持三种运行模式:单机模式.伪分布式模式,全分布式模式,下面介绍下在Ubuntu下的部署 (1)单机模式 默认情况下,Hadoop被配置成一个以非分布式模式运行的独立JAVA进程,适合 ...

  9. VMWARE虚拟机CentOS6.4系统使用主机无线网卡上网的三种方法介绍

    转自:http://www.jb51.net/network/98820.html 如何真正的实现VMWARE虚拟机CentOS6.4系统使用主机无线网卡上网   环境:WIN7旗舰版,台式机,U盘无 ...

随机推荐

  1. UBUNTU 15.10 CAFFE安装教程(测试可用)

    转帖:https://github.com/BVLC/caffe/wiki/Ubuntu-15.10-Installation-Guide Ubuntu 15.10 have been release ...

  2. 灰度图像--图像增强 非锐化掩蔽 (Unsharpening Mask)

    学习DIP第35天 转载请标明本文出处:http://blog.csdn.net/tonyshengtan,欢迎大家转载,发现博客被某些论坛转载后,图像无法正常显示,无法正常表达本人观点,对此表示很不 ...

  3. k8s集群节点更换ip 或者 k8s集群添加新节点

    1.需求情景:机房网络调整,突然要回收我k8s集群上一台node节点机器的ip,并调予新的ip到这台机器上,所以有了k8s集群节点更换ip一说:同时,k8s集群节点更换ip也相当于k8s集群添加新节点 ...

  4. 也谈Tcp/Ip协议

    一. 计算机网络体系结构分层 一图看完本文 计算机网络体系结构分层 计算机网络体系结构分层 不难看出,TCP/IP 与 OSI 在分层模块上稍有区别.OSI 参考模型注重“通信协议必要的功能是什么”, ...

  5. Android_(控件)使用ListView显示Android系统SD卡的文件列表_02

    使用ListView显示Android SD卡中的文件列表 父类布局activity_main.xml,子类布局item_filelayout(一个文件的单独存放) 运行截图: 程序结构 <?x ...

  6. redis 提供 6种数据淘汰策略

    淘汰策略的原因 在 redis 中,允许用户设置最大使用内存大小 server.maxmemory,在内存限定的情况下是很有用的.譬如,在一台 8G 机子上部署了 4 个 redis 服务点,每一个服 ...

  7. linux安装mysql可视化界面

    之前是一直用shell交互界面,但是最近频繁地检查数据库中的数据感觉特别麻烦,便装了一个可视化工具. 安装: $ sudo apt-get install mysql-workbench [sudo] ...

  8. Java如何对一个对象进行深拷贝?

    在Java语言里,当我们需要拷贝一个对象时,有两种类型的拷贝:浅拷贝与深拷贝.浅拷贝只是拷贝了源对象的地址,所以源对象的值发生变化时,拷贝对象的值也会发生变化.而深拷贝则是拷贝了源对象的所有值,所以即 ...

  9. 前端开发中的Error以及异常捕获

    本文首发于公众号:符合预期的CoyPan 写在前面 在前端项目中,由于JavaScript本身是一个弱类型语言,加上浏览器环境的复杂性,网络问题等等,很容易发生错误.做好网页错误监控,不断优化代码,提 ...

  10. win10搜索框突然不能使用了

    备忘: win10搜索不出来了,使用以下方法恢复了,备忘下 1,首先打开任务管理器 重新启动wservice服务 2.发现这时候搜索依然不能使用 然后重新启动explorer.exe (1)右键关闭该 ...