hadoop笔记

本文档详细介绍了如何在CentOS6.8系统上从创建虚拟机到搭建完整的Hadoop完全分布式集群,包括安装操作系统、设置固定IP、安装Java、配置SSH免密登录、时间同步服务,以及启动和监控集群的各项服务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1:创建一个CentOS6.8虚拟系统

1.1:选择自定义
在这里插入图片描述
1.2:选择默认
在这里插入图片描述
1.3:操作系统选择稍后安装
在这里插入图片描述
1.4:系统选择CentOS 6 64位

在这里插入图片描述
1.5:根据自己电脑性能选择
(下面全部选择默认)
在这里插入图片描述
在这里插入图片描述

1.6:改主机名为:master
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2:安装操作系统

2.1: 选择“编辑虚拟机设置”
在这里插入图片描述
2.2:选择系统ios映像
在这里插入图片描述

2.3:左下角“完成”别忘了
在这里插入图片描述
2.4:开机
在这里插入图片描述
2.5:选择第一个
在这里插入图片描述
2.6:选择skip(鼠标不能用请使用键盘)
在这里插入图片描述
2.7:选择右下角next(下一步)
在这里插入图片描述
2.8:选择语言,然后选择右下角next
在这里插入图片描述
2.9:选择键盘布局,然后选择右下角next
在这里插入图片描述
2.10:选择本地硬盘,然后选择右下角next
在这里插入图片描述
2.11:选择yes
在这里插入图片描述
2.12:设置主机名为master.centos.com,然后选择右下角next
在这里插入图片描述

2.13:选择时区,选择Asia/Shanghai,然后选择右下角next
在这里插入图片描述

2.14:设置管理员密码,然后选择右下角next
在这里插入图片描述

密码过于简单提醒,可以跳过
在这里插入图片描述
2.15:选择分区(选择自动分区)
在这里插入图片描述
在这里插入图片描述

2.16:选择组件
在这里插入图片描述
2.17:选择右下角reboot(重启)就安装好了
在这里插入图片描述

3:设置固定IP地址

3.1:修改VM软件网络环境
在这里插入图片描述
在这里插入图片描述

3.2:编辑网卡配置文件
位置:/etc/sysconfig/network-scripts/ifcfg-eth0
1改

BOOTPROTO=static

并添加以下内容

IPADDR=192.168.128.130
NETMASK=255.255.255.0
GATEWAY=192.168.128.2
DNS1=192.168.128.2

3.3:修改完成后重启网卡

service network restart

4:远程连接虚拟机(如果配置正常但连接不了,可以通过下载)

yum install openssh-server

5:挂载系统映像

mount /dev/dvd/media

6:修改本地yum源

baseurl=file:///media/
gpgcheck=0
eenable=1

7:更新yum源

yum clean all

8:安装yum软件

yum install -y vim zip openssh-server openssh-clients

9: 在Windows下安装java

9.1:Windows的java环境安装
在这里插入图片描述
9.1.1:java的jdk安装(jdk=软件开发工具包)
在这里插入图片描述:9.1.2:java的jre的安装(jre=运行环境)
在这里插入图片描述
9.1.3::配置环境变量
1:此电脑右键点击属性找到环境变量

在这里插入图片描述

2:进入环境变量配置
在这里插入图片描述

3:配置变量

JAVA_HOME
D:\java\jdk

在这里插入图片描述

CLASSPATH
,:%JAVA_HOME%\jre\lib\re.jar:,:

在这里插入图片描述
在这里插入图片描述
4:验证java是否安装完成
进入cmd窗口
在这里插入图片描述
输入命令

java -version

在这里插入图片描述

10:linux安装java

1上传JDK安装包

在这里插入图片描述

2:进入/opr目录,执行命令“ rpm -ivh jdk-7u80-linux-x64.rpm ”,安装JDK

[root@localhost ~]# cd /opt
[root@localhost ~]# rz			#上传Linux版java软件包(jdk-7u80-linux-x64.rpm)
[root@localhost opt]# rpm -ivh jdk-7u80-linux-x64.rpm 
准备中...                          ################################# [100%]
正在升级/安装...
   1:jdk-2000:1.7.0_80-fcs            ################################# [100%]
