学习Hadoop(一)——搭建hadoop集群

最近开始学习大数据的相关知识,要学习大数据就不得不提到Hadoop。
一般来说学习一门新的知识,很多都是先理论再实践
学习Hadoop(一)——搭建hadoop集群_第1张图片
我则不然,先实践,再了解理论
学习Hadoop(一)——搭建hadoop集群_第2张图片

目录

  • 一、VM网络设置
  • 二、安装Centos7
    • 2.1 网络配置
    • 2.2 设置主机名
    • 2.3 hosts设置
    • 2.4 安装JDK
    • 2.5 关闭防火墙
    • 2.6 同步时间
    • 2.7 克隆服务器
    • 2.8 免密钥登陆
  • 三、安装hadoop
    • 3.1 下载hadoop
    • 3.2 解压
    • 3.3 环境变量配置
    • 3.4 检查
  • 四、部署hadoop
    • 4.1 集群部署规划
    • 4.2 环境配置
      • 4.2.1 hadoop-env.sh
      • 4.2.1 core-site.xml
      • 4.2.2 hdfs-site.xml
      • 4.2.3 yarn-site.xml
      • 4.2.4 mapred-site.xml
      • 4.2.5 workers
    • 4.3 复制hadoop
  • 五、启动集群
    • 5.1 格式化NameNode
    • 5.2 启动HDFS
    • 5.3 启动YARN
    • 5.4 启动历史服务器
    • 5.5 查看集群状态
  • 六、Web端查看
    • 6.1 HDFS
    • 6.2 YARN
    • 6.3 历史服务器

一、VM网络设置

打开控制面板
学习Hadoop(一)——搭建hadoop集群_第3张图片
学习Hadoop(一)——搭建hadoop集群_第4张图片
学习Hadoop(一)——搭建hadoop集群_第5张图片
学习Hadoop(一)——搭建hadoop集群_第6张图片
学习Hadoop(一)——搭建hadoop集群_第7张图片
如下配置
学习Hadoop(一)——搭建hadoop集群_第8张图片
设置虚拟机虚拟网络编辑器
学习Hadoop(一)——搭建hadoop集群_第9张图片
学习Hadoop(一)——搭建hadoop集群_第10张图片

二、安装Centos7

基于centos环境进行搭建,所以需要安装centos7的虚拟机。

分别搭建三台虚拟机:masterslave0slave1
后面两台都是基于第一台进行克隆。
硬件配置为:

设备
硬盘 20GB
内存 2GB
处理器 2

具体操作参考安装Centos7

2.1 网络配置

先对master服务器进行配置静态ip。
另外两台等后面克隆后进行设置

vi /etc/sysconfig/network-scripts/ifcfg-ens33

BOOTPROTO设置为static

BOOTPROTO="static"

添加ip信息

IPADDR="192.168.216.128"
NETMASK="255.255.255.0"
GATEWAY="192.168.216.2"
DNS1="8.8.8.8"
DNS2="8.8.8.4"

学习Hadoop(一)——搭建hadoop集群_第11张图片
重启网路

service network restart

在这里插入图片描述
这个说明重启成功
当前服务器的ip为:192.168.216.128
后续两台克隆出来的服务器依照上面的步骤设置ip:

slave0:192.168.216.129
slave1:192.168.216.130

2.2 设置主机名

先对master服务器进行配置主机名。
另外两台等后面克隆后进行设置

vi /etc/sysconfig/network

修改为:

# Created by anaconda
NETWORKING=yes
HOSTNAME=master

修改主机名

vi /etc/hostname

填写名称(对应服务器修改各自名称)

master

学习Hadoop(一)——搭建hadoop集群_第12张图片
重新启动该主机,就会发现主机名被修改了。
两台克隆的服务器后续也重复上面的操作进行修改。

2.3 hosts设置

修改/etc/hosts文件,配置主机和ip的映射
在原有的内容下面添加以下内容:

192.168.216.128   master
192.168.216.129   slave0
192.168.216.130   slave1

