hadoop三种模式的配置与启动

一、local模式

以下的所有软件的安装目录都是/opt/module

1.安装jdk

[root@hadoopc1h1 ~]$  pwd
/opt/module/jdk1.8.0_144

2.解压hadoop包到安装目录

[root@hadoopc1h1 ~]$ pwd
/opt/module/hadoop-2.7.2

3./etc/profile中配置jdk和hadoop环境变量(如有需要)

export JAVA_HOME=/opt/module/jdk1.8.0_144
export PATH=$PATH:$JAVA_HOME/bin

export HADOOP_HOME=/opt/module/hadoop-2.7.2
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

4.检查hadoop是否安装成功

[root@hadoopc1h1 ~]$ hadoop version
Hadoop 2.7.2
Subversion Unknown -r Unknown
Compiled by root on 2017-05-22T10:49Z
Compiled with protoc 2.5.0
From source with checksum d0fda26633fa762bff87ec759ebe689c

二、伪分布式运行模式

1.配置并启动hdfs

1、按照上述local模式安装步骤

2、修改配置

  • /opt/module/hadoop-2.7.2/etc/hadoop/ hadoop-env.sh
# The java implementation to use.
export JAVA_HOME=/opt/module/jdk1.8.0_144
  • /opt/module/hadoop-2.7.2/etc/hadoop/core-site.xml
<!-- 指定HDFS中NameNode的地址 -->
<property>
	<name>fs.defaultFS</name>
    <value>hdfs://NameNodeIp:port</value>
</property>

<!-- 指定Hadoop运行时产生文件的存储目录-->
<property>
	<name>hadoop.tmp.dir</name>
	<value>/opt/module/hadoop-2.7.2/data/tmp</value>
</property>

  • /opt/module/hadoop-2.7.2/etc/hadoop/hdfs-site.xml
<!-- 指定HDFS副本的数量 -->
<property>
	<name>dfs.replication</name>
	<value>1</value>
</property>

3、启动hdfs

(1)格式化NameNode(第一次启动时格式化,以后就不要总格式化)

[root@hadoopc1h1 ~]$  /opt/module/hadoop-2.7.2/bin/hdfs namenode -format

(2)启动namenode

[root@hadoopc1h1 ~]$  /opt/module/hadoop-2.7.2/sbin/hadoop-daemon.sh start namenode

(3)启动DataNode

[root@hadoopc1h1 ~]$  /opt/module/hadoop-2.7.2/sbin/hadoop-daemon.sh start DataNode

(4)查看是否启动成功

[root@hadoopc1h1 ~]$ jps
1539 DataNode
1404 NameNode

(5)hdfs启动后50070端口可以访问其web页面
在这里插入图片描述

2.配置并启动yarn

1、修改配置

  • /opt/module/hadoop-2.7.2/etc/hadoop/yarn-env.sh
# some Java parameters
export JAVA_HOME=/opt/module/jdk1.8.0_144
if [ "$JAVA_HOME" != "" ]; then
  #echo "run java in $JAVA_HOME"
  JAVA_HOME=$JAVA_HOME
fi
  • /opt/module/hadoop-2.7.2/etc/hadoop/mapred-env.sh
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

export JAVA_HOME=/opt/module/jdk1.8.0_144
  • /opt/module/hadoop-2.7.2/etc/hadoop/yarn-site.xml
<!-- Reducer获取数据的方式 -->
<property>
	<name>yarn.nodemanager.aux-services</name>
	<value>mapreduce_shuffle</value>
</property>

<!-- 指定YARN的ResourceManager的地址 -->
<property>
	<name>yarn.resourcemanager.hostname</name>
	<value>hadoopc1h1</value>
</property>
  • mapred-site.xml(对mapred-site.xml.template重新命名为)
<!-- 指定MR运行在YARN上 -->
<property>
		<name>mapreduce.framework.name</name>
		<value>yarn</value>
</property>

2、启动yarn

(1)启动前必须保证NameNode和DataNode已经启动

[root@hadoopc1h1 ~]$ jps
1539 DataNode
1404 NameNode

(2)启动ResourceManager

[root@hadoopc1h1 ~]$ /opt/module/hadoop-2.7.2/sbin/yarn-daemon.sh start resourcemanager

(3)启动NodeManager

[root@hadoopc1h1 ~]$ /opt/module/hadoop-2.7.2/sbin/yarn-daemon.sh start nodemanager

(4)查看是否启动成功

[root@hadoopc1h1 ~]$ jps
1347 ResourceManager
1475 NodeManager

(5)yarn启动后8088端口可以访问其web页面
在这里插入图片描述

3. 配置历史服务器(可选)

为了查看程序的历史运行情况,需要配置一下历史服务器。具体配置步骤如下:

1、修改配置

  • /opt/module/hadoop-2.7.2/etc/hadoop/mapred-site.xml
<!-- 历史服务器端地址 -->
<property>
<name>mapreduce.jobhistory.address</name>
<value>hadoopc1h1:10020</value>
</property>
<!-- 历史服务器web端地址 -->
<property>
    <name>mapreduce.jobhistory.webapp.address</name>
    <value>hadoopc1h1:19888</value>
</property>

2、启动历史服务器

[root@hadoopc1h1 ~]$ /opt/module/hadoop-2.7.2/sbin/mr-jobhistory-daemon.sh start historyserver

3、查看历史服务器是否启动

[root@hadoopc1h1 ~]$ jps
2617 JobHistoryServer