Unpacking JAR files...
	rt.jar...
	jsse.jar...
	charsets.jar...
	tools.jar...
	localedata.jar...
	jfxrt.jar...

3:验证JDK是否安装成功并执行以下命令
在这里插入图片描述

11:搭建hadoop完全分布式集群

11.1安装软件包
把hadoop-2.6.4.tar.gz上传到master的/opt目录下
并执行此命令 tar -zxf hadoop-2.6.4.tar.gz -C /usr/local 将Hadoop安装包解压到虚拟机master的/usr/local目录下。
在这里插入图片描述
11.2修改配置文件
Hadoop配置涉及的文件有七个:core-site.xml ,hadoop-env.sh ,yarn-env.sh,mapred-site.xml,yarn-site.xml,slaves,hdfs-site.xml,
11.3修改core-site.xml
核心配置文件,修改主机名和临时文件位置

 <property>
        <name>fs.defaultFS</name>
                <value>hdfs://master:8020</value>
                </property>
        <property>
                <name>hadoop.tmp.dir</name>
                <value>/var/log/hadoop/tmp</value>
        </property>
</configuration>

在这里插入代码片

11.4修改hadoop-env.sh文件,该文件是Hadoop运行基本环境的配置,需要修改JDK的实际位置。故在该文件修改JAVA_HOME值为本机安装位置
#The java implementation to use.
export JAVA_HOME=/usr/java/jdk1.7.0_80
11.5修改yarn-env.sh文件
配置yarn框架运行环境配置,修改jdk位置
#some Java parameters
export JAVA_HOME=/home/y/libexec/jdk1.6.0/
export JAVA_HOME=/usr/java/jdk1.7.0_80
11.6修改mapred-site.xml文件
修改MapReduce相关配置,修改master机器名

<configuration>
<property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
</property>

<property>
        <name>mapreduce.jobhistory.address</name>
        <value>master:10020</value>
</property>
<property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>master:19888</value>
</property>
</configuration>

11.6修改yarn-site.xml文件
这个是yarn框架的配置,设置变量

<configuration>

<!-- Site specific YARN configuration properties -->
<property>
                <name>yarn.resourcemanager.hostname</name>
                <value>master</value>
        </property>
        <property>
                <name>yarn.resourcemanager.address</name>
                <value>${yarn.resourcemanager.hostname}:8032</value>
        </property>
        <property>
                                <name>yarn.resourcemanager.scheduler.address</name>
                <value>${yarn.resourcemanager.hostname}:8030</value>
        </property>
        <property>
                <name>yarn.resourcemanager.webapp.address</name>
                <value>${yarn.resourcemanager.hostname}:8088</value>
        </property>
        <property>
                <name>yarn.resourcemanager.webapp.https.address</name>
                <value>${yarn.resourcemanager.hostname}:8090</value>
        </property>
        <property>
                <name>yarn.resourcemanager.resource-tracker.address</name>
                <value>${yarn.resourcemanager.hostname}:8031</value>
        </property>
        <property>
                <name>yarn.resourcemanager.admin.address</name>
                <value>${yarn.resourcemanager.hostname}:8033</value>
        </property>
        <property>
                <name>yarn.nodemanager.local-dirs</name>
                <value>/data/hadoop/yarn/local</value>
</property>
        <property>
                <name>yarn.log-aggregation-enable</name>
                <value>true</value>
        </property>
        <property>
                <name>yarn.nodemanager.remote-app-log-dir</name>
                <value>/data/tmp/logs</value>
        </property>
<property>
        <name>yarn.log.server.url</name>
        <value>http//master:19888/jobhistory/logs/</value>
        <descripion>URL for job history server</descripion>
</property>
<property>
                <name>yarn.nodemanager.vmem-check-enabled</name>
                        <value>false</value>
                </property>
                <property>
                        <name>yarn.nodemanager.aux-services</name>
                        <value>mapreduce_shuffle</value>
                </property>
                <property>
                        <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
                               <value>org.apache.hadoop.mapred.ShuffleHandler</value>
                                </property>
