Hadoop集群的搭建,巨详细的过程,一步步来必成_hadoop集群搭建完整教程-程序员宅基地

技术标签: linux  hadoop  大数据  

一、注意事项

1、环境背景

注意:此次使用的是CentOS 7 , Hadoop的版本是3.2.4,jdk是jdk-8u351-linux-x64.rpm

2、小小请求


内容有点长,但是步骤十分详细,跟着来一定会成功!!请耐心看完
各位小伙伴们有什么问题可以私信我,如果想要内容里面的软件包的话可以在评论区@我。最后给我点个赞呗()


二、Hadoop的搭建

1、安装及配置虚拟机

1)配置网络

Liux系统的网络配置参数是写在配置文件里的,ifcfg-ens33是CentOS 7版本的Linux系统中的网络配置文件,可以设置P地址、子网码等网络配置信息。
修改/etc/sysconfig/network-scripts/ifcfg-ens33配置文件。将该文件中ONBOOT的值修改为“yes ” ,将BOOTPROTO的值修改为“static ” ,并添加IP地址IPADDR、子网掩码NETMASK、网关GATEWAY以及域名解析服务器DNS1的网络配置信息。

localhost login: root
Password:
[root@localhost ~] vi /etc/sysconf ig/network-scripts/ifcfg-ens33
#这是ifcfg-ens33的文件,需要修改的注释表明
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static  #这是第一个修改的地方
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=ba47e21a-c46d-4a38-8eaf-6a6475775a9a
DEVICE=ens33
ONBOOT=yes      #第二个
#这四个是需要添加的
IPADDR=192.168.128.130
GATEWAY=192.168.128.2
NETMASK=255.255.255.0
DNS1=8.8.8.8

重启网卡服务

service network restart

查看IP是否已被更改

ip addr

af

2)下载远程链接器(可选)

Xmanager是应用于Windows系统的Xserver服务器软件,通过Xmanager用户可以将远程的Linux桌面无缝导入至Windows系统中。这个过程可以自行选择,这个只是一个辅助器为了方便操作。

(1)下载Xshell

通过Xmanager官网下载Xmanager安装包,安装包名称为Xme5.exe。
下载安装包后,双击Xme5.exe进入Xmanager安装界面,选择Xmanager的安装位置后即可快速完成Xmanager的安装。
Xmanager官网点击此处

(2)Linux虚拟网络

使用Xmanager连接虚拟机前,需要先设置VMware Workstation的虚拟网络。在VMware的“编辑”菜单中单击“虚拟网络编辑器(N)…”选项。

在这里插入图片描述
进入“虚拟网络编辑器”对话框后,需要管理员权限才能修改网络配置。如果没有管理员权限,那么单击“更改设置”按钮,重新进入对话框即可。选择“VMnet8”选项所在行,再将“子网IP(I) ”修改为“192.168.128.0 ” ,单击“确定”按钮关闭该对话框。

在这里插入图片描述

(3)准备连接Xshell

打开一下载好的Xshell
单击“文件”菜单,在出现的菜单栏中选择“新建(N)…”选项,建立会话。
在这里插入图片描述
在这里插入图片描述
配置新建会话。在弹出的“新建会话属性”对话框中,“名称”对应的文本框中输入“master ” 。该会话名称是由用户自行指定的,建议与要连接的虚拟机主机名称保持一致。“主机(H) ”对应的文本框中输入“192.168.128.130 ” ,表示master虚拟机的IP地址
在这里插入图片描述
再单击左侧的“用户身份验证”选项,在右侧输入用户名“root ”和密码 ,如右图,单击“确定”按钮,创建会话完成
最后成果如图所示
在这里插入图片描述

3)修改主机名称

用图中命令修改主机名称后,命令“reboot”重启虚拟机。
在这里插入图片描述
最后结果如图所示
在这里插入图片描述

4)使用YUM安装软件

使用命令

yum install -y vim zip openssh-server openssh-clients

以安装vim、zip、openssh-server、openssh-clients
在这里插入图片描述
出现**Complete!**表示成功

2、搭建Hadoop集群

1)上传所需安装包

上传JDK安装包至虚拟机master,按“Ctrl+Alt+F ”组合键,进入文件传输的弹窗
在左侧查找到jdk-8u351-linux-x64.rpmhadoop-3.2.4.tar.gz安装包,右键单击该安装包,选择“传输”命令上传至Linux的/opt目录下。
在这里插入图片描述

