千家信息网

Hadoop集群环境搭建

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,第一部分:准备Linux环境创建虚拟机安装系统的步骤在这里就不讲了,详细步骤请看本人其他文章打开建好的虚拟机一、修改Hostname1、 临时修改hostnamehostname bigdata-01
千家信息网最后更新 2026年11月03日Hadoop集群环境搭建

第一部分:准备Linux环境
创建虚拟机安装系统的步骤在这里就不讲了,详细步骤请看本人其他文章
打开建好的虚拟机
一、修改Hostname
1、 临时修改hostname

hostname bigdata-01.liu.com

这种修改方式,系统重启后就会失效
2、 永久修改hostname

vim /etc/sysconfig/network

打开后编辑如下内容

NETWORKING=yes #使用网络
HOSTNAME=bigdata-01.liu.com #设置主机名

二、配置Host

vim /etc/hosts

添加如下内容

172.18.74.172 bigdata-01.liu.com

三、关闭防火墙

查看防火墙状态

service iptables status

临时关闭防火墙

service iptables stop

永久关闭防火墙(需要重启才能生效)

chkconfig iptables off

四、关闭selinux
selinux是Linux一个子安全机制,学习环境可以将它禁用

vim /etc/sysconfig/selinux

把SELINUX设置成disabled

SELINUX=disabled

五、安装JDK
检测系统是否安装jdk

java -version

如果显示有openjdk需要先卸载,再安装Oracle的jdk(其他版本的jdk对hadoop的一些命令不是很支持)

rpm -qa | grep java


卸载openjdk,.noarch的文件可以不用删除

rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.191-2.6.15.4.e17_5.x86_64
rpm -e --nodeps java-1.7.0-openjdk-1.7.0.191-2.6.15.4.e17_5.x86_64

然后再次使用rpm -qa | grep java 查看是否已经卸载openjdk,如果还有就再卸载一遍

用xshell远程工具远程虚拟机,安装lrzsz命令

yum -y install lrzsz

导入jdk包并解压到 /opt/modules目录下

rz
tar -zvxf jdk-8u181-linux-x64.tar.gz -C /opt/modules

添加环境变量
设置JDK的环境变量 JAVA_HOME,需要修改配置文件/etc/profile,追加

export JAVA_HOME="/opt/modules/jdk1.8.0_181"
export PATH=$JAVA_HOME/bin:$PATH


修改完毕后,执行 source /etc/profile 使修改生效
再次执行 java -version,可以看见已经安装完成

第二部分:hadoop安装
完全分部式是真正利用多台Linux主机来进行部署Hadoop,对Linux机器集群进行规划,使得Hadoop各个模块分别部署在不同的多台机器上。
一、环境准备
1.克隆虚拟机
Vmware左侧选中要克隆的机器,这里对原有的BigData01机器进行克隆,虚拟机菜单中,选中管理菜单下的克隆命令。

选择"创建完整克隆",虚拟机名称为BigData02,选择虚拟机文件保存路径,进行克隆。

再次克隆一个名为BigData03的虚拟机。
2.配置网络
修改网卡名称
在BigData02和BigData03机器上编辑网卡信息。执行sudo vim /etc/udev/rules.d/70-persistent-net.rules命令。因为是从BigData01机器克隆来的,所以会保留BigData01的网卡eth0,并且再添加一个网卡eth2。并且eth0的Mac地址和BigData01的地址是一样的,Mac地址不允许相同,所以要删除eth0,只保留eth2网卡,并且要将eth2改名为eth0。将修改后的eth0的mac地址复制下来,修改network-scripts文件中的HWADDR属性。

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

修改网络参数:

BigData02机器IP改为172.18.74.173

BigData03机器IP改为172.18.74.174
!!如果是在真实的服务器里搭建Hadoop环境就需要再建两个虚拟机,按照上面的步骤再来一遍了,服务器里克隆主机不是很理想!!
3.配置Hostname以及hosts
BigData02配置hostname为 bigdata-02.liu.com

BigData03配置hostname为 bigdata-03.liu.com
BigData01、BigData02、BigData03三台机器hosts都配置为:

172.18.74.172 bigdata-01.liu.com
172.18.74.173 bigdata-02.liu.com
172.18.74.174 bigdata-03.liu.com

