A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© burns 中级黑马   /  2014-11-25 09:43  /  1413 人查看  /  2 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

上周末参加了开源中国的会议,现在最热的果然还是云计算、大数据啊。之前也在断断续续的看hadoop方便的资料,这两天终于把hadoop集群跑起来了。下面总结下笔记:1,安装一台linux虚拟机,我安装的是一台32位的CentOS6.5,虚拟机基本信息为:
    主机名:burns1,普通用户:burns1,超级用户root
   
2,配置网络:   
     为了方便操作,建议使用“仅主机(Host-Only)适配器”模式,不过由于我自己的虚拟机软件版本有问题,采用的是桥接模式:   
        a),我物理机的ip信息为:ip:192.168.1.161,子网掩码:255.255.255.0,网管192.168.1.1
        b),虚拟机burns1的信息配置为:ip:192.168.1.191,子网掩码:255.255.255.0,网管192.168.1.1
        c),重启网卡,启用配置的网络:service network restart
        4),用物理机和虚拟机互相ping以下,确保连通
    使用桥接或者nat模式联网的时候,系统不会自动联网,解决办法如下:
    /etc/sysconfig/network-scripts/目录下ifcfg-eth0这个文件,把ONBOOT="no"改为yes,下一次就不用手动连接了。
3,配置hosts文件:
    编辑虚拟机enlu1的/etc/hosts文件,增加如下内容:
        192.168.1.191 burns1
        192.168.1.192 burns2
        192.168.1.193 burns3
        192.168.1.194 burns4
        192.168.1.195 burns5   
4,禁用防火墙:
    查看防火墙状态:service iptables status
    禁用防火墙:service iptables stop
    禁用防火墙随机启动:chkconfig iptables off
   
5,安装jdk
      因为操作系统是32位的,所以下载32位版本的jdk1.7: jdk-7u67-linux-i586.rpm
       安装:rpm -ivh  jdk-7u67-linux-i586.rpm
        配置环境变量:
        vi /etc/profile在最后添加如下内容:
           JAVA_HOME=/usr/java/jdk1.7.0_65
           PATH=$JAVA_HOME/bin:$PATH
           CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
           export JAVA_HOME
           export PATH
           export CLASSPATH
        启用环境变量:
        source /etc/profile
   
6,从burns1虚拟机克隆4份,分别作为burns2,burns3,burns4,burns5
    clone完成后:a),将这4个虚拟机的ip地址分别配置为1921.68.1.192到192.168.1.195;
                             b),将这4个虚拟机的主机名分别命名为:burns2到burns5;
                             c),配置方式:vi /etc/sysconfig/network,更改其中的HOSTNAME值
                             d),将这4个虚拟机的用户名分别命名为:burns2到burns5;
                                1)删除原来的用户和用户组burns1,
                                           删除方法:
                                                    userdel burns1
                                                    groupdel burns1
                                2)新增相应的用户和用户组burns(2-5) ,用户和用户组名称一致即可,
                                            创建方法如下(以虚拟机burns2为例子):
                                                     useradd -g burns2 burns2
                                                     passwd burns2
7,配置ssh,免密码登录
      在burns1上,执行:ssh-keygen –t rsa,
      然后:cd ~/.ssh 差看文件ls  查看到两个文件
      ssh-copy-id –i burns2 复制公钥到对方burns2的节点上同理执行命令复制公钥到burns3/lburns4/burns5/lburns6上,然后再在burns2上执行命令ssh-keygen –t rsa 将公钥复制到burns1/burns3/burns4/burns5/burns6上
8,配置hadoop
      省略


9,配置完毕后,将hadoop从burns1拷贝到其他机器上burns2到burns5
     scp /usr/hadoop2 burns2:/usr/
     .....
10,启动hadoop,
    首先启动journalnode集群 分别在burns1,burns2,burns3上执行命令sbin/hadoop-daemon.sh start journalnode(注意这里我们没有配置hadoop的环境变量所以要cd /usr/local/hadoop2下执行这个命令)
    格式化namenode和启动namenode
    在burns1上执行bin/hdfs namenode –format
    在burns1上分别执行sbin/hadoop-daemon.sh start namenode
    在burns2上执行hadoop/bin/hdfs namenode –bootstrapStandby
    在burns2上分别执行hadoop/sbin/hadoop-daemon.sh start namenode
    在burns1上执行hadoop/bin/hdfs haadmin -failover --forceactive burns2 burns1   
上面的命令为啥不一样呢?(因为我们在启动namenode的时候namenode一个是主运行节点,一个是备用的节点,所以需要俩个不同的命令来执行)下面的hadoop/bin/hdfs haadmin -failover --forceactive burns1 burns2这个命令其实在burns1和burns2上随便那个上面执行都可以,这个是将burns2设置为主运行节点,将burns1设置为备用节点,可以在浏览器中开启俩个页面分别输入burns1:50070 和burns2:50070发现burns2是active 而burns1还是standby
启动datanode
在burns1上分别执行sbin/hadoop-daemons.sh start datanode
启动resourcemanager和nodemanager
在burns1上执行 hadoop/sbin/start-yarn.sh start resourcemanager
在这个命令执行之后nodemanager自动启动了
要查看nodemanager在浏览器中输入 burns1:8088 resourcemanager和nodemanager的端口号是8088



2 个回复

倒序浏览
感觉不错
回复 使用道具 举报
记下来!!!!!先
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马