前期准备:

     1.我这里用了三台虚拟机,.默认已经配置好静态IP和IP域名映射,它们相互之间可以ping通

         第一台:192.168.174.131      hadoopNumber01.medal.com

         第二台:192.168.174.132      hadoopNumber02.meda.com

         第三台:192.168.174.133      hadoopNumber03.medal.com

     2.虚拟机最好不要连上网,因为我们后面用的是离线方式安装

一、搭建前的系统设置

    1.将三台虚拟机切换到root用户,禁用IPv6

      命令是:#echo "alias net-pf-10 off"  >> /etc/modprobe.d/dist.conf

          #echo "alias ipv6 off"  >> /etc/modprobe.d/dist.conf

    2.配置普通用户的sudo权限

      命令是:#chmod  u+w   /etc/sudoers

          #vi   /etc/sudoers

             在第一行加上:用户名  ALL=(root)NOPASSWD:ALL

            因为我是以xunzhang这个用户登录的,所以我加上xunzhang ALL=(root)NOPASSWD:ALL

          #chmod  u-w  /etc/sudoers

    3.关闭防火墙

      命令是:$sudo  service iptables stop

          $sudo  chkconfig  iptables  off

    4.禁用selinux

      命令是:$sudo  vi  /etc/sysconfig/selinux

            修改内容:SELINUX= disabled

    5.卸载JdK

      命令是:$sudo  rpm  -qa | grep  java

          $sudo  rpm  -e  --nodeps  xxx   yyy   zzz

    6.设置文件打开数量和用户最大进程数

      命令是:$sudo  vi  /etc/security/limits.conf

          加上内容:

              *  soft   nofiles   65535

              *  hard  nofiles   65535

              *  soft    nproc    32000

              *  hard   nproc    32000

    7.设置集群时间同步(ntp),前提是三台虚拟机之间已经配置ssh免密钥登录

      比如说我现在设置第二台和第三台虚拟机与第一台虚拟机进行时间同步

          1>首先检查第一台虚拟机有没有安装ntp软件,命令是:#rpm  -qa | grep ntp,默认系统已经自带了

         2>编辑配置文件ntp.conf

          命令是:#vi  /etc/ntp.conf

           去掉一行注释,将#restrict  192.168.1.0  mask 255.255.255.0  nomodify  notrap,去掉注释,并将其改成192.168.174.0,因为我的ip是在这个网段里面

           加上三行注释,将service  0.centos.pool.ntp.ort和service  1.centos.pool.ntp.org还有service  2.centos.pool.ntp.org这三行注释掉

           去掉两行注释,将末尾的server  127.127.1.0    #local   clock 和 fudge  127.127.1.0  stratum   10 ,这两行的注释去掉

       3>编辑配置文件ntpd

         命令是:#vi  /etc/sysconfig/ntpd

            内容是:# Drop  root  to id  'ntp:ntp'  by  default.

                SYNC_HWCLOCK =yes

                OPTIONS="-u  ntp:ntp  -p  /var/run/ntpd.pid   -g"

       4>启动服务

         命令是:#service  ntpd  start

             #chkconfig   ntpd  on

       5>在另外两台虚拟机上,写脚本,进行时间的同步

          在第二台虚拟机上,切换到root用户,设置同步

             命令是:crontab  -e

               加上如下内容:

                  0-59 * * * * /usr/sbin/ntpdate  hadoopNumber01.medal.com

                  注意:在这里每个*号之间有一个空格,后面这个域名是我第一台主机的主机名

          在第三台虚拟机上,也做如第二台虚拟机相同的操作