服务器都一样的内容,只需要修改master,两台克隆的服务器通过克隆即可。

2.4 安装JDK

先卸载自带的openjdk

rpm -qa | grep -i java | xargs -n1 rpm -e --nodeps

下载jdk,我这里装的是jdk1.8。
进入官网:https://www.oracle.com/java/technologies/downloads
学习Hadoop(一)——搭建hadoop集群_第13张图片
将下载后的文件放到/usr/local/java

cd /usr/local/java
tar zxvf 下载包的包名
mv 解压后的包名 jdk1.8

配置环境变量
在/etc/profile文件中末尾加上

export JAVA_HOME=/usr/local/java/jdk1.8
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=$JAVA_HOME/lib

刷新环境变量

source /etc/profile

查看java版本

java -version

显示java版本,安装成功
在这里插入图片描述

2.5 关闭防火墙

查看防火墙状态

systemctl status firewalld.service

如下标识防火墙处于开启状态
学习Hadoop(一)——搭建hadoop集群_第14张图片
关闭防火墙

systemctl stop firewalld.service

防止服务器重启时防火墙启动

systemctl disable firewalld.service

2.6 同步时间

编辑虚拟机设置
学习Hadoop(一)——搭建hadoop集群_第15张图片
选项,VMware Tools勾选“将客户机时间与主机同步
学习Hadoop(一)——搭建hadoop集群_第16张图片

2.7 克隆服务器

从上面配置出来的服务器进行克隆。

注意:克隆前需要关闭被克隆的服务器

鼠标右键点击服务器
管理→克隆
学习Hadoop(一)——搭建hadoop集群_第17张图片
学习Hadoop(一)——搭建hadoop集群_第18张图片

学习Hadoop(一)——搭建hadoop集群_第19张图片
设置克隆机的服务器名称和存放位置
学习Hadoop(一)——搭建hadoop集群_第20张图片
点击完成,克隆完毕。
依此克隆出slave0和slave1

对克隆服务器进行配置,依照上面步骤:

2.1 网络配置
2.2 设置主机名

2.8 免密钥登陆

在master服务器输入下面命令

ssh-keygen -t rsa

进入ssh文件夹

cd ~/.ssh

把公钥文件发送到自己和其它服务器。
以发给自己为例

ssh-copy-id -i id_rsa.pub root@master

输入yes,然后输入目标服务器的root密码
成功后,输入以下命令

ssh root@master

依此,也设置master免密登录slave0、slave1

三、安装hadoop

3.1 下载hadoop

通过http://archive.apache.org/dist/hadoop/common/
下载自己需要的hadoop版本。
我用的是3.1.3版本
学习Hadoop(一)——搭建hadoop集群_第21张图片
将文件下载并放在master服务器的目录下(自己指定,我存在的是/usr/local)

3.2 解压

进入对应文件夹

cd /usr/local

解压文件

tar -zxvf hadoop-3.1.3.tar.gz

重命名文件

mv hadoop-3.1.3 hadoop

3.3 环境变量配置

配置环境变量
在/etc/profile文件中末尾加上

export HADOOP_HOME=/usr/local/hadoop/
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

刷新环境变量

source /etc/profile

3.4 检查

检查版本

hadoop version

学习Hadoop(一)——搭建hadoop集群_第22张图片

四、部署hadoop

4.1 集群部署规划

master slave0 slave1
HDFS NameNode
DataNode
DataNode SecondaryNameNode
DataNode
YARN NodeManager ResourceManager
NodeManager
NodeManager

注意:NameNode、SecondaryNameNode、ResourceManager这三个要分开不要配置在同一台虚拟机上

4.2 环境配置

配置文件位于hadoop安装目录下的/etc/hadoop目录
主要需要修改的文件为以下四个:

hadoop-env.sh
core-site.xml
hdfs-site.xml
yarn-site.xml
mapred-site.xml
workers

4.2.1 hadoop-env.sh

hadoop运行中所需要的环境变量,例如JAVA_HOME