然后进入控制台
进入/opt目录

cd /opt

输入这两个命令分别解压这两个安装包

rpm -ivh jdk-8u281-linux-x64.rpm 
tar -zxf hadoop-3.2.4.tar.gz -C /usr/local

安装后的
Java路径在/usr/java/jdk1.8.0_351-amd64
Hadoop路径在/usr/local下

2)下载ntp和chrony

[root@master ~] yum install ntp ntpdate -y  #安装时间同步
[root@master ~] ntpdate ntp.aliyun.com
 2 Jun 02:16:20 ntpdate[1756]: adjust time server 203.107.6.88 offset 0.001007 sec

ntp就上述步骤和简单,到了chrony就需要下载完修改文件了

[root@master ~] yum install chrony -y
[root@master ~] vi /etc/chrony.conf 
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
server ntp.aliyun.com iburst  #这一行不要添加星号
[root@master ~] systemctl start chronyd
[root@master ~] timedatectl set-ntp true  #默认打开ntp
[root@master ~] date
Tue Feb 28 09:00:12 CST 2023
[root@master ~] 

在这里插入图片描述

3)修改Hadoop文件

进入目录:

cd /usr/local/hadoop-3.2.4/etc/Hadoop/

依次修改下面的文件:

(1)core-site.xml

    <property>
    <name>fs.defaultFS</name>  
      <value>hdfs://master:8020</value>  
      </property>  
    <property>
      <name>hadoop.tmp.dir</name>
      <value>/var/log/hadoop/tmp</value>
    </property>

需要添加进去,注意添加的格式,如图:
我们刚打开的文件里面内容是这样的在这里插入图片描述
我们要复制好把他插入在此中间,然后保存。
P.S. 用文件操作系统更改文件更为方便,不然还可以在Xshll开启撰写窗口也可以达到目的

<configuration>
</configuration>

最后插入如图所示
在这里插入图片描述
记住!!!一定要保存!!!!

(2)hadoop-env.sh
export JAVA_HOME=/usr/java/jdk1.8.0_351-amd64

在这里插入图片描述
这里需要注意你的jdk的版本是否跟我一样

(3)hdfs-site.xml
<property>
    <name>dfs.namenode.name.dir</name>
    <value>file:///data/hadoop/hdfs/name</value>
</property>
<property>
    <name>dfs.datanode.data.dir</name>
    <value>file:///data/hadoop/hdfs/data</value>
</property>
<property>
     <name>dfs.namenode.secondary.http-address</name>
     <value>master:50090</value>
</property>
<property>
     <name>dfs.replication</name>
     <value>3</value>
</property>
(4) mapred-site.xml
<property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
</property>
<!-- jobhistory properties -->
<property>
    <name>mapreduce.jobhistory.address</name>
    <value>master:10020</value>
</property>
<property>
     <name>mapreduce.jobhistory.webapp.address</name>
     <value>master:19888</value>
</property>
(5) yarn-site.xml
 <property>
    <name>yarn.resourcemanager.hostname</name>
    <value>master</value>
  </property>    
  <property>
    <name>yarn.resourcemanager.address</name>
    <value>${yarn.resourcemanager.hostname}:8032</value>
  </property>
  <property>
    <name>yarn.resourcemanager.scheduler.address</name>
    <value>${yarn.resourcemanager.hostname}:8030</value>
  </property>
  <property>
    <name>yarn.resourcemanager.webapp.address</name>
    <value>${yarn.resourcemanager.hostname}:8088</value>
  </property>
  <property>
    <name>yarn.resourcemanager.webapp.https.address</name>
    <value>${yarn.resourcemanager.hostname}:8090</value>
  </property>
  <property>
    <name>yarn.resourcemanager.resource-tracker.address</name>
    <value>${yarn.resourcemanager.hostname}:8031</value>
  </property>
  <property>
    <name>yarn.resourcemanager.admin.address</name>
    <value>${yarn.resourcemanager.hostname}:8033</value>
  </property>
  <property>
    <name>yarn.nodemanager.local-dirs</name>
    <value>/data/hadoop/yarn/local</value>
  </property>
  <property>
    <name>yarn.log-aggregation-enable</name>
    <value>true</value>
  </property>
  <property>
    <name>yarn.nodemanager.remote-app-log-dir</name>
    <value>/data/tmp/logs</value>
  </property>