二、搭建Hadoop2.x集群

  1、安装JDK

    1>上传JDK安装包,并将其解压到/opt/modules目录下

    2>配置环境变量

      命令是:sodu  /etc/profile

      在最后加上:###########  JAVA_HOME ##################

            export  JAVA_HOME=/opt/modules/jdk1.7.0_79 (jdk所在的路径),我的jdk是在/opt/modules/下

            export  CLASSPATH=/opt/modules/jdk1.7.0_79/lib

            export  PATH=$PATH:$JAVA_HOME/bin

    3>重启配置文件/etc/profile

      命令是:source  /etc/profile

    4>将jdk分发到另外两台虚拟机中

      命令是:cd  /opt/modules/

          scp -r * xunzhang@hadoopNumber02.medal.com:/opt/modules

          scp -r * xunzhang@hadoopNumber03.medal.com:/opt/modules

     最后在另外两台虚拟机上配置java环境变量

  2.安装Hadoop2.x(我这里是2.5.0)

    1>上传hadoop安装包,并将其解压到/opt/modules目录下,进入hadoop-2.5.0-cdh5.3.6目录下,创建临时缓存目录

        命令是:mkdir  -p  tmp/dir

    2>进入hadoop-2.5.0-cdh5.3.6/ect/hadoop目录下,修改配置文件

      第一个:core-site.xml       

        <configuration>
          <property>
            <name>fs.defaultFS</name>
            <value>hdfs://hadoopNumber01.medal.com:8020</value>
          </property>
          <property>
            <name>hadoop.tmp.dir</name>
            <value>/opt/modules/hadoop-2.5.0-cdh5.3.6/tmp/dir</value>
          </property>
        </configuration>

      第二个:hdfs-site.xml        

        <configuration>
          <property>
            <name>dfs.replication</name>
            <value>2</value>
          </property>
          <property>
            <name>dfs.namenode.secondary.http-address</name>
            <value>hadoopNumber02.medal.com:50090</value>
          </property>
        </configuration>

     第三个:mapred-site.xml

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

     第四个:yarn -site.xml

        <configuration>
          <property>
            <name>yarn.resourcemanager.hostname</name>
            <value>hadoopNumber01.medal.com</value>
          </property>
          <property>
            <name>yarn.nodemanager.aux-services</name>
            <value>mapreduce_shuffle</value>
          </property>
        </configuration>

     第五个:slaves

          hadoopNumber01.medal.com
          hadoopNumber02.medal.com
          hadoopNumber03.medal.com

     第六个:hadoop-env.sh

          配置java的路径:export JAVA_HOME=/opt/modules/jdk1.7.0_79

     第七个:mapred-env.sh

          配置java的路径:export JAVA_HOME=/opt/modules/jdk1.7.0_79

  3.将hadoop分发到其它虚拟机上

     前提:三台虚拟机它们的目录结构,和用户名完全一样

     命令:  scp core-site.xml hdfs-site.xml mapred-site.xml yarn-site.xml slaves hadoop-env.sh mapred-env.sh                                                                                                          xunzhang@hadoopNumber02.medal.com:/opt/modules/hadoop-2.5.0-cdh5.3.6/etc/hadoop/

            scp core-site.xml hdfs-site.xml mapred-site.xml yarn-site.xml slaves hadoop-env.sh mapred-env.sh                                                                                                          xunzhang@hadoopNumber03.medal.com:/opt/modules/hadoop-2.5.0-cdh5.3.6/etc/hadoop/

  4.格式化hdfs文件系统

    在第一台虚拟机上

      命令:bin/hdfs namenode -format

          如果没有错误,就继续向下执行,有错误就查看日志信息,进行改正

         sbin/start-dfs.sh

         sbin/start-yarn.sh

至此,集群搭建完成

转载于:https://www.cnblogs.com/medal-li/p/7460423.html

