栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

hadoop3环境搭建

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

hadoop3环境搭建

一、hadoop环境搭建 1、环境准备

参考文档

1.1软件准备

操作系统:centos7	hadoop版本:3.3.1	  java版本:1.8

1.2集群规划

主节点:  hadoop0 192.168.15.10
从节点1: hadoop1 192.168.15.11
从节点2: hadoop2 192.168.15.12

1.3配置主机名与IP映射(3个节点都配置)

设置主机名:

vi /etc/hostname   
#修改文件内容为hadoop0

设置主机名及IP映射:

vi /etc/hosts 
#在文件尾部添加内容,格式:IP地址 主机名(中间用空格分隔),保存退出
192.168.15.10 hadoop0
192.168.15.11 hadoop1
192.168.15.12 hadoop2

验证:

ping hadoop0
ping hadoop1
ping hadoop2
2、伪分布式hadoop集群搭建

PS:以下操作均是对hadoop主节点配置:主要配置主机名与IP映射、ssh免密钥登录等等。

2.1java环境安装

$ mv jdk1.8.0_251 /usr/local/java

$ vi /etc/profile

#自定义环境变量
export JAVA_HOME=/usr/local/java
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

$ source /etc/profile

2.2ssh免密钥登录
#如果以前配置过,可以删除,每台机器都操作一次
rm -f ~/.ssh/known_hosts
ssh-keygen
#剩下的一路回车即可
ssh-copy-id hadoop0
#根据提示输入yes以及密码,密码也可以设置为空

ssh-copy-id hadoop1
ssh-copy-id hadoop2

验证是否免密钥

$ ssh localhost
$ ssh 127.0.0.1
$ ssh hadoop0
$ ssh hadoop1
$ ssh hadoop2
2.3hadoop环境配置

PS:进入/usr/local/hadoop/etc/hadoop目录,涉及的配置文件有:core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml

@1配置hadoop-env.sh

export JAVA_HOME=/usr/local/java

@2配置core-site.xml


    
    
        fs.defaultFS
        hdfs://hadoop0:8020
    
    
    
        hadoop.tmp.dir
        /usr/local/hadoop/tmp
    
    
        fs.trash.interval
        1440
    

@3配置hdfs-site.xml


    
    
    	dfs.namenode.http-address
        hadoop0:50070
    
    
    
        dfs.replication
        3
    
    
    
        dfs.permissions.enabled
        false
    

@4配置yarn-site.xml


    
    
    	yarn.resourcemanager.hostname
        hadoop0
    
    
    
        yarn.nodemanager.aux-services
        mapreduce_shuffle
    
    
    
    	yarn.nodemanager.vmem-check-enabled
        false
    
     
        yarn.log-aggregation-enable 
        true 
    

@5配置mapred-site.xml(需要修改模板:cp mapred-site.xml.template mapred-site.xml)


    
    
        mapreduce.framework.name
        yarn
    
    
    
    	mapreduce.admin.user.env
        HADOOP_MAPRED_HOME=${HADOOP_HOME}
    
    
    
        yarn.app.mapreduce.am.env
        HADOOP_MAPRED_HOME=${HADOOP_HOME}
    
    
        mapreduce.map.env
        HADOOP_MAPRED_HOME=${HADOOP_HOME}
    
    
        mapreduce.reduce.env
        HADOOP_MAPRED_HOME=${HADOOP_HOME}
    

2.4格式化hadoop并启动伪分布式集群

进入到/usr/local/hadoop目录下

@1格式化(格式化操作不能重复执行。如果一定要重复格式化,带参数-force即可)

bin/hdfs namenode -format
#注意:在执行的时候会报错,是因为缺少which命令,安装即可

#执行下面命令安装
yum install -y which

@2启动伪分布式hadoop

sbin/start-all.sh
#当出现以下错误时:
ERROR: Attempting to operate on hdfs namenode as root
ERROR: but there is no HDFS_NAMENODE_USER defined. Aborting operation.

解决方案一( 不推荐,有时候不起作用):

vi /etc/profile
#然后向里面加入如下的内容
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root

#输入如下命令使配置文件生效
source /etc/profile

解决方案二(推荐):

#ps:
#1.master,slave都需要修改start-dfs.sh,stop-dfs.sh,start-yarn.sh,stop-yarn.sh四个文件
#2.如果你的Hadoop是另外启用其它用户来启动,记得将root改为对应用户

#hadoop/sbin路径下面:将start-dfs.sh,stop-dfs.sh俩个文件顶部添加以下参数
#!/usr/bin/env bash
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root

#hadoop/sbin路径下面:将start-yarn.sh、stop-yarn.sh俩个文件顶部添加以下参数
#!/usr/bin/env bash
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root

@3验证是否成功

jps
#当出现以下进程说明hadoop伪分布式搭建成功
NodeManager
Jps
NameNode
Secondar yNameNode
ResourceManager
DataNode
3、完全分布式hadoop集群搭建

ps:以下操作都在主节点操作

进入/usr/local/hadoop

@1停止上一步的伪分布式hadoop

sbin/stop-all.sh

@2指定nodemanager的地址,修改文件yarn-site.xml


    The hostname of the RM.
    yarn.resourcemanager.hostname
    hadoop0

@3修改hadoop0的hadoop的一个配置文件etc/hadoop/workers

#ps:hadoop从3.3.0版本后,slaves配置文件名更名为workers
#删除原来的所有内容,修改为如下
hadoop1
hadoop2

@4拷贝至其他俩个节点

scp -rq /usr/local/hadoop hadoop1:/usr/local/
scp -rq /usr/local/hadoop hadoop2:/usr/local/

@5启动hadoop分布式集群服务

sbin/start-all.sh
#ps:在执行的时候会报错,是因为两个从节点缺少which命令,安装即可(yum install -y which)

@6验证完全分布式集群是否正常

#hadoop0主节点需要以下进程
NameNode
SecondaryNameNode
ResourceManager
JPS

#hadoop1从节点需要以下进程
NodeManager
DataNode
JPS

#hadoop2从节点需要以下进程
NodeManager
DataNode
JPS

@7 出现异常的处理办法

–slave的datanode无法启动

#查看日志,/usr/local/hadoop/logs
#清空/usr/local/hadoop下面的logs、tmp目录

#主节点master再一次执行 bin/hdfs namenode -format -force

– hdfs dfsadmin -report查看datanode为空

#每个Node都执行,删除datanode配置的dfs.data.dir目录
#本次集群是配置到以下目录
rm -rf /usr/local/hadoop/tmp/*
#master再一次执行格式化
hdfs namenode -format -force
4、wordcount单词计数验证集群服务

1.创建本地文件并写入任意内容

vi a.txt
hello hadoop
hello spark
hello flink

2.上传该文件到HDFS并验证是否上传成功

hdfs dfs -put a.txt /
hadoop fs -ls /

3.提交job程序至hadoop集群

cd /usr/local/hadoop/share/hadoop/mapreduce
hadoop jar hadoop-mapreduce-examples-3.3.1.jar wordcount /a.txt /out

4.查看计算结果

hadoop fs -ls /out
hadoop fs -cat /out/part-r-00000
5、WEBUI地址查看 5.1hdfs查看地址
#根据hdfs-site.xml配置的地址
http://hadoop0:50070
5.2yarn查看地址
#默认地址
http://hadoop0:8088
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/888515.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号