<property> 
 <name>yarn.log.server.url</name> 
 <value>http://master:19888/jobhistory/logs/</value>
 <description>URL for job history server</description>
</property>
<property>
   <name>yarn.nodemanager.vmem-check-enabled</name>
    <value>false</value>
  </property>
 <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
  </property>
  <property>
    <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
      <value>org.apache.hadoop.mapred.ShuffleHandler</value>
      </property>
<property>  
        <name>yarn.nodemanager.resource.memory-mb</name>  
        <value>2048</value>  
 </property>  
 <property>  
        <name>yarn.scheduler.minimum-allocation-mb</name>  
        <value>512</value>  
 </property>   
 <property>  
        <name>yarn.scheduler.maximum-allocation-mb</name>  
        <value>4096</value>  
 </property> 
 <property> 
    <name>mapreduce.map.memory.mb</name> 
    <value>2048</value> 
 </property> 
 <property> 
    <name>mapreduce.reduce.memory.mb</name> 
    <value>2048</value> 
 </property> 
 <property> 
    <name>yarn.nodemanager.resource.cpu-vcores</name> 
    <value>1</value> 
 </property>

(6)yarn-env.sh
export JAVA_HOME=/usr/java/jdk1.8.0_351-amd64

添加在最末尾

(7)workers
slave1

删除里面原来在添加此数据

(8)hosts