搭建分布式hadoop2.x集群相关推荐

  1. redis映射的概念_搭建分布式Redis Cluster集群与Redis入门

    目录 Redis 集群搭建Redis 是啥集群(Cluster)Redis Cluster 说明Redis Cluster 节点Redis Cluster 集群模式不能保证一致性创建和使用 Redis ...

  2. fastdfs原理_搭建分布式文件系统FastDFS集群

    本文摘选abcdocker运维博客 abcdocker运维博客 – 专注DevOps自动化运维,传播优秀it运维技术文章​i4t.com 在生产环境中往往数据存储量比较大,因此会大部分会选择分布式存储 ...

  3. 伪分布式Hadoop2.x集群的搭建1

    1. 安装JDK a.查出当前已经安装的JDK  # rpm -qa | grep java   b.卸载原先自带的JDK  # rpm -e --nodeps java-1.6.0-openjdk- ...

  4. 一次搞定:分布式缓存 Redis 集群搭建!

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | Esofar 来源 | cnblogs.com ...

  5. docker 分布式管理群集_Coolpy7分布式物联网MQTT集群搭建

    Coolpy7分布式技术,支持多个Coolpy7 Core提供跨数据中心(多活)模式组建群集,支持群集零手动维护(基于Gossip分布式协议作为群集节点状态维护).Coolpy7从版本号V7.3.2. ...

  6. 分布式缓存 Redis 集群搭建,这里一次性帮你搞定!

    作者:Esofar cnblogs.com/esofar/p/10486621.html Redis 集群简介 Redis Cluster 即 Redis 集群,是 Redis 官方在 3.0 版本推 ...

  7. redis没有bin目录_分布式缓存 Redis 集群搭建,这里一次性帮你搞定!

    作者:Esofar cnblogs.com/esofar/p/10486621.html Redis 集群简介 Redis Cluster 即 Redis 集群,是 Redis 官方在 3.0 版本推 ...

  8. 分布式缓存 Redis 集群搭建

    点击上方的终端研发部,右上角选择"设为星标" Redis 集群简介 Redis Cluster 即 Redis 集群,是 Redis 官方在 3.0 版本推出的一套分布式存储方案. ...

  9. ZooKeeper1 利用虚拟机搭建自己的ZooKeeper集群

    前言:       前段时间自己参考网上的文章,梳理了一下基于分布式环境部署的业务系统在解决数据一致性问题上的方案,其中有一个方案是使用ZooKeeper,加之在大数据处理中,ZooKeeper确实起 ...

最新文章

  1. mysql什么情况会加意向锁_Mysql 数据库意向锁意义
  2. flask_socketio 用法:
  3. Spring Security——login显示[Bad credentials]
  4. php的cookie不存在会是什么值,PHP setcookie() 首次存储不上值
  5. cocos2d-x游戏开发(十三)细说回调函数
  6. GLog 初始化说明
  7. Controller上使用@CrossOrigin注解
  8. fullgc频繁的原因_系统运行缓慢,CPU 100%,Full GC次数过多,这一招帮你全搞定
  9. JBoss OSGi用户指南(第二章:Getting Started)
  10. AX2009 的EP开发要点
  11. C#实现的基于SMTP协议的E-MAIL电子邮件发送客户端软件
  12. 度中心性(degree)、接近中心性(closeness)和中介中心性(betweenness)的理解
  13. 百度 嵌入式Linux软件研发工程师面试记录
  14. 学习Unity3D是一件痛并快乐着的事
  15. ps制作视:_制作自己的PS4游戏:“梦想”入门
  16. TriCore 与 RT-Thread(TC264 移植)
  17. 宇宙最全面试题目实录(二)
  18. 超图举例单值专题图色带样式控制
  19. 6、USRP【入门软件无线电(SDR)】PySDR:使用 Python 的 SDR 和 DSP 指南
  20. Nexus配置Pypi私库

热门文章

  1. Java中通过代理对类进行修改
  2. ai人工智能编程_从人工智能动态编程:Q学习
  3. ces测试数据测试ces测试数据测试ces测试数据测试ces测试数据测试ces测试数据测试ces测试数据测试ces测试数据测试再次测试
  4. 复数矩阵分解的拆解思路(矩阵求逆/特征值分解)
  5. c语言大作业旋转,c语言大作业全-20210412035629.docx-原创力文档
  6. vue 项目难点_vue项目中遇到的问题汇总
  7. jedis使用_Redis --Java客户端 Jedis
  8. plsql执行command命令控制台出现乱码_展现“管理员”的神级能力,有趣又实用的我的世界基础命令...
  9. 禅道项目管理_禅道 11.6.1 版本发布,完善细节,修复 Bug
  10. php where 不包含,php – 除非它们包含“where”或“like”子句,否则不允许删除