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

来源:互联网 发布:kettle数据库增量同步 编辑:程序博客网 时间:2024/06/05 14:45

前面两章主要讲解了完全分布式的搭建,这章主要讲解服务器单机完成伪分布的搭建,介绍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/sbinsource /etc/profile

3.测试

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

hdfs namenode -format (hadoop namenode -format)

2.启动hadoop

start-all.sh

3.验证是否启动成功

使用jps命令验证27408 NameNode28218 Jps27643 SecondaryNameNode28066 NodeManager27803 ResourceManager27512 DataNode

web页面观看:
http://192.168.1.101:50070 (HDFS管理界面)
http://192.168.1.101:8088 (MR管理界面)
笔者此处使用的是阿里云服务器进行测试
1
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.gzget文件:hadoop fs -get hdfs://115.29.52.140:9000/hadoop-2.4.1.tar.gz

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

1 0