CentOS 6虚拟机Hadoop安装教程

article/2025/10/7 13:35:42

前言

本人初学hadoop,在安装配置环境时发现网上大部分博客的教程都不太完善,所以我结合了这些博客内容和老师的讲解写了下面这一份教程,这些操作都是本人经过尝试确认过没有问题的操作(如果有问题的话希望大家能够指出 )在安装中有什么注意点我都会提,希望能够对各位有帮助

h a d o o p hadoop hadoop集群配置时,需要至少两台机子,但有些配置都是相同的,所以以下操作可以在Master主机完成后用虚拟机的克隆即可,之后只需要修改几个配置即可,这些在后面内容都有说明

下面是具体操作

1、创建hadoop用户

su # 以root用户登陆
# useradd -m hadoop -s /bin/bash # 创建新用户hadoop
passwd hadoop #修改hadoop用户的密码

2、虚拟机网络配置

1、查看虚拟机的ip、子网掩码和网关

VMware顶部查看网络编辑器
在这里插入图片描述

查看VMnet8的子网ip和子网掩码
在这里插入图片描述
点击NAT设置,记住网关,这些后面都是要用的
在这里插入图片描述

2、修改主机名

主机名在每台机子都不一样,例如我叫Master,Slave1,Slave2,这些名字可以任意,注意区分每个节点的名字,这里可以先在一台机子上修改,后面克隆虚拟机后再修改即可。

vi /etc/sysconfig/network

在这里插入图片描述

3、配置ip地址

(1)查看网卡名

ifconfig -a

在这里插入图片描述
(2)查看mac地址

cat /etc/udev/rules.d/70-persistent-net.rules

在这里插入图片描述
如果是克隆过来的虚拟机可能会发现多了块网卡,记住下面的eth1的mac地址,划线部分是原虚拟机的mac地址

(3)删除多余的mac地址信息

vi /etc/udev/rules.d/70-persistent-net.rules

把下面圈住的内容的eth1改成eht0,另一个删除
在这里插入图片描述

(4)修改ip地址

vi /etc/sysconfig/network-scripts/ifcfg-eth0

在这里插入图片描述
注意ip地址要和上面查看的相同,最后这个 . 110 .110 .110可以是任意的,注意不要和其他ip冲突了
几台机子的末尾要不同,例如我这里是 . 110 , . 111 .110,.111 .110.111 . 112 .112 .112
网卡名、mac地址、子网掩码和网关都是填查看到的,DNS1和网关填一样的
其他的除了UUID不要动,都改成我上面的,没有就加上

4、修改节点的IP映射:

sudo vim /etc/hosts

第一二行是系统原有的,如果有多余的要删除
添加的信息左边对应上面修改的ip地址,右边是主机名,修改完成后需要重启一下
记得添加所有的机子ip和对应的主机名
在这里插入图片描述

5、重启网卡

service network restart

在这里插入图片描述

6、关闭防火墙

chkconfig iptables off

7、检查是否成功配置

配置好后执行下如下命令,如果ping不通后面操作无法执行

ping www.baidu.com

3、安装java环境

(1)查看jdk版本
CentOS一般是自带java环境的,如果想查看当前jdk版本可以用下面的命令

java -version

rpm -qa | grep jdk

如果没有显示就代表没有安装java环境

(2)卸载jdk
先用which java查看安装路径

which java

卸载java

rm -rf /usr/java/

卸载完成之后查看是否卸载完毕

java -version
java
javac

(3)下载安装jdk

  • 可以使用yum命令下载,后面跟的是版本号
sudo yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel

过程中会让输入[y/n]一直按y即可

如果你的yum用不了,那是centos6的支持给官方停掉了,可以看这个博客解决
https://zhuanlan.zhihu.com/p/338873211

  • 也可以在主机下好后CTRL+CV粘贴进入

下好的gz包直接双击安装即可

(4)执行下面命令查看安装路径

rpm -ql jdk1.8.0_60 | grep '/bin/javac'

在这里插入图片描述

(5)配置java环境变量

vim ~/.bashrc

在文件的最后一行加上JDK的路径

export JAVA_HOME=/usr/java/jdk1.8.0_60

在这里插入图片描述
使上面的设置生效

source ~/.bashrc