4、JobHistoryServer启动后19888端口可以访问其web页面

在这里插入图片描述

4.配置日志聚集(可选)

日志聚集概念:应用运行完成以后,将程序运行日志信息上传到HDFS系统上。
日志聚集功能好处:可以方便的查看到程序运行详情,方便开发调试。

注意:开启日志聚集功能,需要重新启动NodeManager 、ResourceManager和HistoryManager。

1、修改配置

  • /opt/module/hadoop-2.7.2/etc/hadoop/yarn-site.xml
<!-- 日志聚集功能使能 -->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>

<!-- 日志保留时间设置7天 -->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>

三、完全分布式运行模式(重点)

1.准备3台服务器(以3台为例,关闭防火墙、静态ip、主机名称(hadoopc1h1、hadoopc1h2、hadoopc1h3))

2.配置ssh免密登录(centos7设置SSH免密码登录教程

3.编写集群分发脚本xsync

#!/bin/bash
#1 获取输入参数个数,如果没有参数,直接退出
list=(hadoopc1h1 hadoopc1h2 hadoopc1h3)
pcount=$#
if((pcount==0)); then
echo no args;
exit;
fi

#2 获取文件名称
p1=$1
fname=`basename $p1`
echo fname=$fname

#3 获取上级目录到绝对路径
pdir=`cd -P $(dirname $p1); pwd`
echo pdir=$pdir

#4 获取当前用户名称
user=`whoami`

#5 循环
for item in ${list[@]}
do
     echo ------------------- $item --------------
         rsync -rvl $pdir/$fname $user@$item:$pdir
done

4.集群配置

1、集群部署规划

-----Hadoopc1h1Hadoopc1h2Hadoopc1h3
hdfsNameNode、DataNodeDataNodeSecondaryNameNode、DataNode
yarnNodeManagerResourceManager、NodeManagerNodeManager

2、配置集群

  • /opt/module/hadoop-2.7.2/etc/hadoop/core-site.xml
<!-- 指定HDFS中NameNode的地址 -->
<property>
		<name>fs.defaultFS</name>
      <value>hdfs://hadoopc1h1:9000</value>
</property>

<!-- 指定Hadoop运行时产生文件的存储目录 -->
<property>
		<name>hadoop.tmp.dir</name>
		<value>/opt/module/hadoop-2.7.2/data/tmp</value>
</property>
  • /opt/module/hadoop-2.7.2/etc/hadoop/hadoop-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_144
  • /opt/module/hadoop-2.7.2/etc/hadoop/hdfs-site.xml
<property>
		<name>dfs.replication</name>
		<value>3</value>
</property>

<!-- 指定Hadoop辅助名称节点主机配置 -->
<property>
      <name>dfs.namenode.secondary.http-address</name>
      <value>hadoopc1h3:50090</value>
</property>

  • /opt/module/hadoop-2.7.2/etc/hadoop/yarn-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_144
  • /opt/module/hadoop-2.7.2/etc/hadoop/yarn-site.xml
<!-- Reducer获取数据的方式 -->
<property>
		<name>yarn.nodemanager.aux-services</name>
		<value>mapreduce_shuffle</value>
</property>

<!-- 指定YARN的ResourceManager的地址 -->
<property>
		<name>yarn.resourcemanager.hostname</name>
		<value>hadoopc1h2</value>
</property>

  • /opt/module/hadoop-2.7.2/etc/hadoop/mapred-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_144
  • /opt/module/hadoop-2.7.2/etc/hadoop/mapred-site.xml
<!-- 指定MR运行在Yarn上 -->
<property>
		<name>mapreduce.framework.name</name>
		<value>yarn</value>
</property>

  • /opt/module/hadoop-2.7.2/etc/hadoop/slaves
hadoopc1h1
hadoopc1h2
hadoopc1h3

(2)在集群上分发配置好的Hadoop

[root@hadoopc1h1 ~]$ xsync /opt/module/hadoop-2.7.2/

3、启动集群

(1)如果集群是第一次启动,需要格式化NameNode(注意格式化之前,一定要先停止上次启动的所有namenode和datanode进程,然后再删除data和log数据)

[root@hadoopc1h1 ~]$  /opt/module/hadoop-2.7.2/bin/hdfs namenode -format

(2)启动HDFS

[root@hadoopc1h1 ~]$ /opt/module/hadoop-2.7.2/sbin/start-dfs.sh
[root@hadoopc1h1 ~]$ jps
1366 NameNode
1501 DataNode
[root@hadoopc1h2 ~]# jps
1184 DataNode

[root@hadoopc1h3 ~]# jps
1390 SecondaryNameNode
1263 DataNode

(3)启动yarn

注意:NameNode和ResourceManger如果不是同一台机器,不能在NameNode上启动 YARN,应该在ResouceManager所在的机器上启动YARN。

[root@hadoopc1h1 ~]$ /opt/module/hadoop-2.7.2/sbin/start-yarn.sh
[root@hadoopc1h1 ~]$ jps
1746 NodeManager
1366 NameNode
1501 DataNode
2991 Jps
[root@hadoopc1h2 ~]# jps
1184 DataNode
1328 ResourceManager
1472 NodeManager
2390 Jps
[root@hadoopc1h3 sbin]# jps
1482 NodeManager
1390 SecondaryNameNode
1263 DataNode
2536 Jps

(4)查看hadoop集群web页面

hdfs
在这里插入图片描述
yarn
在这里插入图片描述
SecondaryNameNode
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值