4.配置Windows上的SSH客户端

在本地Windows中的SSH客户端上添加对BigData02、BigData03机器的SSH链接

二、服务器功能规划

bigdata-01.liu.combigdata-02.liu.combigdata-03.liu.com
NameNodeResourceManageSecondaryNameNode
DataNodeDataNodeDataNode
NodeManagerNodeManagerNodeManager
HistoryServer

三、在第一台机器上安装新的Hadoop
创建hadoop目录

mkdir -p /opt/modules/app

导入Hadoop压缩包并解压到Hadoop目录

rz
tar -zxf /opt/sofeware/hadoop-2.7.4-with-centos-6.7.tar.gz -C /opt/modules/app/

切换到/opt/modules/app/hadoop-2.7.4/etc/hadoop目录,配置该目录下的Hadoop JDK路径即修改hadoop-env.sh、mapred-env.sh、yarn-env.sh文件中的JDK路径:

export JAVA_HOME="/opt/modules/jdk1.8.0_181"

配置core-site.xml
vim core-site.xml



fs.defaultFS
hdfs://bigdata-01.liu.com:8020


hadoop.tmp.dir
/opt/modules/app/hadoop-2.7.4/data/tmp


dfs.namenode.name.dir
file://${hadoop.tmp.dir}/dfs/name


dfs.datanode.data.dir
file://${hadoop.tmp.dir}/dfs/data

fs.defaultFS为NameNode的地址。

hadoop.tmp.dir为hadoop临时目录的地址,默认情况下,NameNode和DataNode的数据文件都会存在这个目录下的对应子目录下。应该保证此目录是存在的,如果不存在,先创建。

配置hdfs-site.xml
vim hdfs-site.xml



dfs.namenode.secondary.http-address
bigdata-03.liu.com:50090

dfs.namenode.secondary.http-address是指定secondaryNameNode的http访问地址和端口号,因为在规划中,我们将BigData03规划为SecondaryNameNode服务器,所以这里设置:bigdata-03.liu.com:50090
配置slaves
vim slaves

bigdata-01.liu.com
bigdata-02.liu.com
bigdata-03.liu.com

slaves文件是指定HDFS上有哪些DataNode节点

配置yarn-site.xml
vim yarn-site.xml



yarn.nodemanager.aux-services
mapreduce_shuffle


yarn.resourcemanager.hostname
bigdata-02.liu.com


yarn.log-aggregation-enable
true


yarn.log-aggregation.retain-seconds
106800

根据规划yarn.resourcemanager.hostname这个指定resourcemanager服务器指向bigdata-02.liu.com

yarn.log-aggregation-enable是配置是否启用日志聚集功能

yarn.log-aggregation.retain-seconds是配置聚集的日志在HDFS上最多保存多长时间
配置mapred-site.xml
从mapred-site.xml.template复制一个mapred-site.xml文件

cp mapred-site.xml.template mapred-site.xml

vim mapred-site.xml



mapreduce.framework.name
yarn


mapreduce.jobhistory.address
bigdata-01.liu.com:10020


mapreduce.jobhistory.webapp.address
bigdata-01.liu.com:19888

mapreduce.framework.name设置mapreduce任务运行在yarn上

mapreduce.jobhistory.address是设置mapreduce的历史服务器安装在BigData01机器上

mapreduce.jobhistory.webapp.address是设置历史服务器的web页面地址和端口号
四、设置SSH无密码登录
Hadoop集群中的各个机器间会相互地通过SSH访问,每次访问都输入密码是不现实的,所以要配置各个机器间的SSH是无密码登录的
在BigData01上生成公钥

ssh-keygen -t rsa
一路回车,都设置为默认值,然后再当前用户的Home目录下的.ssh目录中会生成公钥文件(id_rsa.pub)和私钥文件(id_rsa), .ssh是隐藏文件在home目录下ls -a就会显示出来

分发公钥

ssh-copy-id bigdata-01.liu.com
ssh-copy-id bigdata-02.liu.com
ssh-copy-id bigdata-03.liu.com

五、分发Hadoop文件
首先在其他两台机器上创建存放Hadoop的目录

mkdir -p /opt/modules/app

通过Scp分发