最后检查一下是否设置正确

echo $JAVA_HOME
java -version
$JAVA_HOME/bin/java -version # 与直接执行 java -version 一样

4、下载Hadoop

这里我是下好后ctrl+cv粘贴到虚拟机内
所以直接解压安装即可

$ sudo tar -zxf /home/hadoop/Desktop/hadoop-2.6.0-cdh5.11.2.tar.gz -C /usr/local # 解压到/usr/local中,也可以选择其他路径,要记住这个路径
$ cd /usr/local/
$ sudo mv /home/hadoop/Desktop/hadoop-2.6.0-cdh5.11.2 /home/hadoop/Desktop/hadoop  # 将文件夹名改为hadoop

Hadoop解压后即可使用,下面命令检查Hadoop是否可用

cd /usr/local/hadoop
./bin/hadoop version

如果可用会输出下面的信息
在这里插入图片描述

5、Hadoop集群配置

(1)配置环境变量

vi /etc/profile

在文件最后一行添加hadoop的路径,注意这里/usr/local是解压hadoop选择的路径

export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin

(2)修改分布式环境配置文件
分布式环境需要修改 slaves、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml 这五个文件才能正常启动

  1. 进入配置文件所在目录
cd /usr/local/hadoop/etc/hadoop/

在这里插入图片描述
可以看到要修改的五个文件都在这,这里hadoopdata是后面创建的,开始并没有

这里要创建几个文件夹,后面配置文件要用

mkdir hadoopdata
cd hadoopdata
mkdir nn dn yarn log
#ls查看是否创建成功
  1. 修改 core-site.xml的配置
vi core-site.xml

进入文件,将configuration内的内容改为下面的

<configuration>
<property>
<name>fs.defaultFS</name> #hdfs访问的唯一入口
<value>hdfs://Master:8020</value> #Master是集群的入口
</property>
</configuration>
  1. 修改hdfs-site.xml的配置
vi hdfs-site.xml

进入文件,将configuration内的内容改为下面的 ,要注意hadoop的安装路径改成自己的路径

<configuration><property><name>dfs.permissions.superusergroup</name>#超级用户组,设置权限方便<value>hadoop</value></property><property><name>dfs.namenode.name.dir</name><value> /usr/local/hadoop/etc/hadoop/hadoopdata/nn</value> #hadoop的安装目录</property><property><name>dfs.datanode.data.dir</name><value> /usr/local/hadoop/etc/hadoop/hadoopdata/dn</value></property><property><name>dfs.namenode.http-address</name><value>Master:50070</value><description>The address and the base port on which the dfsNameNode Web UI will listen.</description></property><property><name>dfs.secondary.http-address</name><value>Slave2:50090</value><description>The address and the base port on which the dfsNameNode Web UI will listen.</description></property>
</configuration>
  1. 修改mapred-site.xml的配置

因为开始只提供了一个mapred-site.xml.template模板,所以要新建一个mapred-site.xml文件

cp mapred-site.xml.template mapred-site.xml #拷贝文件
vi hdfs-site.xml

进入文件,将configuration内的内容改为下面的

<configuration><property><name>mapreduce.framework.name</name><value>yarn</value></property>
</configuration>
  1. 修改yarn-site.xml的配置
vi yarn-site.xml

进入文件,将configuration内的内容改为下面的 ,要注意hadoop的安装路径改成自己的路径