<property>
                        <name>yarn.nodemanager.resource.memory-mb</name>
                        <value>2048</value>
        </property>
        <property>
                        <name>yarn.scheduler.minimum-allocation-mb</name>
                        <value>512</value>
        </property>
        <property>
                        <name>yarn.scheduler.maximum-allocation-mb</name>
                        <value>4096</value>
        </property>
        <property>
                <name>mapreduce.map.memory.mb</name>
                <value>2048</value>
        </property>
        <property>
                <name>mapreduce.reduce.memory.mb</name>
                <value>2048</value>
        </property>
        <property>
                <name>yarn.nodemanager.resource.cpu-vcores</name>
                                <value>1</value>
        </property>
</configuration>

11.7修改slaves文件
该文件保存了slave节点信息

localhost
slave1
slave2
slave3

11.8修改hdfs-site.xml文件
hdfs相关配置文件制定NameNode云数据和DataNode数据存储位置和文件块副本个数

<configuration>
<property>
        <name>dfs.namenode.name.dir</name>
        <value>file:///data/hadoop/hdfs/name</value>
</property>
<property>
        <name>dfs.datanode.data.dir</name>
        <value>file:///data/hadoop/hdfs/data</value>
</property>
<property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>master:50090</value>
</property>
<property>
        <name>dfs.replication</name>
        <value>3</value>
</property>
</configuration>

11.8修改/etc/hosts文件
主机名及ip地址映射

192.168.128.130 master master.centos.com
192.168.128.131 slave1 slave1.centos.com
192.168.128.132 slave2 slave2.centos.com
192.168.128.133 slave3 slave3.centos.com

12:克隆虚拟机

12.1.slave1在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

13:打开虚拟机,修改相关配置(slave1.2.3)

13.1.删除文件
在这里插入图片描述

13.2.网络配置
ifconfig -a
在这里插入图片描述
修改/etc/config/network-scripts/ifcfg-eth0文件,修改HWADDR IPADDR以及注释掉或删除UUID开头的一行代码,并修改HWADDR的内容为实际的地址,修改内容如下

在这里插入图片描述

slave1-3IP地址分别为
192.168.128.131
192.168.128.132
192.168.128.133

13.3 修改机器名 注:三个虚拟机的机器名都要修改内容如下
在这里插入图片描述
slave1机器
修改成
NETWORKING=yes
HOSTNAME=slave1.centos.com

slave2机器
NETWORKING=yes
HOSTNAME=slave2.centos.com

slave3机器
NETWORKING=yes
HOSTNAME=slave3.centos.com
13.4 执行reboot命令重新启动虚拟机,验证master主机是否能pingslave1
在这里插入图片描述

14:配置SSH免密登录

注意:四台机器都要在开机状态下
master机器配置
1.ssh-keygen -t rsa
在连按三次Enter键出现这个画面
在这里插入图片描述
2.用ssh-copy-id将公钥复制到远程机器中执行下面这些命令
ssh-copy-id -i /root/.ssh/id_rsa.pub master #依次输入yes ,root用户密码
ssh-copy-id -i /root/.ssh/id_rsa.pub slave1
ssh-copy-id -i /root/.ssh/id_rsa.pub slave2
ssh-copy-id -i /root/.ssh/id_rsa.pub slave3

3.验证SSH是否能够无秘钥登录
在master下分别输入ssh slave1,ssh slave2,ssh slave3,如图所示说明SSH免密码登录成功

在这里插入图片描述

15.配置时间同步服务

1.安装NTP服务
配置好yum源,可以直接使用yum来安装NTP服务,在各节点执行命令yum install - y ntp 即可,最终出现了"Complete"信息,就说明安装NTP服务成功。
在这里插入图片描述
2.设置master为主节点,那么其配置如下
使用命令 vim /etc/ntp.conf 来打开/etc/ntp.conf文件,注释掉以server开头的行,并添加代码如图所示
修改master主节点的ntp.conf文件
在这里插入图片描述
3.分别在slave1,slave2,slave3中安装NTP,同样修改/etc/ntp.conf文件,注释掉以server开头的行,并添加代码如图所示
修改子节点的ntp.conf文件
在这里插入图片描述
4. 执行命令“service iptables stop & chkconfig iptables off”永久性关闭防火墙,主节点和从节点都要关闭。
5. 启动NTP服务
(1)在maste节点执行命令“service ntpd start & chkconfig ntpd on”,如图所示说明NTP服务启动成功
在这里插入图主节点片描述
(2)在slave1,slave2,slave3,上执行命令“ntpdate master”,即可同步时间,如图所示 在这里插入图片描述(3)在slave1,slave2,slave3,上分别执行“service ntpd start & chkconfig ntpd on”,即可永久启动NTP服务,如图所示

