Hadoop集群环境搭建教程

需要的安装包:

  • Jdk压缩包
  • hadoop压缩包

注意:下载安装包的时候最好不要下载最新版本,建议下载上一个版本。

jdk 安装很简单,把压缩文件解压,解压后的目录加入环境变量就可以了,这里就不详细说了,重点放在hadoop集群环境搭建。

下面开始部署集群

一、使用vmware创建两台虚拟机,我使用的是centos7,设置hostname,关闭防火墙。

  1. 虚拟机创建好之后修改主机名,一台改为master,一台slaver,
    sudo vi /etc/hostname
  2. 为了能让master跟slaver直接能够ping通,需要修改它们的ip地址,分别在两台虚拟机上进行同样的操作,ifconfig 查找ip,copy下来

    然后输入下面命令修改ip
sudo vi /etc/hosts


图中master前面的ip就是master节点的真实ip,slaver对应slaver节点的真实ip,两台虚拟机都要设置。
3. 关闭防火墙
centeros7之前版本跟之后版本使用的防火墙不一样,所以关闭方法也有所区别,可以参考centos7防火墙关闭

二、配置ssh免密登录

先检查一下自己的虚拟机是否已经安装好了ssh,centos7默认已经装好了。

sudo ps -e |grep ssh


如图所示就是已经装好了,没装好的参考ssh安装
接下来的操作很重要,很多人在这里卡很久。

  1. ssh-keygen -t rsa -P “” //(P是要大写的,后面跟"")
    注:回车后会在~/.ssh/下生成两个文件:id_rsa和id_rsa.pub这两个文件是成对出现的

  2. 进入 ~/.ssh,将id_rsa.pub追加到authorized_keys授权文件中,开始是没有authorized_keys文件的。

cd ~/.ssh

authorized_keys和known_hosts是后面生成的

cat id_rsa.pub >> authorized_keys

这个命令执行后终端执行 ssh master,如果不能连接成功说明追加写入失败,需要执行 ssh-copy-id -i ~/.ssh/id_rsa.pub master这个命令。
接下来要把master的公钥追加到slaver的authorized_keys里面,在master执行下面代码。

ssh-copy-id -i ~/.ssh/id_rsa.pub slaver
  1. 验证免密登录
    ssh master
    ssh slaver
    能连接上说明已经设置好了免密登录。如果要输入密码,一定是公钥没有配好,可以重新操作一遍,也可以找ssh免密登录设置详细教程,千万别信网上那些乱七八糟的要修改其它文件的教程。

三、集群搭建(如无特别说明,接下来的操作都在master进行)

1. 下载 Hadoop并解压,建议不要下载最新版,下载地址为:http://archive.cloudera.com/cdh5/cdh/5/

tar -zxvf hadoop-2.7.7.tar.gz

2. 添加环境变量

sudo vi /etc/profile

添加

export HADOOP_HOME=/home/admin/files/hadoop-2.7.7
export  PATH=${HADOOP_HOME}/bin:$PATH

HADOOP_HOME 的路径记得改为自己的hadoop路径。

执行 source 命令,使得配置立即生效:

source /etc/profile

3. 修改配置,这一步很多教程有坑。

  • 先在/home/admin/files/hadoop-2.7.7路径5个文件夹:
    • /home/admin/files/hadoop-2.7.7/hdfs
    • /home/admin/files/hadoop-2.7.7/name
    • /home/admin/files/hadoop-2.7.7/datanode
    • /home/admin/files/hadoop-2.7.7/namenode
    • /home/admin/files/hadoop-2.7.7/hdfs/tmp

进入 ${HADOOP_HOME}/etc/hadoop 目录下,修改配置文件。各个配置文件内容如下:

  1. hadoop-env.sh
    指定JDK的安装位置,切记把路径替换成你自己的
    export JAVA_HOME=/usr/java/jdk1.8.0_201/

  2. core-site.xml

<configuration>
    <property>
        <!--指定 namenode 的 hdfs 协议文件系统的通信地址-->
        <name>fs.defaultFS</name>
        <value>hdfs://master:8020</value>
    </property>
    <property>
        <!--指定 hadoop 集群存储临时文件的目录-->
        <name>hadoop.tmp.dir</name>
        <value>/home/admin/files/hadoop-2.7.7/hdfs/tmp</value>
    </property>
</configuration>
  1. hdfs-site.xml
<property>
      <!--namenode 节点数据(即元数据)的存放位置,可以指定多个目录实现容错,多个目录用逗号分隔-->
    <name>dfs.namenode.name.dir</name>
    <value>/home/admin/files/hadoop-2.7.7/namenode</value>
</property>
<property>
      <!--datanode 节点数据(即数据块)的存放位置-->
    <name>dfs.datanode.data.dir</name>
    <value>/home/admin/files/hadoop-2.7.7/datanode</value>
</property>
  1. yarn-site.xml
<configuration>
    <property>
        <!--配置 NodeManager 上运行的附属服务。需要配置成 mapreduce_shuffle 后才可以在 Yarn 上运行 MapReduce 程序。-->
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <!--resourcemanager 的主机名-->
        <name>yarn.resourcemanager.hostname</name>
        <value>master</value>
    </property>
</configuration>
  1. mapred-site.xml
<configuration>
    <property>
        <!--指定 mapreduce 作业运行在 yarn 上-->
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

2、3、4步骤的value千万要注意了,都是对应你们自己主机的真实值,这里粗心能坑你两三天。

四、分发程序

将 Hadoop 安装包分发到其他两台服务器,分发后建议在这两台服务器上也配置一下 Hadoop 的环境变量。

将安装包分发到slaver
scp -r /home/admin/files/hadoop-2.7.7/ slaver:/home/admin/files

五、设置集群群发

设置${HADOOP_HOME}/etc/hadoop目录下的slaves文件,把所有从节点名称添加进去,并在所有的节点上都要进行这步操作。

cd ${HADOOP_HOME}/etc/hadoop
sudo vim slaves

在这里插入图片描述

六、初始化

在 Hadoop001 上执行 namenode 初始化命令:

hdfs namenode -format
前面步骤如果没报错,这步报错的话,一定是步骤四的路径设置有问题。

七、启动集群

进入到 master 的 ${HADOOP_HOME}/sbin 目录下,启动 Hadoop。此时 slaver 上的相关服务也会被启动:

启动dfs服务
start-dfs.sh
启动yarn服务
start-yarn.sh

八、查看集群

在每台服务器上输入jps命令查看服务进程,检查master 主机是否开启了以下进程,缺少以下任意一项,环境都有问题。
ResourceManager
SecondaryNameNode
NodeManager
NameNode
DataNode
检查slaver是否开启了DataNode进程。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

逆向三十六计

赏个馒头,吃饱了才有力气搬砖哦

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值