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

在centos7上搭建hadoop大数据平台

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

在centos7上搭建hadoop大数据平台

目录
    • 一、安装搭建java环境
      • 1、安装方法
      • 2、查看是否已安装
      • 3、卸载
      • 4、安装
        • 4.1 检查 yum 中有没有 java1.8 包
        • 4.2 开始安装
      • 5、验证
    • 二、 Hadoop安装
      • 1、下载
      • 2、准备启动 Hadoop 集群
        • 2.1配置Hadoop守护进程的环境
        • 2.2配置系统环境变量
        • 2.3 配置etc/hadoop/core-site.xml文件
        • 2.4配置etc/hadoop/hdfs-site.xml文件
        • 2.5配置etc/hadoop/yarn-site.xml文件
        • 2.6配置etc/hadoop/mapred-site.xml文件
      • 3、配置集群设备的ip
        • 3.1设置无密码 ssh
        • 3.2设置主机的hostname
        • 3.3配置集群主机ip
      • 4、启动 Hadoop 集群
      • 5、停止 Hadoop 集群
      • 6、web管理界面

首先准备三台装好centos7系统的服务器

一、安装搭建java环境 1、安装方法

CentOS8上使用 yum 直接安装,环境变量自动配置好

2、查看是否已安装

看到下面结果,说明已经安装配置 jdk

[root@localhost ~]# java -version
openjdk version "1.8.0_222"
OpenJDK Runtime Environment (build 1.8.0_222-b10)
OpenJDK 64-Bit Server VM (build 25.222-b10, mixed mode)
3、卸载

查看系统是否自带 jdk

rpm -qa |grep java
rpm -qa |grep jdk
rpm -qa |grep gcj

如果有输出信息,批量卸载系统自带

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

如果使用 yum 安装的 jdk,请使用下面命令卸载

yum -y remove java-1.8.0-openjdk-headless.x86_64

4、安装 4.1 检查 yum 中有没有 java1.8 包
yum list java-1.8*
4.2 开始安装

yum install java-1.8.0-openjdk* -y

5、验证
[root@localhost ~]# java -version
openjdk version "1.8.0_222"
OpenJDK Runtime Environment (build 1.8.0_222-b10)
OpenJDK 64-Bit Server VM (build 25.222-b10, mixed mode)
二、 Hadoop安装 1、下载

要获得发行版,请从Apache 下载镜像之一下载最新的 稳定版本(3.3.3)。

##下载好上传
rz -y
选择文件上传
##解压
tar zxvf hadoop-3.3.3.tar.gz
2、准备启动 Hadoop 集群

解压下载的 Hadoop 发行版。在发行版中,编辑文件etc/hadoop/hadoop-env.sh以定义一些参数,如下所示:
centos7是自带有java环境的,可以直接使用。

使用ls -lrt命令,可以找到自带java的路径向下深入。
 ls -lrt /usr/bin/java
 /usr/bin/java -> /etc/alternatives/java

##当得到到一个真实的路径,一般就是了。
ls -lrt /etc/alternatives/java
 /etc/alternatives/java -> /usr/lib/jvm/java-8-openjdk-amd64/jre/bin
 ## 设置为 Java 安装的根目录
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/jre
2.1配置Hadoop守护进程的环境

在etc/hadoop/hadoop-env.sh配置中添加PID目录以及日志目录

export HADOOP_PID_DIR =/home/zxhy/hadoop-3.3.3/pid
export HADOOP_LOG_DIR =/home/zxhy/hadoop-3.3.3/log
2.2配置系统环境变量

在/etc/profile.d中的一个新建一个简单脚本hadoop.sh,内容如下:

export JAVA_HOME=/usr/bin/java
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

export HADOOP_HOME=/home/zxhy/hadoop-3.3.3
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

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
2.3 配置etc/hadoop/core-site.xml文件





   
   	fs.defaultFS
   	hdfs://localhost:7000
   

   
   	io.file.buffer.size
   	131072
   
   
   
    hadoop.tmp.dir
    /home/zxhy/hadoop-3.3.3/data/tmp
   

2.4配置etc/hadoop/hdfs-site.xml文件

创建两个目录/home/zxhy/hadoop-3.3.3/data/name、/home/zxhy/hadoop-3.3.3/data/file用于存放日志和文件






  
  	dfs.namenode.name.dir
  	/home/zxhy/hadoop-3.3.3/data/name
  

  
  	dfs.datanode.data.dir
  	/home/zxhy/hadoop-3.3.3/data/file
  

2.5配置etc/hadoop/yarn-site.xml文件





  	yarn.resourcemanager.hostname
  	hadoop01
  
  
  	yarn.nodemanager.aux-services
  	mapreduce_shuffle
  
  
  	yarn.nodemanager.vmem-chech-enabled
  	false
  
  
  
      yarn.nodemanager.pmem-check-enabled
      false
  
  
      yarn.nodemanager.vmem-check-enabled
      false
  
  
  
      yarn.nodemanager.env-whitelist
      JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME
  
  
  
      yarn.resourcemanager.recovery.enabled
      true
  

2.6配置etc/hadoop/mapred-site.xml文件




	
		mapreduce.jobhistory.address
		hadoop01:10020
	
	
		mapreduce.jobhistory.intermediate-done-dir
		/home/zxhy/hadoop-3.3.3/data/jobhistory/tmp
	
	
		mapreduce.jobhistory.done-dir
		/home/zxhy/hadoop-3.3.3/data/jobhistory/done
	

3、配置集群设备的ip 3.1设置无密码 ssh

为用于运行 Hadoop 的帐户建立 ssh 信任(通过无密码 ssh 或其他方式,例如 Kerberos),在每个节点上执行下面命令