du -sh /opt/modules/app/hadoop-2.7.4/share/doc
scp -r /opt/modules/app/hadoop-2.7.4/ bigdata-02.liu.com:/opt/modules/app
scp -r /opt/modules/app/hadoop-2.7.4/ bigdata-03.liu.com:/opt/modules/app

格式NameNode
在NameNode机器bigdata-01上执行格式化:

/opt/modules/app/hadoop-2.7.4/bin/hdfs namenode -format

格式化后在 /opt/modules/app/hadoop-2.7.4/data/tmp/dfs/data/ 目录下会生成一个current目录,里面有一系列文件

注意:
如果需要重新格式化NameNode,需要先将原来NameNode和DataNode下的文件全部删除,不然会报错,NameNode和DataNode所在的目录是在core-site.xml中hadoop.tmp.dir、dfs.namenode.name.dir、dfs.datanode.data.dir属性里配置的。
因为每次格式化,默认是创建一个集群ID,并写入NameNode和DataNode的VERSION文件中(VERSION文件所在目录为dfs/name/current 和 dfs/data/current),重新格式化时,默认会生成一个新的集群ID,如果不删除原来的目录,会导致namenode中的VERSION文件中是新的集群ID,而DataNode中是旧的集群ID,不一致时会报错。

六、启动集群
切换到/opt/modules/app/hadoop-2.7.4目录下
启动HDFS

/opt/modules/app/hadoop-2.7.4/sbin/start-dfs.sh

jps查看已经启动的服务

启动YARN

/opt/modules/app/hadoop-2.7.4/sbin/start-yarn.sh

也可以使用这条命令一步到位

/opt/modules/app/hadoop-2.7.4/sbin/start-all.sh

在BigData02上启动ResourceManager:

sbin/yarn-daemon.sh start resourcemanager

启动日志服务器
因为我们规划的是在BigData03服务器上运行MapReduce日志服务,所以要在BigData03上启动

/opt/modules/app/hadoop-2.7.4/sbin/mr-jobhistory-daemon.sh start historyserver


查看HDFS Web页面
http://bigdata-01.liu.com:50070/
如果域名没有解析可以在搜索栏中输入ip+端口如:

172.18.74.172:50070


查看YARN Web 页面
http://bigdata-02.liu.com:8088/cluster

172.18.74.173:8088/cluster


好啦,到这里Hadoop集群环境的搭建就完成啦。建议Ha友们搭建Hadoop环境时先去了解一下各个组件是什么这样更有利于你顺利的完成Hadoop环境的搭建,我的一些同学他们学这个比较早,那时候也没人了解Hadoop是什么,听他们说搭建了10天半个月的才搭建出来,我就是在他们的影响下逐渐了解了点Hadoop的知识,用了一天多的时间搭建好了,搭建过程中还遇到了不少突发情况,所以如果搭建过程中没有什么意外情况再加上提前了解过,半天就能搞定了,千万不要遇到困难就放弃,坚持一定会胜利的!!
。。。从前车马很慢,书信很远,一生只够爱一个人!!!

目录 配置 文件 机器 服务 环境 服务器 集群 地址 格式 规划 命令 网卡 日志 防火墙 防火 主机 公钥 再次 密码 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网佳科技有限公司 互联网科技工作委员会毛军 互联网科技生活的内容 互联网科技产品 南山科技园互联网公司有哪些 湖南诚度互联网科技有限公司 岳阳华臻互联网科技有限公司 江阴互联网智能科技产品进口 合肥互联网科技公司公章图片 雨阳互联网卡科技有限公司 启辰互联网科技 杭州披云加互联网科技有限公司 美国互联网科技公司 山东大美朱楼互联网科技有限公司 抖集互联网科技技术咨询 互联网时代高科技布局 互联网科技和医药行业 盐城市攀科互联网科技有限公司 互联网领先科技成果宣传视频 银川新华互联网科技学校招聘 中国互联网科技工作委员会毛军 广州互联网科技公司 致聘互联网科技 互联网养老 桔豆科技 深圳互联网科技怎么样 未来五年的互联网科技 互联网新科技动漫ppt素材 北京市互联网新科技 下一代互联网重大应用科技园 35岁以上互联网科技行业
0