Hadoop从安装到启动

由于Hadoop 第一次入手需要配置多台机器多个配置,本文详细介绍下如何去使用,方便后面回头自己能够按照笔记配出来。OK,直接进入主题:

关于Hadoop的配置这里先说下流程:
1. 修改虚拟机网络连接方式 主机名 IP 映射文件 关闭防火墙
2. 安装ssh客户端方便多台虚拟机传输数据
3. 安装JDK,因为hadoop内部需要jdk的支持
4. 安装hadoop安装包 修改环境配置等。至此环境安装的流程完毕。

在开发过程中由于需要配置多台虚拟机,这里以3台为例,多了怕你电脑受不了。而上面的配置基本每台虚拟机都需要。所以,可以考虑先对其中一台虚拟机进行完全配置,再对该虚拟机进行克隆。

  1. 先将虚拟机的网络模式选为NAT。因为这里多个虚拟机要连接外网。

    Hadoop从安装到启动_第1张图片

    Hadoop从安装到启动_第2张图片

  2. 修改主机名

    vi /etc/sysconfig/network
    
    NETWORKING=yes
    HOSTNAME=hdpvm1    ###这里配置
  3. 修改虚拟机IP

    vim /etc/sysconfig/network-scripts/ifcfg-eth0
    
    ## 这里ONBOOT设置为自动启动yes mac地址和uuid去掉   BOOTPROTO设置为static的 然后自己配置ip地址
    
    
    ## ipaddr为ip  netmask是跟着我写就对了 gateway就是上图中nat设置的网关      
    
    DEVICE="eth0"
    BOOTPROTO="static"               ###
    HWADDR="00:0C:29:3C:BF:E7"
    IPV6INIT="yes"
    NM_CONTROLLED="yes"
    ONBOOT="yes"
    TYPE="Ethernet"
    UUID="ce22eeca-ecde-4536-8cc2-ef0dc36d4a8c"
    IPADDR="192.168.1.101"           ###
    NETMASK="255.255.255.0"          ###
    GATEWAY="192.168.1.1"            ###
  4. 配置域名映射,这样你就不用写那么长的ip了
    Hadoop从安装到启动_第3张图片

  5. 关闭防火墙(这个一定要,因为集群内部的机器一般要互通,通常都是会关闭防火墙的,因为这样的集群一般都是放在内网里面的)

    
    #查看防火墙状态
    
    service iptables status
    
    #关闭防火墙
    
    service iptables stop
    
    #查看防火墙开机启动状态
    
    chkconfig iptables --list
    
    #关闭防火墙开机启动
    
    chkconfig iptables off
  6. 安装ssh客户端,因为你可能安装的是mini版本的虚拟机,它本身是没有ssh客户端的。使用指令:yum install -y openssh-clients
  7. 重启电脑,让配置生效:reboot

  8. 安装JDK,不懂的同学可以参考linux命令这篇文章。

安装hadoop

1. 下载:http://archive.apache.org/dist/hadoop/core/ 这里我下载的是2.6.4版本。

Hadoop从安装到启动_第4张图片

2. 下载后解压

Hadoop从安装到启动_第5张图片

3. 配置相关环境

进入hadoop安装包的etc/hadoop目录:
Hadoop从安装到启动_第6张图片

这里有几个文件需要配置的:

第一个:hadoop-env.sh
    vi hadoop-env.sh
    #第27行
    export JAVA_HOME=/usr/java/jdk1.7.0_65

第二个:core-site.xml

    
    
        fs.defaultFS
        hdfs://weekend-1206-01:9000
    
    
    
        hadoop.tmp.dir
        /home/hadoop/hadoop-2.4.1/tmp


第三个:hdfs-site.xml   
    
    
        dfs.replication
        1



         dfs.secondary.http.address
     192.168.1.152:50090



第四个:mapred-site.xml (mv mapred-site.xml.template mapred-site.xml)
    mv mapred-site.xml.template mapred-site.xml
    vi mapred-site.xml
    
    
        mapreduce.framework.name
        yarn


第五个:yarn-site.xml
    
    
        yarn.resourcemanager.hostname
        weekend-1206-01

    

        yarn.nodemanager.aux-services
        mapreduce_shuffle
 