在这里插入图片描述

16.启动关闭集群

1.做完Hadoop的所有配置,即可执行格式化NameNode操作,该操作会在NameNode所在机器初始化一些HDFS的相关配置,并且该操作在集群搭建过程中只需执行一次,执行格式化前可以先配置环境变量
配置环境变量是在master ,slave1,slave2,slave3,上修改/etc/profile文件,在文件末行添加代码如图所示,文件修改完保存退出,执行命令"source /etc/profile"来使配置文件生效。
在这里插入图片描述

2.格式化只需执行命令“hdfs namenode -format”,“若出现“Storage directory /data/hadoop/hdfs/name has been successfully formatted” 提示, 则格式化成功。如图所示
在这里插入图片描述
3.格式化完成之后即可启动集群,启动集群只需要在master节点直接进入Hadoop安装目录,分别执行所显示的命令即可
启动集群命令:
cd /usr/local/hadoop #进入hadoop安装目录
sbin/start-dfs.sh #启动hdfs相关服务
sbin/start-yarn.sh #启动yarn相关服务
sbin/mr-jobhistory-daemon.sh start historyserver #启动日志相关文件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
4.集群启动后,在主节点master,子节点slave1,slave2,slave3,分别执行“jps”命令出现如图所示,说明集群启动成功。
在这里插入图片描述
同理,关闭集群也只需在master节点直接进入Hadoop安装目录,在想要关闭的时候执行以下这些命令

cd /usr/local/hadoop #进入hadoop安装目录
sbin/stop-dfs.sh #关闭hdfs相关服务
sbin/stop-yarn.sh #关闭yarn相关服务
sbin/mr-jobhistory-daemon.sh stop historyserver #关闭日志相关文件

17.监控集群

为了能够顺利的在浏览器打开Hadoop集群相关服务的监控界面,
需要修改本地host文件。
文件位置:C:\Windows\System32\drivers\etc
之后在文件末行添加图2所示的代码

图1 本地的host文件地址

在这里插入图片描述
图2 添加的代码如下图所示在这里插入图片描述

17.1HDFS监控

浏览器地址栏输入:http://master:50070/
图1 HDFS监控1
在这里插入图片描述

注释:
(1):Overview
记录了NameNode启动时间,版本号,编译版本等基本信息
(2):Summary
记录集群信息,提供了集群环境的一些信息,从图中可以看见所有DataNode节点的基本存储信息,例如硬盘大小以及有多少被HDFS使用等一些数据信息,同时标注了当前集群环境中DataNode的信息,对活动状态的DataNode也专门做了记录
(3):NameNode Storage
提供了NameNode的信息,最后的State标示此节点为活动节点,可正常提供服务

----------------------------------------------------这是一个华丽的分割线--------------------------------------------------------------
以下菜单可以查看HDFS上面的文件信息
如图所示,选择“Utilities” -------- “Browse the file system” 菜单命令可以查看HDFS上文件信息。
图2 查看HDFS文件
在9这里插入图片描述

17.2 NameNode节点信息

浏览器地址栏输入:http://master:50070/dfshealth.jsp
就能等到图1所示的界面
图1 HDFS监控2
在这里插入图片描述
单击“Browse the filesystem” 超链接可以打开文件存储目录,如图2所示的界面
图2 HDFS文件存储目录
在这里插入图片描述
"NameNode logs"为用户提供NameNode节点log的信息,如图3所示
图3 Name Node 节点的信息
在这里插入图片描述

17.3YARN监控

浏览器地址栏输入:http://master:8088
即可看到YARN的监控界面

在这里插入图片描述

17.4 日志监控

在浏览器的地址栏输入:http://master:19888
即可看到日志监控界面
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值