Hadoop简单入门之伪分布式搭建

前面两章主要讲解了完全分布式的搭建,这章主要讲解服务器单机完成伪分布的搭建,介绍Hadoop配置,启动,以及简单测试。我的机器:阿里云服务器,64位,Java64,Hadoop2.4.1(64)


所有软件下载百度云 密码:uup8

讲在开头:对于笔者的完全分布式环境请见该文:Hadoop完全分布式安装

写文章不易,欢迎大家采我的文章,以及给出有用的评论,当然大家也可以关注一下我的github;多谢;

1,Hadoop简单介绍:

Apache Hadoop是一款支持数据密集型分布式应用,并以Apache 2.0许可协议发布的开源软件框架。它支持在商品硬件构建的大型集群上运行的应用程序。Hadoop是根据Google公司发表的MapReduce和Google文件系统的论文自行实现而成。

Hadoop框架透明地为应用提供可靠性和数据移动。它实现了名为MapReduce的编程范式:应用程序被分区成许多小部分,而每个部分都能在集群中的任意节点上运行或重新运行。此外,Hadoop还提供了分布式文件系统,用以存储所有计算节点的数据,这为整个集群带来了非常高的带宽。MapReduce和分布式文件系统的设计,使得整个框架能够自动处理节点故障。它使应用程序与成千上万的独立计算的电脑和PB级的数据。现在普遍认为整个Apache Hadoop“平台”包括Hadoop内核、MapReduce、Hadoop分布式文件系统(HDFS)以及一些相关项目,有Apache Hive和Apache HBase等等。

2.开发环境搭建

主要环境:java 和Hadoop

2.1Java开发环境搭建

  1. 下载jdk8的安装包:jdk-8u60-linux-x64.tar.gz;这是linux系统的安装包;
    可以下载我分享的链接:百度云链接;
  2. 安装jdk8步骤:万试万灵的步骤:
1.复制文件到云服务器
sudo scp -r /home/peace/jdk-8u60-linux-x64.tar.gz  root@192.168.1.127:/root/
2登陆云服务器:
##创建文件夹,和解压文件
$ mkdir /usr/lib/jvm 
$ mv jdk-8u60-linux-x64.tar.gz  /usr/lib/jvm/
$ cd /usr/lib/jvm/
$  tar -zxvf jdk-8u60-linux-x64.tar.gz
$ rm ./jdk-8u60-linux-x64.tar.gz
$mvjdk-8u60 jdk8
##配置环境变量:
$vi /etc/environment 
在environment中修改PATH,追加JDK路径,添加CLASSPATHJAVA_HOME后如下:
    export JAVA_HOME=/usr/lib/jvm/jdk8
    export JRE_HOME=${JAVA_HOME}/jre
    export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
    PATH="/usr/lib/jvm/jdk8/bin:/usr/local/sbin:/usr/local/bin: /usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
##告诉系统,我们使用的sun的JDK,而非OpenJDK了:
$update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk8/bin/java 300
$update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk8/bin/javac 300
$update-alternatives --config java
##测试一下运行 java -version
可以看到版本号 :
java version "1.8.0_60"
Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)

2.2网络环境搭建

1.1修改主机名
        vim /etc/sysconfig/network

        NETWORKING=yes
        HOSTNAME=itcast    ###

    1.2修改IP
        两种方式:
        第一种:通过Linux图形界面进行修改(强烈推荐)
            进入Linux图形界面 -> 右键点击右上方的两个小电脑 -> 点击Edit connections -> 选中当前网络System eth0 -> 点击edit按钮 -> 选择IPv4 -> method选择为manual -> 点击add按钮 -> 添加IP:192.168.1.101 子网掩码:255.255.255.0 网关:192.168.1.1 -> apply

        第二种:修改配置文件方式(屌丝程序猿专用)
            vim /etc/sysconfig/network-scripts/ifcfg-eth0

            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"            ###

    1.3修改主机名和IP的映射关系
        vim /etc/hosts

        192.168.1.101   itcast

    1.4关闭防火墙
        #查看防火墙状态
        service iptables status
        #关闭防火墙
        service iptables stop
        #查看防火墙开机启动状态
        chkconfig iptables --list
        #关闭防火墙开机启动
        chkconfig iptables off

    1.5重启Linux
        reboot

