Haoop集群的搭建(小白教学)

这篇具有很好参考价值的文章主要介绍了Haoop集群的搭建(小白教学)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

       搭建hadoop集群我们必须拥有自己的虚拟机,下列我会给大家奉上超详细的集群搭建以及我在搭建的时候碰到的问题以及对应解决办法,正所谓自己走过的错路是曲折的,也是防止大家做弯路,不仅浪费时间还心态爆炸,下面带走入hadoop集群搭建。

1.下载VMware

这里给大家提供一个下载Vmware虚拟机的网站:

VMware - Delivering a Digital Foundation For Businesses

  • 进去之后点击产品-产品-更多产品-搜索workHaoop集群的搭建(小白教学)Haoop集群的搭建(小白教学)
  •  对应的系统根据自己的电脑进行选择(下载后就是傻瓜式安装,不多做解释)
  • VM密钥可在网上自行查找

 2.下载Centos7系统

阿里云镜像下载地址:centos-7-isos-x86_64安装包下载_开源镜像站-阿里云 (aliyun.com)

环境的配置根据自己的电脑的配置进行选择(虚拟机最好分50g内存)

3.更改ip地址

一共有三处需要更改ip地址

一、改变VM中的ip地址

 Haoop集群的搭建(小白教学)

二、改变windows中的ip地址

Haoop集群的搭建(小白教学)

 三、改变hadoop100ip地址

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

BOOTPROTO="static"

IPADDR=192.168.10.100

GATEWAY=192.168.10.2

DNS1=192.168.10.2

192.168.10.100 hadoop100

192.168.10.101 hadoop101

192.168.10.102 hadoop102

192.168.10.103 hadoop103

192.168.10.104 hadoop104

192.168.10.105 hadoop105

192.168.10.106 hadoop106

192.168.10.107 hadoop107

192.168.10.108 hadoop108

C:\Windows\System32\drivers\etc

将上述ip地址加入到hosts中

如果w10可能会出现无法在文件中进行添加,w10对权限这方面把控的比较严格,所以可以将文件复制一份在桌面上,然后在添加后在放进原文件夹中

4.关闭防火墙以及其他操作

1.yum  install -y epel-release  //类似于安装了一个仓库

2.systemctl stop firewalld  //关闭当前防火墙

3.systemctl  disable  firewalld.service   //关闭开机时的防火墙

4.vim /etc/suduers

Haoop集群的搭建(小白教学)

 5.卸载虚拟机自带的jdk

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

6.下载、解压hadoop、jdk 配置linux中的环境

Hadoop镜像:Index of /apache/hadoop/common (tsinghua.edu.cn)

注意:hadoop版本最好下不易过高的,因为是在windows环境中如果运行hdfs等,所需要的hadoop.dll 不太好找,以至于心态崩溃。

jdk:百度云下载:

链接:百度网盘 请输入提取码 提取码:cbw4

下载后通过Xftp软件将jar包传到linux下的 /opt/software中,

vim  /etc/profile.d/my_env.sh

解压并安装jdk:

1.tar -zxvf jdk-8u212-linux-x64.tar.gz -C /opt/module/

2.cd /etc/profile.d/   

3.sudo vim my_env.sh
#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_212
export PATH=$PATH:$JAVA_HOME/bin

4.source /etc/profile

解压并安装hadoop:

1.tar -zxvf hadoop-3.3.1.tar.gz -C /opt/module/ 

2.2.cd /etc/profile.d/ 

3.sudo vim my_env.sh
#HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-3.3.1

export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

4.source /etc/profile

Haoop集群的搭建(小白教学)

 6.完全分布式运行模式

1.scp:可以实现服务器与服务器之间的数据拷贝

拷贝:
scp     -r      $pdir/$fname    $user@$host:$pdir/$fname 
命令     递归  要拷贝的文件夹路径/名称   目的地用户@主机:目的地路径/名称


同步:
rsync     -av     $pdir/$fname  $user@$host:$pdir/$fname 
命令     递归  要拷贝的文件夹路径/名称   目的地用户@主机:目的地路径/名称

但是我们在这里为了方便写了一个shell脚本以便于虚拟机进行同步数据