export JAVA_HOME=/usr/local/java/jdk1.8

4.2.1 core-site.xml

  • 配置hdfs对应的主机和端口
  • 对那个hadopp数据的存放目录

创建存放hadoop数据目录

mkdir /opt/hadoopdata

标签内填充以下内容

	<property>
	     <name>fs.defaultFSname>
	     <value>hdfs://master:9000value>
	     
	property>
	<property>
	    <name>hadoop.tmp.dirname>
	    <value>/opt/hadoopdatavalue>
	property>

4.2.2 hdfs-site.xml

配置namenode和SecondaryNameNode

标签内填充以下内容

	<property>
	    <name>dfs.namenode.http-addressname>
	    <value>master:9870value>
	property>
	<property>
	    <name>dfs.namenode.secondary.http-addressname>
	    <value>slave1:9868value>
	property>

4.2.3 yarn-site.xml

标签内填充以下内容

	
	<property>
	    <name>yarn.nodemanager.aux-servicesname>
	    <value>mapreduce_shufflevalue>
	property>
	
	
	<property>
	    <name>yarn.resourcemanager.hostnamename>
	    <value>slave0value>
	property>
	
	
	<property>
	    <name>yarn.nodemanager.env-whitelistname>
	    <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOMEvalue>
	property>
	
	
	
	
	<property>
		<name>yarn.log-aggregation-enablename>
		<value>truevalue>
	property>
	
	<property>  
		<name>yarn.log.server.urlname>  
		<value>http://master:19888/jobhistory/logsvalue>
	property>
	
	<property>
		<name>yarn.log-aggregation.retain-secondsname>
		<value>604800value>
	property>

4.2.4 mapred-site.xml

标签内填充以下内容

    
    <property>
        <name>mapreduce.framework.namename>
        <value>yarnvalue>
    property>
 
	
	 
	
	<property>
	    <name>mapreduce.jobhistory.addressname>
	    <value>master:10020value>
	property>
	 
	
	<property>
	    <name>mapreduce.jobhistory.webapp.addressname>
	    <value>master:19888value>
	property>

在配置了

4.2.5 workers

删除原内容,填写集群服务器主机名称

master
slave0
slave1

注意:添加该文件时,内容上下不允许有空行,前后不允许有空格

4.3 复制hadoop

将master的hadoop远程发送给slave0和slave1两台服务器

scp -r /usr/local/hadoop root@slave0:/usr/local
scp -r /usr/local/hadoop root@slave1:/usr/local

给两台服务器的环境变量加上hadoop
参考 3.3 环境变量配置

五、启动集群

5.1 格式化NameNode

第一次启动需要在master节点先格式化NameNode

hdfs namenode -format

学习Hadoop(一)——搭建hadoop集群_第23张图片

5.2 启动HDFS

NameNode节点(master)上添加环境变量

export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root

启动

/usr/local/hadoop/sbin/start-dfs.sh 

学习Hadoop(一)——搭建hadoop集群_第24张图片

5.3 启动YARN

ResourceManager节点(slave0)上添加环境变量

export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root

启动

/usr/local/hadoop//sbin/start-yarn.sh 

学习Hadoop(一)——搭建hadoop集群_第25张图片

5.4 启动历史服务器

只有配置了才进行启动。
(mapred-site.xml中配置)

mapred --daemon start historyserver

5.5 查看集群状态

在各个节点上输入以下命令查看

jps

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

六、Web端查看

浏览器通过端口可以查看对应启动的服务

6.1 HDFS

访问
http://master:9870
学习Hadoop(一)——搭建hadoop集群_第26张图片
这里显示在这个位置可以执行一系列操作

6.2 YARN

访问
http://slave0:8088
学习Hadoop(一)——搭建hadoop集群_第27张图片
这里会显示集群的执行任务

6.3 历史服务器

访问
http://master:19888/jobhistory
学习Hadoop(一)——搭建hadoop集群_第28张图片
可在该页面查看历史日志

你可能感兴趣的:(大数据,hadoop,学习,大数据)