前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Hadoop分布式环境搭建(简单高效~)

Hadoop分布式环境搭建(简单高效~)

作者头像
不温卜火
发布2020-10-28 15:36:49
5810
发布2020-10-28 15:36:49
举报
文章被收录于专栏:不温卜火

这篇博文,博主分享的是大数据集群的安装部署,简单实用,希望这篇文章能够帮助大家,在正式部署之前,我们需要提前做好准备工作。

代码语言:javascript
复制
准备好三台虚拟机,ip分别为192.168.2.112,192.168.2.113,192.168.2.114。
对应的主机名为hadoop002,hadoop003,hadoop004

部署规划:

1
1
代码语言:javascript
复制
三台机器准备工作:
1.关闭防火墙    service iptables stop
             chkconfig iptables stop
2.关闭selinux
3.修改主机名
4.ssh无密码拷贝数据
特别说明(在主节点无密码访问到从节点)
ssh-keygen 
ssh-copy-id   192.168.2.112
ssh-copy-id   192.168.2.113
ssh-copy-id   192.168.2.124        
5.设置主机名和IP对应
vi  /etc/hosts     
6.jdk1.8安装
7. hadoop2.7.2安装

因为在之前的博客在Linux中部署集群(零基础速学!)中,上述的准备操作均已详细描述,这里对于准备工作的内容就不做过多讲解。接下来正式开始进行集群环境的搭建

一. 上传压缩包并解压

博主在此,先把需要用到的文档打包上传到百度云,需要的可以自取: 链接:https://pan.baidu.com/s/1raXTsh690-KLA9Pk2R-cIA 提取码:5u1g

代码语言:javascript
复制
# 创建两个文件夹
mkdir -p /opt/software 存放软件压缩包
mkdir -p /opt/module 存放压缩后的文件

创建完成下面就需要配置java和Hadoop

如何配置 Java 和 Hadoop 具体过程可以看博主以往的文章: [Centos版]Hadoop运行环境的具体搭建过程(超详细)

二. 配置集群(重点)

声明:配置文件到在:/opt/module/hadoop-2.7.2/etc/hadoop/ 配置方式多样,在此我推荐通过Xshell同时操作

2
2

1. 核心配置文件

  • 配置core-site.xml
代码语言:javascript
复制
[bigdata@hadoop002 root]$ cd /opt/module/hadoop-2.7.2/etc/hadoop/
[bigdata@hadoop002 hadoop]$ vim core-site.xml 

将以下内容添至xml文件指定位置处

代码语言:javascript
复制
<!-- 指定HDFS中NameNode的地址 -->
<property>
		<name>fs.defaultFS</name>
      <value>hdfs://hadoop002:9000</value>
</property>

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

2. HDFS配置文件

  • 1. 配置hadoop-env.sh
代码语言:javascript
复制
[bigdata@hadoop002 hadoop]$ vim hadoop-env.sh

# 修改
 export JAVA_HOME=/opt/module/jdk1.8.0_144
4
4
  • 2. 配置hdfs-site.xml
代码语言:javascript
复制
[bigdata@hadoop002 hadoop]$ vim hdfs-site.xml

将以下内容添至xml文件指定位置处

代码语言:javascript
复制
<property>
		<name>dfs.replication</name>
		<value>3</value>
</property>

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

3. YARN配置文件

  • 1. 配置yarn-env.sh
代码语言:javascript
复制
[bigdata@hadoop002 hadoop]$ vim yarn-env.sh

# 修改
 export JAVA_HOME=/opt/module/jdk1.8.0_144
5
5
  • 2. 配置yarn-site.xml
代码语言:javascript
复制
[bigdata@hadoop002 hadoop]$ vim yarn-site.xml 

将以下内容添至xml文件指定位置处

代码语言:javascript
复制
<!-- Reducer获取数据的方式 -->
<property>
		<name>yarn.nodemanager.aux-services</name>
		<value>mapreduce_shuffle</value>
</property>

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

4. MapReduce配置文件

  • 1. 配置mapred-env.sh
代码语言:javascript
复制
[bigdata@hadoop002 hadoop]$ vim mapred-env.sh 

# 修改如下
export JAVA_HOME=/opt/module/jdk1.8.0_144
6
6
  • 2. 配置mapred-site.xml
代码语言:javascript
复制
[bigdata@hadoop002 hadoop]$ cp mapred-site.xml.template mapred-site.xml

[bigdata@hadoop002 hadoop]$ vim mapred-site.xml

将以下内容添至xml文件指定位置处

代码语言:javascript
复制
<!-- 指定MR运行在Yarn上 -->
<property>
		<name>mapreduce.framework.name</name>
		<value>yarn</value>
</property>

5. 配置slaves

代码语言:javascript
复制
[bigdata@hadoop002 hadoop]$ vim slaves 

在文件中增加如下内容

代码语言:javascript
复制
hadoop002
hadoop003
hadoop004

三. 集群启动

要启动 Hadoop 集群,需要启动 HDFS 和 YARN 两个集群。 注意: 首次启动HDFS时,必须对其进行格式化操作。本质上是一些清理和准备工作,因为此时的 HDFS 在物理上还是不存在的。 首先我们需要进行格式化:bin/hdfs namenode -format。但是不要轻易格式化集群,格式化后集群的数据丢失且无法恢复。