#!/bin/bash
#1.判断参数个数
if [ $# -lt 1 ]
then
        echo Not Enough Arguement!
	exit;
fi
#2. 遍历集群所有机器
for host in hadoop102 hadoop103 hadoop104
do
      echo ============  $host   =============
      #3. 遍历所有目录,逐个发送
       for file in $@
       do 
          #4.  判断文件是否存在
          if [ -e $file ]
 	     then 
		#5. 获取父目录
		pdir=$(cd -P $(dirname $file); pwd)
		#6. 获取当前文件的名称
		fname=$(basename $file)
		ssh $host "mkdir -p $pdir"
		rsync -av $pdir/$fname $host:$pdir
	     else 
                 echo  $file does not exists!
	fi
      done
done

可以在~目录下创建一个bin的文件夹,以便于我们后期写的shell脚本的存储位置

创建一个文件写入脚本sxync,然后输入

chmod 999 sxync

使得脚本生效

7.ssh无密登录

生成公钥和私钥:

[lzw@hadoop102 .ssh]$ pwd
/home/atguigu/.ssh
[lzw@hadoop102 .ssh]$ ssh-keygen -t rsa
三次回车就会出现公钥(id_rsa)和私钥(id_rsa.pub)

将公钥拷贝到要免登录的目标机器上:

[lzw@hadoop102 .ssh]$ ssh-copy-id hadoop102
[lzw@hadoop102 .ssh]$ ssh-copy-id hadoop103
[lzw@hadoop102 .ssh]$ ssh-copy-id hadoop104

ssh无密登录的原理图奉上:

Haoop集群的搭建(小白教学)

 8.配置集群

1.核心配置文件

cd $HADOOP_HOME/etc/hadoop

vim core-site.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
 <!-- 指定 NameNode 的地址 -->
 <property>
 <name>fs.defaultFS</name>
 <value>hdfs://hadoop102:8020</value>
 </property>
 <!-- 指定 hadoop 数据的存储目录 -->
 <property>
 <name>hadoop.tmp.dir</name>
 <value>/opt/module/hadoop-3.1.3/data</value>
 </property>
 <!-- 配置 HDFS 网页登录使用的静态用户为 lzw-->
 <property>
 <name>hadoop.http.staticuser.user</name>
 <value>lzw</value>
 </property>
</configuration>

2.hdfs配置文件

vim hdfs-site.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!-- nn web 端访问地址-->
<property>
 <name>dfs.namenode.http-address</name>
 <value>hadoop102:9870</value>
 </property>
<!-- 2nn web 端访问地址-->
 <property>
 <name>dfs.namenode.secondary.http-address</name>
 <value>hadoop104:9868</value>
 </property>
</configuration>

3.Yarn配置文件

vim yarn-site.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
 <!-- 指定 MR 走 shuffle -->
 <property>
 <name>yarn.nodemanager.aux-services</name>
 <value>mapreduce_shuffle</value>
 </property>
 <!-- 指定 ResourceManager 的地址-->
 <property>
 <name>yarn.resourcemanager.hostname</name>
 <value>hadoop103</value>
 </property>
 <!-- 环境变量的继承 -->
 <property>
 <name>yarn.nodemanager.env-whitelist</name>
 
<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CO
NF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAP
RED_HOME</value>
 </property>
</configuration>

4.MapReduce配置文件

vim mapred-site.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!-- 指定 MapReduce 程序运行在 Yarn 上 -->
 <property>
 <name>mapreduce.framework.name</name>
 <value>yarn</value>
 </property>
</configuration>

将配置好的Hadoop文件分发给其他虚拟机

sxync /opt/module/hadoop-3.1.3/etc/hadoop/

9.配置works

vim /opt/module/hadoop-3.1.3/etc/hadoop/workers

 添加以下内容,注意在添加的时候千万不能出现空格、空行

hadoop102
hadoop103
hadoop104

同步所有节点的配置文件

xsync /opt/module/hadoop-3.1.3/etc

10.启动集群

进入到hadoop-3.1.3的目录下:

//对hdfs进行初始化
hdfs namenode -format
//启动dfs
sbin/start-dfs.sh
//启动yarn
sbin/start-yarn.sh
Web 端查看 HDFS NameNode      浏览器中输入: http://hadoop102:9870
Web 端查看 YARN ResourceManager   浏览器中输入: http://hadoop103:8088
如果NameNode启动失败的话:
1.启动集群时如果碰到Attempting to operate on hdfs namenode as root错误:

第一种方法:输入如下命令,在环境变量中添加下面的配置

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

第二种方法:

将start-dfs.sh,stop-dfs.sh(在hadoop安装目录的sbin里)两个文件顶部添加以下参数

HDFS_DATANODE_USER=root

HADOOP_SECURE_DN_USER=hdfs

HDFS_NAMENODE_USER=root

HDFS_SECONDARYNAMENODE_USER=root

将start-yarn.sh,stop-yarn.sh(在hadoop安装目录的sbin里)两个文件顶部添加以下参数

YARN_RESOURCEMANAGER_USER=root

HADOOP_SECURE_DN_USER=yarn

YARN_NODEMANAGER_USER=root

报错先暂停,然后再清理原数据,再进行初始化

如果Yarn启动失败的话:

2.ERROR: Attempting to operate on yarn resourcemanager as root ERROR: but there is no YARN_RESOURCEMANAGER_USER defined. Aborting operation.出现以上报错信息需要到 sbin 目录下 更改 start-yarn.sh 和 stop-yarn.sh 信息,在两个配置文件的第一行添加:

YARN_RESOURCEMANAGER_USER=root

HADOOP_SECURE_DN_USER=yarn

YARN_NODEMANAGER_USER=root

 制作不易,恳请关注!!!文章来源地址https://www.toymoban.com/news/detail-442010.html

到了这里,关于Haoop集群的搭建(小白教学)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Hadoop集群搭建--集群启动

    关注微信公共号:小程在线 [atguigu@hadoop102 hadoop]$ vim /opt/module/hadoop-3.1.3/etc/hadoop/workers 增加以下内容: hadoop102 hadoop103 hadoop104 [atguigu@hadoop102 hadoop]$ xsync /opt/module/hadoop-3.1.3/etc 2.1 第一启动,需要在hadoop102节点格式化NameNode。 [atguigu@hadoop102 hadoop-3.1.3]$ hdfs namenode -format 2.2 启动 H

    2024年02月09日
    浏览(48)
  • Hadoop集群搭建(hadoop-3.3.5)

    1、配置环境变量 2、修改host映射 1、core-site.xml 2、hdfs-site.xml 3、hadoop-env.sh 4、works 1、格式化集群 2、启动集群 3、进程查看 4、浏览器查看

    2024年02月11日
    浏览(33)
  • Hadoop入门详解以及Hadoop集群搭建

    hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。hadoop充分利用了集群的威力进行高速运算和存储。Hadoop实现了一个分布式文件系统(Distributed File System),其中一个组件是HDFS(Hadoop Distributed File System),

    2024年02月04日
    浏览(44)
  • hadoop集群搭建、spark集群搭建、pyspark搭建(linux+window)

    本文记录学习过程中Hadoop、zookeeper、spark集群搭建,主要为pyspark库服务(具体为window上pyspark环境和pyspark库,linux上spark框架、pyspark应用程序、pyspark环境和pyspark库)。pyspark环境是用anaconda3搭建的环境。pyspark应用程序,是安装spark集群里面自带的,提供一个python解释器环境来执

    2024年01月22日
    浏览(47)
  • 搭建hadoop集群,从安装虚拟机开始直到hadoop成功搭建

    搭建Hadoop集群   一、实验目的与要求 学习和掌握Hadoop的相关应用,首先必须得学会搭建Hadoop集群。本次实验将针对Hadoop集群的搭建内容进行演练。学会虚拟机的安装和克隆,Linux系统的网络配置和SSH配置,Hadoop集群的搭建和配置,Hadoop集群测试,熟悉Hadoop集群基本的操作。

    2023年04月08日
    浏览(42)
  • (小白全过程记录)Ubuntu下伪分布式Hadoop环境搭建

    目录 0.准备 1.Hadoop伪分布式环境搭建 2.安装ssh,配置ssh无密码登录 3.通过拖拽的方式将文件从windows传到linux桌面 5.安装hadoop 6.修改hadoop环境变量 7.修改配置文件 core-site.xml 8.修改配置文件hdfs-site.xml文件 9.执行NameNode的格式化 10.开启NameNode和DataNode守护进程 11.访问web页面 12.关闭

    2024年02月03日
    浏览(49)
  • hadoop完全分布式集群搭建(超详细)-大数据集群搭建

    本次搭建完全分布式集群用到的环境有: jdk1.8.0 hadoop-2.7.7 本次搭建集群所需环境也给大家准备了,下载链接地址:https://share.weiyun.com/dk7WgaVk 密码:553ubk 本次完全分布式集群搭建需要提前建立好三台虚拟机,我分别把它们的主机名命名为:master,slave1,slave2 一.配置免密登陆 首先

    2024年02月10日
    浏览(52)
  • Hadoop 集群搭建

    使用三台虚拟机,搭建一个 Hadoop 集群。 目录 一、centos7 Minimal 版本安装配置 二、Hadoop 单节点安装 ① 修改主机名和映射 hosts 文件 ② 安装 JDK ③ 安装 Hadoop  ④ 本地模式测试(官方WordCount)  三、Hadoop 集群配置 (1)克隆 hadoop102、hadoop103 (2)群分发脚本xsync (3)root 用户

    2024年02月12日
    浏览(30)
  • Hadoop运行集群搭建

    IP地址 192.168.10.100 、主机名称 hadoop100, 内存 4G 、硬盘 50G 测试下虚拟机联网情况   安装 epel-release 注: Extra Packages for Enterprise Linux 是为“红帽系”的操作系统提供额外的软件包 , 适用于 RHEL、CentOS 和 Scientific Linux。相当于是一个软件仓库,大多数 rpm 包在官方 repository 中是找

    2024年02月02日
    浏览(36)
  • Hadoop集群环境配置搭建

    Hadoop最早诞生于Cutting于1998年左右开发的一个全文文本搜索引擎 Lucene,这个搜索引擎在2001年成为Apache基金会的一个子项目,也是 ElasticSearch等重要搜索引擎的底层基础。 项目官方:https://hadoop.apache.org/ 首先准备三台Linux服务器,预装CentOS7。三台服务器之间需要网络互通。本地

    2024年02月03日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包