2.3Hadoop开发环境搭建(安装hadoop2.4.1)

先上传hadoop的安装包到服务器上去/home/hadoop/ 然后解压到该目录下;
注意:hadoop2.x的配置文件$HADOOP_HOME/etc/hadoop
伪分布式需要修改5个配置文件

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

    第二个:core-site.xml

        <!-- 指定HADOOP所使用的文件系统schema(URI),HDFS的老大(NameNode)的地址 -->
        <property>
            <name>fs.defaultFS</name>
            <value>hdfs://weekend-1206-01:9000</value>
        </property>
        <!-- 指定hadoop运行时产生文件的存储目录 -->
        <property>
            <name>hadoop.tmp.dir</name>
            <!--你自己定义的目录-->
            <value>/home/hadoop/hadoop-2.4.1/tmp</value>
    </property>
        <configuration>
<property>
        <name>fs.defaultFS</name>
        <value>hdfs://192.168.1.127:9000</value>
</property>
<property>
        <name>hadoop.tmp.dir</name>                
        <value>/home/peace/app/hadoop-2.4.1/tmp</value>
</property>
</configuration>
    第三个:hdfs-site.xml   hdfs-default.xml  (3)
        <!-- 指定HDFS副本的数量 -->
        <property>
            <name>dfs.replication</name>
            <value>1</value>
    </property>

    第四个:mapred-site.xml (mv mapred-site.xml.template mapred-site.xml)
        mv mapred-site.xml.template mapred-site.xml
        vim mapred-site.xml
        <!-- 指定mr运行在yarn上 -->
        <property>
            <name>mapreduce.framework.name</name>
            <value>yarn</value>
    </property>

    第五个:yarn-site.xml
        <!-- 指定YARN的老大(ResourceManager)的地址 -->
        <property>
            <name>yarn.resourcemanager.hostname</name>
            <value>192.168.1.127</value>
    </property>
        <!-- reducer获取数据的方式 -->
    <property>
            <name>yarn.nodemanager.aux-services</name>
            <value>mapreduce_shuffle</value>
     </property>

2.4将hadoop添加到环境变量

vim /etc/proflie
        export HADOOP_HOME=/itcast/hadoop-2.4.1
        export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source /etc/profile

3.测试

1.格式化namenode(是对namenode进行初始化)

hdfs namenode -format (hadoop namenode -format)

2.启动hadoop

start-all.sh

3.验证是否启动成功

使用jps命令验证
27408 NameNode
28218 Jps
27643 SecondaryNameNode
28066 NodeManager
27803 ResourceManager
27512 DataNode

web页面观看:
http://192.168.1.101:50070 (HDFS管理界面)
http://192.168.1.101:8088 (MR管理界面)
笔者此处使用的是阿里云服务器进行测试
Hadoop简单入门之伪分布式搭建_第1张图片
Hadoop简单入门之伪分布式搭建_第2张图片
4.配置配置ssh免登陆(请参考改文章:http://blog.csdn.net/peace1213/article/details/51334508)
5.文件系统hdfs测试:

存储文件:
hadoop fs -put hadoop-2.4.1.tar.gz hdfs://115.29.52.140:9000/
查看文件:
hadoop fs -ls hdfs://115.29.52.140:9000/
显示如下:
-rw-r--r--   1 root supergroup  138656756 2016-04-11 15:46 hdfs://115.29.52.140:9000/hadoop-2.4.1.tar.gz
get文件:
hadoop fs -get hdfs://115.29.52.140:9000/hadoop-2.4.1.tar.gz

本章介绍到这里
来自伊豚(wpeace.cn)

你可能感兴趣的:(hadoop,服务器,伪分布式,阿里云)