zoukankan      html  css  js  c++  java
  • linux平台下Hadoop下载、安装、配置

    在这里我使用的linux版本是CentOS 6.4
         CentOS-6.4-i386-bin-DVD1.iso
     
    0.使用host-only方式
         将Windows上的虚拟网卡改成跟linux上的网卡在同一个网段上
         注意:一定要将windowsh 的WMnet1的ip设置和你的虚拟机在同一网段,但是ip不一样
     
    一、前期工作:
    1.修改linux ip
         手动修改
         也可以命令修改
         vim /etc/sysconfig/network-scripts/ifcfg-eth0
         
    2.修改主机名(注意ubuntu版本方式)
         vim /etc/sysconfig/network 
         将之前的名字更改为itcast01
     
    3.修改主机名与 ip 对应关系
         vim  /etc/hosts
         192.168.8.88      itcast01
     
    4.关闭防火墙
         查看防护墙状态
         service iptables status
         
         关闭
         service iptables stop     
     
         查看防火墙开机启动状态
         chkconfig iptables --list
     
         关闭开机启动
         chkconfig iptables off
         
     
    二、安装Java JDK
         这里使用的是 jdk-7u60-linux-i586.tar.gz,这里我使用VMware-->共享文件夹,(需要安装好)VMware Tool工具,这样我们就可以使用共享文件夹方式将windows下的文件,共享到linux平台。共享在/mnt/hdfs/
     
         mkdir /usr/java
         tar -zxvf jdk-7u60-linux-i586.tar.gz -C /usr/java
         
         将java添加到环境变量中
         vim /etc/profile
        
         在文件的末尾添加如下内容
         export JAVA_HOME=/usr/java/jdk1.7.0_60
         export PATH=$PATH:$JAVA_HOME/bin
     
         刷新配置
         source /etc/profile
     
    三、安装hadoop
    下载hadoop
    本次下载的是: hadoop-2.2.0.tar.gz
     
    1.上传hadoop包,我这里使用FileZilla上传到 linux下root 目录下
        
    2.解压hadoop包
         首先在根目录创建一个/itcast 目录
              mkdir /itcast
              tar -zxvf hadoop-2.2.0.tar.gz -C /itcast
     
    3.配置hadoop伪分布式(要修改etc/下的4个文件)
     
    第一个:hadoop-env.sh
         vim hadoop-env.sh
         export JAVA_HOME=/usr/java/jdk1.7.0_60
     
    第二个:core-site.xml
    <configuration>
              <!-- 用来指定hdfs的老大(NameNode)的地址 -->
            <property>
                    <name>fs.defaultFS</name>
                    <value>hdfs://itcast01:9000</value>
            </property>
              <!-- 用来指定Hadoop运行时产生文件的存放目录 -->
            <property>
                    <name>hadoop.tmp.dir</name>
                    <value>/itcast/hadoop-2.2.0/tmp</value>
            </property>
    </configuration>
     
    第三个:hdfs-site.xml
         <configuration>
                <!-- 指定HDFS保存数据副本数量 --> 
              <property>
                    <name>dfs.replication</name>
                    <value>1</value>
            </property>
    </configuration>
     
    第四个:mapred-site.xml (需要从此文件复制mapred-site.xml.template)
         <configuration>
              <!-- 告诉hadoop以后MR运行在yarn上 -->
            <property>
                    <name>mapreduce.framework.name</name>
                    <value>yarn</value>
            </property>
         </configuration>
     
    第五个:yarn-site.xml
     
    <configuration>
              <!-- NodeManager获取数据的方式是shuffle-->
            <property>
                    <name>yarn.nodemanager.aux-services</name>
                    <value>mapreduce_shuffle</value>
            </property>
              <!-- 指定YARN的老大(resourcemanager)的地址 -->
            <property>
                    <name>yarn.resourcemanager.hostname</name>
                    <value>itcast01</value>
            </property>
    </configuration>
     
    4.将Hadoop添加到环境变量中
    vim /etc/profile
    export JAVA_HOME=/usr/java/jdk1.7.0_60
    export HADOOP_HOME=/itcast/hadoop-2.2.0
    export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin
              
              #刷新配置
              source /etc/profile
     
    5.初始化HDFS(格式化文件系统,此步类似刚买U盘需要格式化)
         
         #hadoop namenode -format(过时了)
         hdfs namenode -format
     
    6.启动文HDFS和YARN
         ./start-all.sh(过时了)This script is Deprecated. Instead use start-dfs.sh and start-yarn.sh
    Starting namenodes on [it]
     
         #有个小问题(需要多次输入密码)
         接下来,使用jps查看进程情况
         jps(jps 在Linux/unix平台上简单察看当前java进程的一些简单情况),如果有以下进程则表示测试通过
    3887 Jps (java进程)
    3449 SecondaryNameNode (相当于NameNode的助理)
    3263 DataNode (hdfs部门的小弟,负责存放数据)
    3138 NameNode (hdfs部门的老大)
    3579 ResourceManager (yarn部门的老大,yarn负责资源管理)
    3856 NodeManager (yarn部门的小弟,可以一个,集群的话会有很多)
     
     
         另外,我们也可以在windows平台下,使用浏览器进行查看,是否搭建成功
         http://192.168.8.88:50070 ( hdfs管理界面)
         http://192.168.8.88:8088 (yarn管理界面)
     
         在这个文件中添加linux主机名和IP的映射关系
         c:WindowsSystem32driversetc
         在末尾,添加
         192.168.8.88     itcast01
     
    四、测试hdfs(主要存储数据,存储海量数据)
         1.上传文件
          hadoop fs -put /mnt/hgfs/share/jdk-7u60-linux-i586.tar.gz hdfs://itcast01:9000/jdk
     
         2.下载文件
         hadoop fs -get hdfs://itcast01:9000/jdk /home/jdk1.7
     
    五、测试MapReduce和Yarn
         官方提供了一个Jar包
         /itcast/hadoop-2.2.0/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar
     
         在这里,我们测试一下单词统计(输入与输出,都存放在hdfs,因为可能文件很大)
         我们新建一个words文件
              hello tom
    hello jerry
    hello kitty
    hello world
    hello tom
     
         将此文件words上传到hdfs上,接着我们使用mapreduce统计单词,同时输出也存放到hdfs上
              hadoop jar hadoop-mapreduce-examples-2.2.0.jar wordcount hdfs://itcast01:9000/words hdfs://itcast01:9000/wcount
     
         这一个是hdfs://itcast01:9000/wcount 上是MapReduce统计结果
              hello    5
    jerry    1
    kitty    1
    tom    2
    world    1
     
    六、配置SSH免密码登录(/root/.ssh)
         #SSH协议(让linux不同机器,启动起来。hadoop老大为了让小弟听话,使用SSH进行控制)
         ssh-keygen -t rsa
         执行完这个命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
     
         将公钥拷贝成authorized_keys 文件上
         cp id_rsa.pub authorized_keys
         
         接下来,我们将公钥发送给想要登录的linux机器(实质是拷贝authorized_keys )
         ssh-copy-id 192.168.8.89
         这样,我们以后使用192.168.8.88(NameNode主机)免密登录192.168.8.89
     
         
              
     
         
     
     
     
         
              
         
         
         
     
     
         
  • 相关阅读:
    团队项目成员和题目
    最大联通子数组
    站立会议5
    关于jsp之间href传参(中文)乱码问题
    站立会议4
    典型用户和用户场景描述
    站立会议3
    站立会议2
    站立会议1
    第七周学习进度情况
  • 原文地址:https://www.cnblogs.com/dulixiaoqiao/p/6939818.html
Copyright © 2011-2022 走看看