#现在检查您是否可以在没有密码的情况下 ssh 到 localhost:
$ ssh localhost
#如果没有密码就无法 ssh 到 localhost,请执行以下命令:

$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 0600 ~/.ssh/authorized_keys

把id_rsa.pub 文件通过scp复制到hadoop01的.ssh目录下,合并秘钥

#在第二个节点执行复制命令
scp /root/.ssh/id_rsa.pub root@hadoop01:$PWD/id_rsa.pub2
 #在第三个节点执行复制命令
scp /root/.ssh/id_rsa.pub root@hadoop01:$PWD/id_rsa.pub3
 #在第一个节点合并秘钥
cat id_rsa.pub >> authorized_keys
cat id_rsa.pub2 >> authorized_keys
cat id_rsa.pub3 >> authorized_keys
chmod 0600 ~/.ssh/authorized_keys
#然后把authorized_keys在复制到hadoop02和hadoop02上
scp authorized_keys root@hadoop02:$PWD
scp authorized_keys root@hadoop03:$PWD
#然后测试下用ssh能无密码连上其他节点不,如果不需要密码则成功。
ssh hadoop02
3.2设置主机的hostname

以三个节点为例,分别设置hostname为hadoop01、hadoop02、hadoop03

#修改每个机器的hostname
vi /etc/hostname
#修改为hadoop01
#修改每个机器的hosts
vi /etc/hosts
#修改为下面的ip,ip为每个节点的ip
192.168.1.251 hadoop01
192.168.1.250 hadoop02
192.168.1.249 hadoop03
3.3配置集群主机ip

列出您的etc/hadoop/workers文件中的所有工作人员主机名或 IP 地址,每行一个。帮助程序脚本(如下所述)将使用etc/hadoop/workers文件一次在多个主机上运行命令。它不用于任何基于 Java 的 Hadoop 配置。为了使用此功能,。

#修改每个机器的hostname
vi /etc/hadoop/workers
#修改为下面内容,每一行一个hostname
hadoop01
hadoop02
hadoop03
4、启动 Hadoop 集群

要启动 Hadoop 集群,您需要同时启动 HDFS 和 YARN 集群。

#首次启动 HDFS 时,必须对其进行格式化。将新的分布式文件系统格式化为hdfs:
[hdfs]$ $HADOOP_HOME/bin/hdfs namenode -format
在指定节点上使用以下命令启动 HDFS NameNode 作为hdfs:
[hdfs]$ $HADOOP_HOME/bin/hdfs --daemon start namenode
#在每个指定节点上使用以下命令启动一个 HDFS DataNode 作为hdfs:
[hdfs]$ $HADOOP_HOME/bin/hdfs --daemon start datanode
#使用以下命令启动 YARN,在指定的 ResourceManager 上以yarn运行:
[yarn]$ $HADOOP_HOME/bin/yarn --daemon start resourcemanager
#运行脚本以在每个指定主机上启动 NodeManager 作为yarn:
[yarn]$ $HADOOP_HOME/bin/yarn --daemon start nodemanager
#启动一个独立的 WebAppProxy 服务器。作为yarn在 WebAppProxy 服务器上运行。如果多个服务器与负载平衡一起使用,则应在每个服务器上运行:
[yarn]$ $HADOOP_HOME/bin/yarn --daemon start proxyserver
#使用以下命令启动 MapReduce JobHistory Server,在指定服务器上以mapred身份运行:
[mapred]$ $HADOOP_HOME/bin/mapred --daemon start historyserver

前面我们配置了etc/hadoop/workers和 ssh 可信访问,则可以使用实用程序脚本启动所有 HDFS 进程。作为
[hdfs]$ $HADOOP_HOME/sbin/start-dfs.sh
[yarn]$ $HADOOP_HOME/sbin/start-yarn.sh
5、停止 Hadoop 集群
使用以下命令停止 NameNode,在指定的 NameNode 上以hdfs运行:
[hdfs]$ $HADOOP_HOME/bin/hdfs --daemon stop namenode
#在每个指定节点上使用以下命令停止一个 HDFS DataNode 作为hdfs:
[hdfs]$ $HADOOP_HOME/bin/hdfs --daemon stop datanode
#使用以下命令停止 YARN,在指定的 ResourceManager 上以yarn运行:
[yarn]$ $HADOOP_HOME/bin/yarn --daemon stop resourcemanager
#运行脚本以在每个指定主机上停止 NodeManager 作为yarn:
[yarn]$ $HADOOP_HOME/bin/yarn --daemon stop nodemanager
#停止一个独立的 WebAppProxy 服务器。作为yarn在 WebAppProxy 服务器上运行。如果多个服务器与负载平衡一起使用,则应在每个服务器上运行:
[yarn]$ $HADOOP_HOME/bin/yarn --daemon stop  proxyserver
#使用以下命令停止 MapReduce JobHistory Server,在指定服务器上以mapred身份运行:
[mapred]$ $HADOOP_HOME/bin/mapred --daemon stop historyserver

前面我们配置了etc/hadoop/workers和 ssh 可信访问,则可以使用实用程序脚本启动所有 HDFS 进程。作为
[hdfs]$ $HADOOP_HOME/sbin/stop-dfs.sh
[yarn]$ $HADOOP_HOME/sbin/stop-yarn.sh
6、web管理界面

先把防火墙关闭了,否侧不能访问。

#关闭防火墙。
systemctl stop firewalld.service
#永久关闭防火墙。
systemctl disable firewalld.service

按照之前的设置访问web管理界面
名称节点
http://hadoop01:9870/ ,默认 HTTP 端口为 9870。
资源管理器
http://hadoop01:8088/ ,默认 HTTP 端口为 8088。
MapReduce JobHistory 服务器
http://hadoop01:19888/,默认 HTTP 端口为 19888。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1027508.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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