Hadoop-2.7.6 集群部署搭建

一、 前期准备

1.1 安装JDK并配置环境变量

vim /etc/profile
#JAVA环境变量
export JAVA_HOME=/home/iot/jzz/jdk1.8.0_231
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

查看是否安装成功

 java -version

在这里插入图片描述

1.2 虚拟机配置

操作系统主机名IP
Ubuntuslave1192.168.0.118
Ubuntuslave2192.168.0.119
Ubuntuslave3192.168.0.120
#配置hosts,在三台机子上都配置上
vim /etc/hosts

在这里插入图片描述

1.3 配置ssh免密登录

配置好每台机子的免密通信,并能实现三台机子互相通信
在这里插入图片描述

二、Hadoop集群部署

2.1 下载安装并配置环境

下载hadoop地址:http://archive.apache.org/dist/hadoop/common/

# 下载后解压到指定目录
tar -zxvf hadoop-2.7.6.tar.gz -C /opt/apps

配置hadoop环境变量

vim /etc/profile
export HADOOP_HOME=/opt/apps/hadoop-2.7.6
export PATH=$PATH:$HADOOP_HOME/bin

查看是否安装成功

source /etc/profile
hadoop version

在这里插入图片描述

2.2 设置hadoop配置文件

首先,进入文件目录

cd /opt/apps/hadoop-2.7.6/etc/hadoop

1、hadoop-env.sh:用来配置hadoop所需要的jdk的环境,是hadoop可以调用本机的jdk。
2、core-site.xml :里面的参数
fs.defaultFS,用来说明hadoop使用什么文件系统。
hadoop.tmp.dir,hadoop文件存储目录。
还有两个参数一般不做修改,
fs.checkpoint.period,表示多长时间记录一次hdfs的镜像,默认是1小时。
fs.checkpoint.size,表示镜像文件快大小,默认64M。

3、hdfs-site.xml:用来指定namenode和datanode的存放目录,还有存放数据的副本数,一般默认为3。
4、mapred-site.xml:mapreduce的参数。
5、yarn-site.xml :集群资源管理系统参数。
6、slaves:需要启动datanode和nodemanager的虚拟机
修改内容如下:

hadoop-env.sh

vim  hadoop-env.sh
#设置JAVA环境

在这里插入图片描述
core-site.xml

vim core-site.xml

<configuration>
 <property>
     <name>fs.defaultFS</name>
     <value>hdfs://slave1:9000</value>
     <description>指定HDFS的(NameNode)的地址</description>
  </property>
  <property>
      <name>hadoop.tmp.dir</name>
      <value>file:/opt/apps/hadoop-2.7.6/dfs/tmp</value>
      <description>指定hadoop运行时产生文件的存储目录</description>
</property>
</configuration>

hdfs-site.xml

vim hdfs-site.xml

<configuration>
 <property>
     <name>dfs.replication</name>
     <value>3</value>
         <description>指定HDFS副本的数量</description>
  </property>
  <property>
     <name>dfs.namenode.name.dir</name>
     <value>file:/opt/apps/hadoop-2.7.6/dfs/name</value>
     <description>namenode的存储路径</description>
  </property>
  <property>
     <name>dfs.datenode.date.dir</name>
     <value>file:/opt/apps/hadoop-2.7.6/dfs/date</value>
     <description>指定datenode的路径</description>
</property>
</configuration>

mapred-site.xml

mv mapred-site.xml.template mapred-site.xml
vim  mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>

yarn-site.xml

vim yarn-site.xml

<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>slave1</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>

slaves

 vim  slaves
 
slave1
slave2
slave3

这里三台机子都是这样的配置

2.3 主节点初始化文件系统

首次启动时,只在slave1主节点格式化文件系统。执行完后可以看到在~/apps/hadoop-2.7.6/dfs/下面会自动生成一个叫name的文件夹

./bin/hdfs namenode -format

在这里插入图片描述

2.4 启动Hadoop集群

/opt/apps/hadoop-2.7.6/sbin/start-all.sh 

2.5 验证集群是否启动成功

方法1查看进程数据

在主节点上可以看到下面5个进程
NodeManager
ResourceManager
DataNode
NameNode
SecondaryNameNode
在从节点只有2个
DataNode
NodeManager

在这里插入图片描述
在这里插入图片描述
方法2 在浏览器访问console页面

访问hadoop页面:
http://192.168.0.118:50070
访问yarn页面:
http://192.168.0.118:8088

注意事项:
如果DataNode没有启动,那就说明你可能原本DataNode的目录被使用过了,里面的对于NameNode的编号与现在的不一致。解决方法:如果DataNode文件夹里存在数据,那么你需要修改Current下的version,使其与DataNode上的保持一致。如果DataNode里面没有数据,是刚搭建的,那么可以先将HDFS关闭,然后删除DataNode文件夹,再次打开HDFS,这样的话,DataNode就会重新获取NameNode的信息,就可以连接上了。

2.6 停止hadoop集群

/opt/apps/hadoop-2.7.6/sbin/stop-all.sh

三、提交MapeReduce Job

3.1 在HDFS上创建文件夹

hadoop dfs -mkdir /data

3.2 创建数据源wordcont.txt 并提交到Hdfs

vim wordcont.txt
添加:
hello hadoop
hello spark
hello yarm
 hadoop dfs -put wordcount.txt /data

查看是否上传成功
在这里插入图片描述

3.3 运行MR

cd /opt/apps/hadoop-2.7.6/share/hadoop/mapreduce
hadoop jar hadoop-mapreduce-examples-2.7.6.jar wordcount /data  /data/wordresult

在这里插入图片描述
其中 wordcount为程序的主类名, /data 输入目录,/data /wordresult 输出目录,且输出目录不能存在,否则会报错.

通过管理界面查看效果:
在这里插入图片描述
在这里插入图片描述
可以看到成功输出到hdfs输出目录,yarm界面也记录这个Job成功运行

希望文章能对你有帮助

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值