第六个:删除slaves原有的内容,配置如下内容如下,这样我们可以用一键式命令启动整个hadoop集群:
    hdpvm1
    hdpvm2
    hdpvm3

4. 添加hadoop环境变量

vi /etc/proflie
    export JAVA_HOME=/usr/java/jdk1.7.0_65
    export HADOOP_HOME=/itcast/hadoop-2.4.1
    export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

source /etc/profile

5. 克隆虚拟机并做好新的配置

上面的操作中说明已经将单机环境设置完毕,接下来要实现克隆,如下图:
Hadoop从安装到启动_第7张图片

Hadoop从安装到启动_第8张图片

Hadoop从安装到启动_第9张图片

启动新的虚拟机,因为是做的克隆,所以虚拟机上的主机名称,网卡ip mac地址都还没改,而且克隆后的虚拟机会出现网卡异常

  1. 修改主机名 vi /etc/sysconfig/network
  2. 修改虚拟机IP,这里记得去掉UUID和MAC地址避免和被克隆的机器冲突

    vim /etc/sysconfig/network-scripts/ifcfg-eth0
    
    ## 这里ONBOOT设置为自动启动yes mac地址和uuid去掉   BOOTPROTO设置为static的 然后自己配置ip地址
    
    
    ## ipaddr为ip  netmask是跟着我写就对了 gateway就是上图中nat设置的网关      
    
    DEVICE="eth0"
    BOOTPROTO="static"               ###
    IPV6INIT="yes"
    NM_CONTROLLED="yes"
    ONBOOT="yes"
    TYPE="Ethernet"
    IPADDR="192.168.1.101"           ###
    NETMASK="255.255.255.0"          ###
    GATEWAY="192.168.1.1"            ###
  3. 删除网卡,这样系统会自己去重新配置。如下命令:

    rm -rf /etc/udev/rules.d/70-persistent-net.rules
    
  4. 重启电脑并更新网络服务

    reboot
    service network restart
    

6. 在主机上配置免密登录

为集群主机配置免密登录,这样,我们就可以在主机中将文件分配给每一台集群机器:

ssh-keygen -t rsa   声明秘钥,这样在用户的.ssh文件夹下就会产生2个文件
ssh-copy-id hdpvm1 为某个机器配置免密登录,如果配置好域名映射,后面写映射的名称即可
[root@hdpvm1 ~]# cd ~/.ssh
[root@hdpvm1 .ssh]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
33:8c:61:a5:eb:25:d5:7a:33:51:f9:4e:9b:18:36:e3 root@hdpvm1
The key's randomart image is:
+--[ RSA 2048]----+
|        .   ..   |
|       o . ..    |
|      + . o  .   |
|     . * . .= o  |
|      + S +o B o |
|     . o + oE +  |
|      .          |
|                 |
|                 |
+-----------------+
[root@hdpvm1 .ssh]# ssh-copy-id hdpvm1
The authenticity of host 'hdpvm1 (192.168.254.105)' can't be established.
RSA key fingerprint is f8:98:34:82:c5:8b:14:fd:1a:26:42:28:1b:44:d3:3e.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'hdpvm1,192.168.254.105' (RSA) to the list of known hosts.
root@hdpvm1's password: 
Now try logging into the machine, with "ssh 'hdpvm1'", and check in:

  .ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.

[root@hdpvm1 .ssh]# ls
authorized_keys  id_rsa  id_rsa.pub  known_hosts

7. 启动集群

因为我们已经配置了hadoop的环境变量,所以可以在namenode任意路径下行执行命令如下:

#hdfs namenode -format

# start-all.sh
...
# jps
4688 NodeManager
4454 SecondaryNameNode
5005 Jps
4192 NameNode
4308 DataNode
4594 ResourceManager

当集群成功启动后,我们可以通过50070端口网站访问该集群,50070 为HDFS管理界面,8088 为MR管理界面:
Hadoop从安装到启动_第10张图片
如果想关闭集群,只要执行命令stop-all.sh即可;

你可能感兴趣的:(大数据应用,大数据)