1. 单节点启动

  • (1)如果集群是第一次启动,需要格式化NameNode
代码语言:javascript
复制
# 首次需要进行格式化
[bigdata@hadoop002 hadoop-2.7.2]$ hdfs namenode -format
7
7
  • (2)在hadoop102上启动NameNode
代码语言:javascript
复制
[bigdata@hadoop002 hadoop-2.7.2]$ hadoop-daemon.sh start namenode
[bigdata@hadoop002 hadoop-2.7.2]$ jps
3461 NameNode
  • (3)在hadoop102、hadoop103以及hadoop104上分别启动DataNode
代码语言:javascript
复制
[bigdata@hadoop002 hadoop-2.7.2]$ hadoop-daemon.sh start datanode
[bigdata@hadoop002 hadoop-2.7.2]$ jps
3461 NameNode
3608 Jps
3561 DataNode
[bigdata@hadoop003 hadoop-2.7.2]$ hadoop-daemon.sh start datanode
[bigdata@hadoop003 hadoop-2.7.2]$ jps
3190 DataNode
3279 Jps
[bigdata@hadoop004 hadoop-2.7.2]$ hadoop-daemon.sh start datanode
[bigdata@hadoop004 hadoop-2.7.2]$ jps
3237 Jps
3163 DataNode

但是如果用单节点启动会很麻烦。这是我们就需要用到群起节点了

2. 脚本一键启动HDFS、Yarn(推荐)

如果配置了 vim slavesssh 免密登录,则可以使用程序脚本启动所有Hadoop 两个集群的相关进程,在主节点所设定的机器上执行。 关于ssh 免密登录,如果有不会的小伙伴可以看我往期的在Linux中部署集群(零基础速学!)第九部分

  • 1. 启动集群 在第一台机器执行以下命令
代码语言:javascript
复制
[bigdata@hadoop002 hadoop]$ cd /opt/module/hadoop-2.7.2/
# yarn启动要和RecourseManager在一起 ,博主的放在了hadoop003上
sbin/start-dfs.sh    #  开启HDFS

sbin/start-yarn.sh   #  开启Yarn
  • 2.停止集群 没事不要随便停止
代码语言:javascript
复制
sbin/stop-dfs.sh   
sbin/stop-yarn.sh  

3. 脚本一键启动所有

  • 一键启动集群
代码语言:javascript
复制
sbin/start-all.sh
  • 一键关闭集群
代码语言:javascript
复制
sbin/stop-all.sh

四. web查看启动页面

  • 1. hdfs集群访问地址
代码语言:javascript
复制
# 填写hadoop02的ip
http://hadoop002:50070/dfshealth.html#tab-overview
8
8
  • 2. yarn集群访问地址
代码语言:javascript
复制
# 填写hadoop003的ip
http://hadoop003:8088/cluster
8
8
  • 3. Web端查看SecondaryNameNode
代码语言:javascript
复制
# 填写hadoop004的ip
http://hadoop004:50090/status.html
9
9

如果看见以上画面,配置就全部成功了。 另外,我们通过命令jps也可以验证: hadoop002:

10
10

hadoop003:

11
11

hadoop004:

12
12

如果截图内容与上图不符,可能是在前面的步骤中哪里出错了,还需要重新检查一遍!

五. 验证集群是否可用

1.jps用于验证集群服务的启动情况 2.namenode所在节点的IP+50070端口查看HDFS的web界面是否可用 3.在HSFS系统中创建一个文件夹或文件,若能创建表示集群可以正常使用! 需要注意的是: HDFS不支持目录或文件夹的切换,所有路径必须写成绝对路径 HDFS权限域linux的权限等完全相同

六. HDFS尝试运行

代码语言:javascript
复制
#  创建文件夹
[bigdata@hadoop002 hadoop-2.7.2]$ hadoop fs -mkdir /buwenbuhuo

# 上传文件(Linux --> HDFS):
[bigdata@hadoop002 module]$ hadoop fs -put  /opt/module/buwenbuhuo  /buwenbuhuo
13
13

Hadoop分布式环境搭建的过程总体来说还算是比较的繁琐,需要大家在搭建的过程中拥有足够的细心与充足的耐心(博主早前第一次搭建的时间其实踩过不少的坑。本次的分享就到这里了,下次的文章博主将会分享关于HDFS的内容,喜欢的各位小伙伴们希望你们能够点赞和关注呀!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/04/22 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一. 上传压缩包并解压
  • 二. 配置集群(重点)
    • 1. 核心配置文件
      • 2. HDFS配置文件
        • 3. YARN配置文件
          • 4. MapReduce配置文件
            • 5. 配置slaves
            • 三. 集群启动
              • 1. 单节点启动
                • 2. 脚本一键启动HDFS、Yarn(推荐)
                  • 3. 脚本一键启动所有
                  • 四. web查看启动页面
                  • 五. 验证集群是否可用
                    • 六. HDFS尝试运行
                    相关产品与服务
                    大数据
                    全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
                    领券
                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档