<configuration>
<!-- Site specific YARN configuration properties --><property><name>yarn.resourcemanager.hostname</name><value>Slave2</value></property><property><description>Classpath for typical applications.</description><name>yarn.application.classpath</name><value>$HADOOP_CONF_DIR,$HADOOP_COMMON_HOME/*,$HADOOP_COMMON_HOME/lib/*,$HADOOP_HDFS_HOME/*,$HADOOP_HDFS_HOME/lib/*,$HADOOP_MAPRED_HOME/*,$HADOOP_MAPRED_HOME/lib/*,$HADOOP_YARN_HOME/*,$HADOOP_YARN_HOME/lib/*</value></property><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><property><name>yarn.nodemanager.local-dirs</name><value> /usr/local/hadoop/etc/hadoop/hadoopdata/yarn/local</value></property><property><name>yarn.nodemanager.log-dirs</name><value> /usr/local/hadoop/etc/hadoop/hadoopdata/yarn/logs</value></property><property><name>yarn.log.aggregation-enable</name><value>true</value></property><property><description>Where to aggregate logs</description><name>yarn.nodemanager.remote-app-log-dir</name><value>/usr/local/hadoop/etc/hadoop/hadoopdata/log/hadoop-yarn/apps</value></property>
</configuration>
  1. 将主机名添加进slaves
vi slaves

添加所有的机子的主机名

Master
Slave1
Slave2

ps:这五个文件的修改是否成功要等克隆完虚拟机才能验证,所以最好检查几遍
如果克隆后出现错误可以现在一台机子修改,使用scp命令将hadoopdata发送到其他机子

scp /usr/local/hadoop/etc/hadoop/hadoopdata hadoop@Salve1:/usr/local/hadoop/etc/hadoop/

‘@’后面的是发送到哪台机子的主机名,‘:’后的是送到的具体目录

(3)克隆虚拟机

到这里单机版的Hadoop就安装完成了,使用虚拟机克隆另外两台机子
在这里插入图片描述
克隆是傻瓜式的下一步即可,注意这里要选择完整克隆(我没有尝试过链接克隆
在这里插入图片描述
克隆完成后只需要修改下面几个配置文件即可

  1. 改/etc/sysconfig/network的主机名
  2. 改/etc/sysconfig/network-scripts/ifcfg-eth0的IP和网卡
  3. 重启网卡后检查能否ping通

完成后在各结点使用如下命令,如果不能ping通检查各机子ip配置

ping Master 
ping Slave1
ping Slave2

按ctrl+c 停止ping命令
例如我在Master上ping Slave2
在这里插入图片描述
(4)ssh无密码登陆

这个操作是要让 Master 节点可以无密码 SSH 登陆到各个 Slave 节点上

注意这里要区分root用户和hadoop用户,每个用户生成的key都只能让自己使用

在hadoop用户下输入下面命令,之后按回车和y即可。这一步所有机子都要执行

ssh-keygen -t rsa 

在这里插入图片描述
可以看到key保留到了/home/hadoop/.ssh/下

在Slave1和Slave2执行

scp /home/hadoop/.ssh/id_rsa.pub hadoop@Master:/home/hadoop/.ssh/id_rsa.pub1 #Slave1执行
scp /home/hadoop/.ssh/id_rsa.pub hadoop@Master:/home/hadoop/.ssh/id_rsa.pub2 #Slave2执行

接下来在Master机子下执行,这一步使所有主机相互信任(不需要密码登陆)

cd /home/hadoop/.ssh
cat id_rsa.pub* > authorized_keys
scp /home/hadoop/.ssh/authorized_keys hadoop@Slave1:/home/hadoop/.ssh/authorized_keys
scp /home/hadoop/.ssh/authorized_keys hadoop@Slave2:/home/hadoop/.ssh/authorized_keys

最后修改文件权限,在所有机子上执行

chmod 700 /home/hadoop/.ssh
chmod 600 /home/hadoop/.ssh/authorized_keys

接下来验证是否操作成功,如果相互都能免密登陆就完成了

ssh Master
ssh Slave1
ssh Slave2

!!!注意这只是在hadoop用户下相互免密登陆,在root用户下要按照上述流程再操作一遍

(5)格式化namenode

这里只需要在主机Master上操作,成功后会出现下面图片的Exiting with status 0,如果没有需要检查那五个配置文件

hadoop namenode -format

在这里插入图片描述
(6)启动hadoop相关服务

Master操作

cd /usr/local/hadoop/sbin
./hadoop-daemon.sh start namenode
./hadoop-daemon.sh start datanode
./yarn-daemon.sh start nodemanager

检查是否开启成功,后面几个的检查同理

jps

在这里插入图片描述
如果有这几个进程说明启动成功,如果启动失败去检查那五个配置文件

Slave1操作
可以直接在Slave1上操作,也可以通过ssh链接Slave1,如果连接使用下面命令

ssh Slave1
cd /usr/local/hadoop/sbin
./hadoop-daemon.sh start datanode
./hadoop-daemon.sh start secondarynamenode
./yarn-daemon.sh start nodemanager

Slave2操作
`

cd /usr/local/hadoop/sbin
./hadoop-daemon.sh start datanode
./yarn-daemon.sh start nodemanager
./yarn-daemon.sh start resourcemanager

(7)验证集群是否配置成功

Master节点在浏览器中输入

http:Master:50070

如果出现下面这样的页面说明配置成功
在这里插入图片描述


http://chatgpt.dhexx.cn/article/WmLcojhQ.shtml

相关文章

Hadoop安装教程_单机/伪分布式配置_Hadoop 2.7.7(2.7.7)/CentOS Linux release 7.4.1708

作为大数据研发工程师基础技能&#xff0c;当开始着手 Hadoop课程教学时&#xff0c;安装 Hadoop 往往会成为新手的一道门槛。尽管安装其实很简单&#xff0c;书上有写到&#xff0c;官方网站也有 Hadoop 安装配置教程&#xff0c;但由于对 Linux 环境不熟悉&#xff0c;书上跟…

超详细Hadoop安装教程(单机版、伪分布式)

超详细Hadoop安装教程&#xff08;单机版、伪分布式&#xff09; 1.Hadoop分布式系统基础架构介绍1.1.Hadoop核心 2.Hadoop安装教程2.1.环境准备2.2.配置用户ssh 免密登录2.3.JAVA环境的安装和配置2.4.Hadoop安装2.5.单机版Hadoop配置2.6.伪分布式Hadoop配置2.7Hadoop初始化 1.…

Hadoop安装教程_单机/伪分布式配置

目录 测试环境创建hadoop用户更新apt安装SSH、配置SSH无密码登陆配置Java环境安装 Hadoop3.1.3Hadoop部署方式介绍Hadoop单机配置(非分布式)Hadoop伪分布式配置运行Hadoop伪分布式实例 测试环境 Linux系统版本&#xff1a;ubuntukylin-20.04-pro Hadoop版本&#xff1a;hadoop…

Hadoop安装教程方式

本次教程首先介绍的是根据个人经验来安装hadoop环境&#xff0c;其次是林子雨老师Hadoop安装教程方式&#xff0c;大家可以自行选择其中一种方式来进行安装。另外&#xff0c;还附送根据个人经验进行虚拟机磁盘扩容&#xff0c;可以说是痛苦经历吧&#xff01; 个人安装hadoop…

Hadoop安装教程

1:先解决桌面向虚拟机黏贴问题。(在windos环境中下载好hadoop安装包) sudo apt-get autoremove open-vm-tools sudo apt-get update sudo apt-get install open-vm-tools-desktop reboot 2:下载openssh-server sudo apt-get install openssh-server 3:登陆ssh ssh local…

Hadoop安装教程(单机/伪分布式配置)

Hadoop安装文件&#xff0c;可以到Hadoop官网下载&#xff0c;也可以点击这里从百度云盘下载&#xff08;提取码&#xff1a;99bg&#xff09;&#xff0c;进入该百度云盘链接后&#xff0c;找到Hadoop安装文件hadoop-2.7.1.tar.gz&#xff08;本教程也可以用于安装Hadoop 2.7.…

手机突发bug?这几种Android 手机自动化测试工具,关键时刻轻松搞定你的手机!

主要分享软件测试的学习资源&#xff0c;帮助想转行、进阶、小白成为高级测试工程师…1、Monkey是Android SDK自带的测试工具&#xff0c;在测试过程中会向系统发送伪随机的用户事件流&#xff0c;如按键输入、触摸屏输入、手势输入等等&#xff09;&#xff0c;实现对正在开发…

安卓自动化测试框架

安卓APP测试框架总结&#xff1a; 基于Instrumentation的测试框架&#xff0c;比如Espresso&#xff0c;Robotium&#xff0c;Selendroid等&#xff0c;都不能支持跨APP使用。 如自动化测试中有跨APP操作&#xff0c;我们可以结合UiAutomator实现。支持BDD&#xff08;行为驱动…

自动化测试工具-Airtest

目录 一、Airtest介绍与安装二、Airtest基于图像识别自动控制手机App流程三、Airtest基于Poco的UI组件自动化控制App流程四、Airtest实现手机群控操作 一、Airtest介绍与安装 主要介绍区别&#xff0c;以及各种详细的教程可以看这篇文章&#xff0c;和selenium、appium都是用来…

手把手教你使用手机自动化测试工具Airtest

安卓手机自动化操作框架--Airtest 项目官网&#xff1a;http://airtest.netease.com/ 前言 Airtest是网易基于信息识别出品的一个自动化操作框架&#xff0c;可以模拟人工机械操作&#xff0c;对于日常中一些机械录入手机系统的信息完全可以使用Airtest来代替&#xff0c;实现录…

APP自动化测试

大框架参考&#xff1a;appium新手入门&#xff08;第2步Android和sdk安装与配置需要百度&#xff09; 前提&#xff0c;已经安装好了JDK&#xff0c;Maven 一、安装Android SDK 1、下载地址 http://tools.android-studio.org/index.php/sdk 2、设置Android环境变量 3、安…

android 自动化测试

Android 谈谈自动化测试 Android自动化测试原来可以这么简单 几款Android 应用自动化测试工具 Android自动化测试探索&#xff08;一&#xff09;adb详细介绍 - 周希 - 博客园 移动测试基础 Android&#xff1a;自动化兼容性测试 Android 上一次编写&#xff0c;随处测试 a…

手机自动化测试

随着手机被越来越多人使用&#xff0c;移动自动化也是趋势所在。 测试的时间是至关重要的&#xff0c;尤其是移动测试&#xff0c;软件测试生命周期中的手工测试的时间已经影响到了手机抢占最佳市场先机。因此自动化是不可避免的需求。 什么是手机自动化测试? 要回答这个问题&…

App 自动化测试

一、5分钟上手自动化测试——AirtestPoco快速上手 - Airtest Project DocsAirtest Project Docshttps://airtest.doc.io.netease.com/tutorial/1_quick_start_guide/自动化测试工具-Airtest_十一姐的博客-CSDN博客_airtest工具目录一、Airtest介绍与安装二、Airtest基于图像识别…

android 自动化测试工具

Auto.js https://github.com/hyb1996/Auto.js/tree/master/app/src/main/assets/sample 布局范围分析 https://blog.csdn.net/zy0412326/article/details/105140707 免费版auto.js apk 下载 https://zhuanlan.zhihu.com/p/90065914?from_voters_pagetrue&ivk_sa10243…

Github每日精选(第65期):手机自动化测试工具maestro

Maestro 现在手机ui的测试工具已经很多了&#xff0c;为什么还要多一款Maestro 呢&#xff1f;我们来看看Maestro 的介绍。 Maestro 是为您的移动应用程序自动化 UI 测试的最简单方法。 github的地址在这里。 Maestro 建立在其前辈&#xff08;Appium、Espresso、UIAutomat…

手机自动化测试工具实现

手机自动化测试工具实现 一、PC 端监控工具实现 1、手机自动化可解决的问题 ( 1 ) 压力测试&#xff1a;一些连续不断的操作&#xff0c;比如反复切换歌曲播放及联网操作等 ( 2 ) 极限临界测试&#xff1a;一些极限条件的构造&#xff08;创建多个列表&#xff09;及输入字…

五款Android 应用的自动化测试工具

如今自动化测试已经应用到每天的测试中。这不足为奇&#xff0c;因为自动化测试在测试过程中节约了时间&#xff0c;还能避免包括人为因素造成的测试错误和遗漏。 自动化测试工具选择很多。一些是开源的&#xff0c;一些非常贵。一些自动化工具是几年前出的,一些才在市场上出来…

Android 应用有哪些自动化测试工具

目录 简述&#xff1a; 1、Monkey 测试 2、 MonkeyRunner 测试 3、Robotium测试 4、Ronaorex测试 5、Appium测试 6、UI Automator 测试 7、TestBird 测试 简述&#xff1a; 本文介绍几款流行的 Android应用自动化测试工具。希望对你有帮助&#xff0c; Monkey测试&…

六款Android 应用的自动化测试工具

如今自动化测试已经应用到每天的测试中。这不足为奇&#xff0c;因为自动化测试在测试过程中节约了时间&#xff0c;还能避免包括人为因素造成的测试错误和遗漏。 自动化测试工具选择很多。一些是开源的&#xff0c;一些非常贵。一些自动化工具是几年前出的,一些才在市场…