Linux Hadoop 2.7.3 集群部署

本文详细介绍了如何在CentOS系统上搭建Hadoop 2.7.3集群,包括准备阶段、设置SSH免密登录、安装Java环境、配置Hadoop、创建集群节点以及启动和测试Hadoop集群。通过SSH免密登录简化集群管理,通过配置Hadoop环境实现分布式计算。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、说明:

到写本文时间为止,3.0没有发布稳定的版本,所以本文基于2.7.3
系统为centOS ,用 debian核心的linux(比如ubuntu) 基本设置相同,只要把yum换成apt-get,推荐使用更稳定的centOS

二、集群部署

1、 准备

理论实验室没有服务器,我利用自己的电脑和舍友的电脑搭建了1个namenode 7个datanode的分布式集群,虚拟机为VMware Workstation,虚拟机部分有问题可以找虚拟机教程,这里不过多讲解

第一步创建新的虚拟机:
我的配置如下:
虚拟机
这里cpu内存根据自己的机器配置,但是注意,网络适配器一定设置成桥接

第二步 安装系统:
在centOS官网下载centOS 下载minimal版本,也就是只有linux内核和少量软件的版本,因为节点只用来计算,所以尽可能的少运行不必要的程序
VMware中选择虚拟机创建位置尽可能选择SSD,hadoop处理数据会大量读取磁盘,ssd在随机存储上会显著加快性能

第三步 配置CentOS:
请直接用root用户登录,如果没有root用户登录,使用

$ sudo passwd
输入密码:
确认密码:

$ su
输入root密码:

获取root权限,在root用户下会省去许多麻烦

设置网卡的IP地址、网关、DNS(此处CentOS跟ubuntu不一样,ubuntu直接在界面右上角选择网络设置就行)

# vi /etc/sysconfig/network-scripts/ifcfg-eno16777736

下面是我的设置:
这里写图片描述
注意IP地址、网关设置成自己网络的,如果用路由器wifi上网,那么网关就是路由器ip地址,本机ip一定记住

然后安装神器vim:

# yum install vim

配置host:

#vim /etc/hosts

我的配置如下:

这里写图片描述

这里前面的ip地址是集群节点的ip,后面是名称,以后可以直接用后面的名称访问,等效于ip地址

2、设置SSH免密登录

确认是否安装ssh,即使是minimal版本,CentOS也安装了ssh,如果没有用下面命令安装

# yum install ssh

ssh协议是hadoop集群节点之间通信的根本
首先在root根目录下创建.ssh文件夹:

# mkdir /root/.ssh
# cd ~/.ssh

然后,生成秘钥,此处一定用RSA!!!!!尤其是ubuntu用户,因为ssh服务器配置文件里很可能没有DSA的相关设置

# ssh-keygen

然后一路回车,默认生成了一个无密码的RSA公钥和RSA私钥分别为 id_rsa.pub id_rsa
使用ls命令可以看见生成了三个文件,(其中authorized_keys一般没有):
这里写图片描述
known_hosts是用来写入信任节点的,否则每次会进行询问
新建authorized_keys文件:

# touch authorized_keys

这个文件用来写入其他节点的rsa公钥,这样,通过非对称加密实现免密登录
首先将本机公钥写入

# cat id_rsa.pub >> authorized_keys

然后ssh登录本机

# ssh master

如果出现(yes/no)输入yes,这是写入known_hosts,只要这一次,以后不需要
这样就成功了:
这里写图片描述

3、 安装java环境

无论是debain核心还是redhat核心的linux系统都已经安装了openJDK,可以直接使用,但是Oracle有一部分并未开放给openJDK,所以我们还是安装一下Oracle的JDK,去官网下载linux版本的JDK:jdk-8u111-linux-x64.rpm,这里注意要一次下完,因为下载地址不是静态的,并不支持断点续传

卸载openJDK

# rpm -qa | grep 
你的openjdk版本
#yum -y remove 上面显示的版本

安装Oracle JDK

# rpm -ivh jdk-8u111-linux-x64.rpm

添加环境变量

# vim /etc/profile

在最后追加

export JAVA_HOME=/usr/java/jdk1.8.0_111 
export PATH=$JAVA_HOME/bin:$PATH 
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar 

注意 JAVA_HOME这个变量的路径可能有所不同,写成自己系统的

然后使其生效:

# source /etc/profile 

验证:

java -version

出现如下画面表示成功,我安装的时候还是_101现在应该是_111了

这里写图片描述

4、配置hadoop

在hadoop官网下载-编译好的二进制文件,如果想要学习hadoop的源码,请下载-src的原码版本

# cd
# wget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.7.3/hadoop-2.7.3.tar.gz

解压

# tar -zvf hadoop-2.7.3.tar.gz

配置hadoop环境,这里依然可以用/etc/profile一样的

# vim ~/.bashrc

追加

export HADOOP_HOME=/root/hadoop-2.7.3
PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

生效:

source ~/.bashrc

这一步没有也是可以的,但是设置环境变量以后使用/bin 和/sbin中的脚本命令就不用进入这两个文件夹内了

然后我们需要配置hadoop的一些设置

首先进入hadoop文件夹:

# cd /root/hadoop-2.7.3/etc/hadoop

我们需要修改这几个文件:

hadoop-env.sh 
yarn-env.sh
core-site.xml
hdfs-site.xml
mapred-site.xml
yarn-site.xml
slaves 

一一展开:
1

# vim hadoop-env.sh

javahome这行去掉注释并改成自己的

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

2

# vim yarn-env.sh

javahome这行去掉注释并改成自己的

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

3

# vim core-site.xml

改成如下

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!--
  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值