注意这个文件在/etc/hosts,在其某位添加如下代码:
首先`

vi /etc/hosts
192.168.128.130 master master.centos.com
192.168.128.131 slave1 slave1.centos.com
(9)profile环境变量

这个也是/etc下面的文件,也是在其末尾添加。

export JAVA_HOME=/usr/java/jdk1.8.0_351-amd64
export HADOOP_HOME=/usr/local/hadoop-3.2.4
export HDFS_DATANODE_USER=root
export HDFS_DATANODE_SECURE_USER=root
export HDFS_NAMENODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root
export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/bin:$PATH


然后使用

source /etc/profile

使环境变量生效

4)克隆虚拟机

在虚拟机master上配置完成Hadoop集群相关配置后,将虚拟机master克隆,生成1个新的虚拟机slave1。
在window系统中虚拟机master的安装目录下建立1个文件slave1。用来存放slave1的内容

然后打开VM
右键单击虚拟机master,依次选择“管理”→“克隆”命令,进入“欢迎使用克隆虚拟机向导”的界面,直接单击“下一步”按钮
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5)配置节点slave1相关属性

开启slave1虚拟机,修改相关配置。因为slave1虚拟机是由master虚拟机克隆产生的,即虚拟机配置与虚拟机master一致,所以需要修改slave1的相关配置,修改过程如下。
修改vi /etc/sysconfig/network-scripts/ifcfg-ens33文件,将IPADDR的值修改为“192.168.128.131”。
重启网络服务,并查看IP是否修改成功。
修改主机名称为slave1。
重启虚拟机,使用“reboot” 命令重新启动虚拟机。
具体参考第1节步骤,改名字的也在上述步骤中(自行查询)

在这里插入图片描述

同样也是把该节点连接到远程控制界面
该步骤也在上述中(自行查找借鉴)

在这里插入图片描述

6)配置SSH无密码登录

(1)使用ssh-keygen产生公钥与私钥对。

输入命令“ssh-keygen -t rsa”,接着按三次Enter键
在这里插入图片描述
生成私有密钥id_rsa和公有密钥id_rsa.pub两个文件。ssh-keygen用来生成RSA类型的密钥以及管理该密钥,参数“-t”用于指定要创建的SSH密钥的类型为RSA。

(2)公钥复制到远程机器

依次输入yes, 000000(root用户的密码)

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

在这里插入图片描述

ssh-copy-id -i /root/.ssh/id_rsa.pub slave1

在这里插入图片描述

(3)验证ssh登录

验证SSH是否能够无密钥登录。在master主节点下输入“ssh slave1”,结果如下图,说明配置SSH免密码登录成功。
在这里插入图片描述

7)Hadoop集群配置时间同步

(1)安装NTP

安装NTP服务。在各个节点“yum install -y ntp ”命令。若出现了“Complete ”,则说明安装NTP服务成功。

(2)修改NTP文件

注意此操作是在master中
使用命令“vi /etc/ntp.conf”打开/etc/ntp.conf文件,注释掉以server开头的行,并添加:

restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap
server 127.127.1.0
fudge 127.127.1.0 stratum 10

在这里插入图片描述
下面的操作是在节点slave1中操作
在slave中配置NTP,修改/etc/ntp.conf文件,注释掉server开头的行,并添加:

server master

在这里插入图片描述

(3)关闭防火墙

使用这两个命令关闭防火墙
注意!!! 所有节点都要关闭

systemctl stop firewalld
systemctl disable firewalld

在这里插入图片描述
节点slave1不再展示

(4)启动NTP服务

在master和slave1节点上使用这两代码开启NTP服务

systemctl start ntpd
systemctl enable ntpd

在使用systemctl status ntpd 命令查看ntpd的状态,出现 running 表示运行成功,slave1同样这样操作
在这里插入图片描述
然后在slave1 节点中,使用 ntpdate master 命令,同步时间
在这里插入图片描述

8)格式化NameNode

进入目录

cd /usr/local/hadoop-3.2.4/sbin

并使用代码

hdfs namenode -format

在这里插入图片描述
出现此情况表示格式化成功
注意!!!!slave1也是如此格式化

9)执行启动Hadoop集群

在master节点中也是在sbin 目录下然后输入

./start-all.sh

然后在输入

jps

出现如此现象表示Hadoop集群已经启动成功
在这里插入图片描述

三、测试启动

1、打开浏览器

查看Hadoop的服务监控端口

http://192.168.128.130:9870 
http://192.168.128.131:8088

在这里插入图片描述
在这里插入图片描述
若出现这两个界面,那恭喜你,Hadoop集群搭建成功了!!!!

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_68251022/article/details/131003205

智能推荐

【转载】linux下的usb抓包方法-程序员宅基地

文章浏览阅读67次。1 linux下的usb抓包方法1、配置内核使能usb monitor:make menuconfigDevice Drivers --> USB Support --> USB Monitor --> Sel..._linux安装tcpdump 查看usb

计算机组成pc em ir,计算机组成 课程设计报告.doc-程序员宅基地

文章浏览阅读164次。计算机组成 课程设计报告计算机组成原理课程设计报告姓 名:班 级:学 号:指导老师:2016年 6月31日目 录第一章 背景知识与课设任务概述11.1课设目的11.2课设任务11.2111.2211.2321.2421.252第二章 课设内容32.1指令的执行流程32.1.132.1.242.1.352.2存储器62.2.162.3运算器72.3.172.4硬件系统组成122.4..._计算机组成课程设计报告

python青果教务系统抢课_名额不够,技术来凑,利用Python实现教务系统强制性抢课...-程序员宅基地

文章浏览阅读1.3k次。最近一学期一次的抢课大戏又来了,几家欢乐几家愁。O(∩_∩)O哈哈~(l我每次一选就过了hah,我还是有欧的时候滴)。看着他们盯着教务系统就着急,何况我们那教务系统,不想说什么。emmm 想周围的朋友,正好下午利用扩容前一段时间写了个小脚本帮助朋友抢课。(当然抢到了啦,^_^)私信小编001即可获取大量Python学习资料,名额有限因为时间不够,来不及仔细琢磨,我第一想法就是直接提交选课的数据包(..._青果教务系统抢课

windows 加 switchyomega + burp 抓https包-程序员宅基地

文章浏览阅读4.6k次。很简单,下载证书后导入到受信任根目录证书下载,直接在代理状态浏览器访问burp点击CA就可以下载了 设置该证书全部信任,,switchyomega 设置如下即可 就可以抓https的包了 ...

用C语言写循环赛日程表,循环赛的方法与编排-程序员宅基地

文章浏览阅读1k次。一、循环赛的种类与特点(一)循环赛的种类循环赛又称循环法。是指参赛队(或个人,下同)之间,都要互相轮流比赛,最后按照各参赛队在全部比赛中的胜负场数、得分多少排定名次的比赛方法。它在对抗性项目比赛中经常被采用。循环赛包括单循环、双循环或分组循环三种。单循环是所有参赛队(人)相互轮赛一次;双循环是所有参赛队(人)相互轮赛二次;分组循环是参赛队(人)较多时,采用种子法,把强队(人)分散在各组,先进行小组..._c语言循环赛互打一场比赛 甲队两胜

springboot项目访问html页面,发现端口不一致&继承WebMvcConfigurationSupport类会导致自动配置失效_springboot项目前端端口号不同怎么办-程序员宅基地

文章浏览阅读1.6k次,点赞4次,收藏6次。最后的解决方法“在config--WebMvcConfig中不要继承WebMvcConfigurationSupport,而是实现WebMvcConfigurer接口”,且不要在idea中直接点击浏览器图标打开对应的html页面,要自己在浏览器输入url。在本次debug过程中,更加清楚地明白了,springboot项目启动过程中,只扫描引导类同包或子包下的程序,而在resources目录下的静态资源文件(没放到),需要被映射,才能被扫描到。_springboot项目前端端口号不同怎么办

随便推点

507页XX市应急管理局智慧矿山煤矿数字化矿山技术解决方案_18万字应急管理局智慧矿山煤矿数字化矿山技术解决方案word-程序员宅基地

文章浏览阅读542次。只有在单系统自动化的基础上,通过高速网络接入各单系统,充分数据融合,建立合理的联动机制才能完成从单系统自动化到综合自动化的转变,该部分的转变从投入的资金和实现的容易度相对来讲可实现性和可控性都比较容易,但是从综合自动化向数字化矿山发展,涉及的面比较广,必须由多方共同来推进,一般涉及到“综合自动化”、“空间数字化”及“管理信息化”三大方面,三者缺一不可,通过三者的有机融合,再通过合适的平台例如三维可视化平台进行展示,同时通过科学合理的管理制度和流程加以应用才是真正意义上有血有肉的数字化矿山。_18万字应急管理局智慧矿山煤矿数字化矿山技术解决方案word

Tomcat官网地址-程序员宅基地

文章浏览阅读1.4w次,点赞8次,收藏7次。Tomcat官网地址_tomcat官网

汇编指令长度计算_汇编指令占多少字节-程序员宅基地

文章浏览阅读5.1k次,点赞11次,收藏58次。指令长度与寻址方式有关系,规律或原则如下:一、没有操作数的指令,指令长度为1字节。如es:ds:cbwxlat等。二、操作数只涉及寄存器的指令,指令长度为2字节。如mov al,[si]mov ax,[bx+si]mov ds,ax等。三、操作数涉及内存地址的指令,指令长度为3字节。如mov al,[bx+1]mov ax,[bx+si+3]lea di,[1234]mov [2345],ax等。四、操作数涉及立即数的指令,指令长度为:寄存器类型+2。8位寄存器,寄存器_汇编指令占多少字节

二、RSA加密_ctf rsa 多个n和多个c-程序员宅基地

文章浏览阅读3.4k次。CTF中的RSA及攻击方法笔记1 数论基础1.1 模运算规则2 RSA相关题目2.1 已知 n,e,c 求 m2.2 已知 p,q,e 求 d2.3 已知dp,dq,c,p,q 求m2.4 仅已知c,c特别大 【c = m^e mod n】2.5 已知n1,n2,c1,c2,n 求 m2.6 已知n1,n2,e,c2 求m2.7 已知e,d,N 求p,q1 数论基础参考链接:https://www.freebuf.com/articles/web/257835.html1.1 模运算规则模运算与基_ctf rsa 多个n和多个c

mysql中把bigint类型转换为时间格式,与hive中unix_timestamp、FROM_UNIXTIME两个函数之间的区别_bigint转日期-程序员宅基地

文章浏览阅读2w次,点赞4次,收藏15次。数据库中时间类型是这样的,13位bigInt类型的数据select date_format(FROM_UNIXTIME(列名/1000),'%Y%m%d') from xx表原理就是把13位的时间格式/1000等于时间戳,使用FROM_UNIXTIME把时间戳转换成具体的日期ps:将时间转换为时间戳select unix_timestamp('2018-08-30..._bigint转日期

exit status 5: �ܾ����ʡ� exit status 1: ���_exit status 5: exit status 1:-程序员宅基地

文章浏览阅读1.1k次。使用nvm切换node版本出现上述乱码时。使用管理员模式打开CMD就可以解决了~_exit status 5: exit status 1:

推荐文章

热门文章

相关标签