Hadoop分布式集群搭建过程和踩过的坑

这篇博客记录了一位大数据新手在搭建Hadoop分布式集群过程中遇到的问题和解决方法,包括准备服务器、配置SSH免密登录、上传安装包、解压修改配置文件以及启动和检查服务。特别提到了配置hostname、SSH免密登陆的坑和防火墙设置的重要性。

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

大数据程序员新手一枚,最近做一个自动化部署的功能,部署的的是hdfs,hbase等大数据生态圈的组件,因为项目的集群上做测试的话容易破坏现有的环境,借着服务器的空闲自己弄了一套简单的Hadoop环境,踩了几个坑,特记录一下。

第一部分:准备搭建hdfs的虚拟机并且配置相应的环境。

第二部分:解压安装文件,修改配置文件,分发到各个主机节点上。

第三部分:启动hadoop集群环境,并检测是启动成功。

详细:

一,准备服务器,这个可以通过安装vmware的VMware Workstation Pro工具使用linux的镜像文件即可,这次是公司环境上有使用比较少的服务器,就直接拿来用了。这里用了三台服务器master,slave1,slave2.

   1)第一个当然是安装JDK了,这里可以使用rpm安装,也可以直接下载源码文件解压安装

              JDK:https://pan.baidu.com/s/1XFuU99-zj0nFPCWbyechxw    提取码:2i1m

               配置hostname并将host的映射写入/etc/hosts的文件中

                hostname的配置需要修改文件  /etc/sysconfig/network  通过vi 命令直接修改或者通过ftp工具下载修改再上传

                 内容修改如下:

                  NETWORKING=yes
                  HOSTNAME=主机名称

                /etc/hosts修改内容格式如下:

                主机IP 主机名称

           修改完成需要重新启动服务器才会生效,重启以后执行hostname的命令,出现的主机名称和设置的一样说明设置成功了

   2)配置ssh免密登陆(在这个地方有一个坑,踩了半天终于发现问题)

            因为我在刚开始的时候就创建了一个对应的.ssh的文件夹,不是通过执行命令ssh-keygen -t rsa自动生成的文件,二者成

              的方式不同,所以权限也不一样,这样在配置完成以后,ssh连接本机的时候总是不能连接成功

               .ssh的目录权限一般为700 可以通过chmod 700 .ssh修改目录权限。

                生成的文件权限也有要求:

                  

                按照这个给权限就没问题了。

                在执行ssh-keygen -t rsa以后将生成的id_rsa.pub中的内容写到authorized_keys中,或者执行如下命令:

                ssh-copy-id -i ~/.ssh/id_rsa.pub 主机名

                在master的主机上执行这个命令,主机名分别为master和slave1,slave2

                 完成以后在master上通过ssh连接本机和其他节点查看是否能免密登陆

 

二、上传安装包并解压修改配置文件

      安装包:hadoop-2.6.0-cdh5.13.1.tar.gz   下载地址:http://archive.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.13.1.tar.gz

       解压命令:tar -zxvf hadoop-2.6.0-cdh5.13.1.tar.gz 

      将安装文件上传到指定的安装目录执行解压命令,创建软连接指向解压后的文件hadoop-2.6.0-cdh5.13.1

           ln -sf  安装目录/hadoop-2.6.0-cdh5.13.1  安装目录/hadoop

修改配置文件:

hadoop-env.sh:   

             export JAVA_HOME=java_home的路径

core-site.xml:   
             <configuration>
                <property>
                    <name>fs.default.name</name>
                    <value>hdfs://hostname:8020</value>
                 </property>
            </configuration>

        hdfs-site.xml:                                      
                    <configuration>
                      <property>
                              <name>dfs.namenode.name.dir</name>
                               <value>/data00/dfs/nn/image</value>
                     </property>
                     <property>
                            <name>dfs.datanode.data.dir</name>
                         <value>/data00/dfs/dn,/data01/dfs/dn,/data02/dfs/dn</value>
                    </property>
               </configuration>

mapred-site.xml:

       <property>
                    <name>mapreduce.framework.name</name>
                   <value>yarn</value>
                 </property>

yarn-site.xml:

                              <property>
                                                   <name>yarn.nodemanager.aux-services</name>
                                                   <value>mapreduce_shuffle</value>
                                        </property>
                                       <property>
                                                 <name>yarn.resourcemanager.hostname</name>
                                                 <value>ynzy0.cshdp.com</value>
                                        </property>

slaves:

   将datanode节点的hostname添加到该文件中即可

分发:将配置好的hadoop的文件发送到各个节点上

               scp  -r hadoop-2.6.0-cdh5.13.1 user@hostip:安装路径/

最后启动服务:

在master上进入安装目录hadoop的文件的bin目录,执行执行./hdfs namenode -format对namenode进行格式化

格式化,完成以后启动进入sbin目录执行./start-all.sh即可

完成以后jsp查看各个机器上的服务:

namenode:

 

datanode:

启动成功。

注意需要关闭防火墙和开通相应的端口,在这个地方我也踩坑半天,就是防火墙没关闭导致。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值