Hadoop集群搭建教程

下载Hadoop,JDK

Hadoop: https://archive.apache.org/dist/hadoop/common/
在这里插入图片描述

Hadoop版本不要选择太高,毕竟用的人不是太多,除了问题不好解决你说是不,JDK版本也是,版本也不要选择太高,向前两三个版本最好。我选择的hadoop版本是2.7.6版,JDK是Java SE 8,
JDK:https://www.oracle.com/java/technologies/javase-downloads.html
在这里插入图片描述

安装JDK,Hadoop

将下载的压缩包放在一个文件夹内,将压缩包解压到另一个文件夹内
如下命令是将jdk压缩文件解压到/opt/moudle文件内,Hadoop也一样。

tar -zxvf jdk-8u281-linux-x64.tar.gz -C /opt/moudle/

配置JDK,Hadoop环境

修改配置文件 目录:/etc/profile 命令:vi /etc/profile
添加如下内容:

export JAVA_HOME=(这里填写你Java解压后的文件路径,没有两边的括号)
export PATH=$PATH:$JAVA_HOME/bin
export HADOOP_HOME=(这里填写你hadoop解压后的文件路径,没有两边的括号)
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

配置文件修改完后不会立即生效,需要使用如下命令:

source /etc/profile

此时如果你前面做的都对此时在终端使用java命令有如下界面,则说明JDK配置成功
在这里插入图片描述
此时如果你前面做的都对此时在终端使用hadoop命令则有如下界面,则说明hadoop配置成功
在这里插入图片描述

更改Hadoop配置文件

如果进行到这一步下面就是hadoop配置的核心了
hadoop完全分布式的配置需要修改的配置文件比较多,
以下是需要修改的配置文件,后面会讲每个配置文件的作用

/ets/hosts
/ets/hostname
hadoop-env.sh
maper-env.sh
yarn-env.sh
core-sit.xml
hdfs-sit.xml
yarn-sit.xml
mepre-sit.xml
slaves

第一个配置文件是修改IP到主机名的映射,第二个是修改本机主机名

以下是hosts这个配置文件要修改的内容
在这里插入图片描述
hostname配置文件内直接写你想给本机起的名字即可,建议集群机器名要有个规律,如下即可
在这里插入图片描述
下面就是修改和集群密切相关的配置文件了
首先修改以下三个配置文件,文件位置在你解压后的文件路径下的 etc/hadoop/文件夹下,注意不是根目录下的etc文件下

hadoop-env.sh
maper-env.sh
yarn-env.sh

以上三个配置文件修改的内容都一样,都是为了配置JAVA_HOME,三个文件内都添加以下内容即可

export  JAVA_HOME=(这里填写你Java解压后的完整文件路径,没有两边的括号)

core-sit.xml

这个配置文件主要是设置namenode的位置,即哪台主机为namenode。在此文件内添加如下内容

<!-- 指定Hadoop运行时namenode的位置 -->
    <property>
            <name>fs.defaultFS</name>
            <value>hdfs://hadoop001:9000</value>
    </property>
<!-- 指定Hadoop运行时产生文件的存储目录 -->
    <property>
            <name>hadoop.tmp.dir</name>
            <value>/opt/moudle/hadoop-2.7.6/data/tmp</value>
    </property>

hdfs-sit.xml

这个配置文件主要配置集群中文件的副本数量,不配置默认为3个副本,其中也可配置web端浏览地址。在此文件添加如下内容

<configuration>
<!-- 指定Hadoop运行时文件的副本数-->
        <property>
                 <name>dfs.replication</name>
                 <value>2</value>
        </property>
<!-- 指定Hadoop运行是wed可视化端的浏览地址 -->
        <property>
                 <name>dfs.namenode.secondary.http-address</name>
                 <value>hadoop002:50090</value>
        </property>
        <property>
                 <name>dfs.namenode.secondary.https-address</name>
                 <value>hadoop002:50091</value>
        </property>
</configuration>

yarn-sit.xml

此文件是

<configuration>

<!-- Site specific YARN configuration properties -->
<!-- Reducer获取数据的方式 -->
    <property>
            <name>yarn.nodemanager.aux-services</name>
            <value>mapreduce_shuffle</value>
    </property>
<!--指定YARN的ResourceManager的地址 -->
    <property>
            <name>yarn.resourcemanager.hostname</name>
            <value>hadoop001</value>
    </property>

mepre-sit.xml

此文件是为了配置历史服务器的web端的地址,和hdfs-sit.xml中的部分配置作用差不多。在此文件中添如下内容

<!-- 历史服务器端地址 -->
    <property>
            <name>mapreduce.jobhistory.address</name>
            <value>hadoop002:10020</value>
    </property>
<!-- 历史服务器web端地址 -->
    <property>
            <name>mapreduce.jobhistory.webapp.address</name>
            <value>hadoop002:19888</value>
    </property>
    <property>
            <name>mapreduce.framework.name</name>
            <value>yarn</value>
    </property>

ssh免密登录

接下来就是配置ssh的免密登录,假如你的集群机器多了起来你总不能启动集群一个一个的去启动吧,配置ssh就是为了在namenode能够将集群的所有机器全部启动起来。
首先使用如下命令生成ssh连接需要使用的秘钥和公钥,连续三次回车即可

ssh-keygen -t rsa

此时在切换到ssh配置文件夹内

cd  ~/.ssh/

此时你会发现本文件夹下有以下三个文件,其中id_rsa就是刚才生成的秘钥,id_rsa.pub即为刚才生成的公钥,我们只需吧公钥拷给其他主机就可实现免密登录
在这里插入图片描述
现在使用如下命令将生成的公钥拷贝到其他主机

ssh-copy-id (拷贝给目的主机的主机名或者目的主机IP,没有括号)
注意:拷贝到目的主机的时候不要忘了也给本机拷贝一份,不然你试试ssh你本机试试要不要密码,是不是很神奇,连接自己居然还要密码

slaves

现在开始修改slaves文件,在此文件内只需要填写集群内的所有主机名即可,一行一个主机名,中间不要有空格,不然会出错

注意:如果你的hadoop版本较高你在此文件夹下应该是没有一个叫做slaves的文件,对应的文件应该是workers,这两个文件作用是一样的,

集群在启动的时候是根据这个文件内的主机名来判断哪些主机在本机群内,因此才会去启动这些主机

格式化namenode

在第一次的时候一般不需要进行格式化namenode,格式化namenode的命令如下,

hdfs namenode -format	
注意:如果集群之前启动过,此时需要将集群的临时文件(core-site.xml配置文件指定的文件)删除后或者移动到其他地方再进行格式化,

启动集群

如果以上你都配置正确的话,现在可以启动整个集群了,
使用如下命令即可开启集群内(slaves文件内)的所有机器

start-dfs.sh

此时可以使用jps命令查看当前主机启动的java进程,如果如果集群启动正常的话在namenode主机下则会有如下显示
在这里插入图片描述
可以看到此时namenode主机已经将namenode和datanode启动起来
下面在配置maper的主机上使用如下命令启动集群的资源管理

start-yarn.sh 

此时在再使用jps查看java进程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值