zoukankan      html  css  js  c++  java
  • hadoop伪分布式搭建

    Hadoop集群搭建及介绍:

    什么是hadoop

    HadoopApache开源的,可靠的,可扩展的一个项目;

    能解决的问题是:

    1、海量数据的存储(hdfs

    2、海量数据的分析(MapReduce

    3、资源管理调度(YARN

     

    1、Hadoop子项目家族成员:

     

     

    2、修改主机名

    [root@localhost ~]# hostname hadoop

    3、配置ssh,生成密钥对:

    [root@hadoop conf]# cd 
    [root@hadoop ~]# ssh-keygen -t rsa
    
    [root@hadoop ~]# cd .ssh
    [root@hadoop .ssh]# ls
    id_rsa  id_rsa.pub     ##id_rsa是私钥,id_rsa.pub是公钥;
    
    [root@hadoop .ssh]# ssh-copy-id -i ./id_rsa.pub root@10.10.10.30  ##拷贝公钥到需要认证的服务器上去;

    测试连接:

    [root@hadoop  ~]# ssh  root@10.10.10.30
    Last login: Wed Nov  9 21:43:43 2016 from 10.10.10.20
    
    [root@hadoop ~]# cd .ssh/
    [root@hadoop .ssh]# ls
    authorized_keys    ##拷贝过来的公钥变了名字;

    注意:配置免密码连接的配置每台服务器上的root用户和hadoop用户都要操作;

    4、下载及安装伪分布式

    1)登录网址:http://mirrors.aliyun.com/apache/hadoop/common/ 下载hadoop安装包,hadoop-2.7.3.tar.gz 

    2)http://pan.baidu.com/share/link?shareid=2793927523&uk=1678158691&fid=117337971851932  下载jdk插件;

     

    3)安装Hadoop前要先安装jdk插件:

    [root@hadoop tools]# tar xf jdk-7u79-linux-x64.tar.gz -C /data ##解压下载包;
    [root@hadoop tools]# vim /etc/profile      ##编辑/etc/profile文件,在最下面添加如下四条:
    export JAVA_HOME=/data/jdk1.7.0_79
    export JRE_HOME=/data/jdk1.7.0_79/jre
    export PATH=/data/jdk1.7.0_79/bin:$PATH
    exportCLASSPATH=./:/data/jdk1.7.0_79/lib:/data/jdk1.7.0_79/lib
    
    [root@hadoop tools]# . /etc/profile   ##使/etc/profile文件生效;
    [root@hadoop tools]# java -version     ##查看安装情况及版本;
    java version "1.7.0_79"
    Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
    Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)
    安装jdk完成;

    4)解压hadoop软件并配置:

    [root@hadoop tools]# tar xf hadoop-2.7.3.tar.gz -C /data  ##解压hadoop;
    [root@hadoop tools]# cd /data/hadoop-2.7.3/etc/hadoop    ##cd到配置目录下面去;
    [root@hadoop hadoop]# vim hadoop-env.sh   ##编辑其中一个配置文件;
    export JAVA_HOME=/data/jdk1.7.0_79    ##最下面添加;
    hadoop-env.sh
    [root@hadoop hadoop]# vim core-site.xml    ##编辑第二个重要的文件,添加红色的部分;
    <configuration>
    <property>
    <name>fs.defaultFS</name>
    <value>hdfs://hadoop:9000</value>
    </property>
    <property>
    <name>hadoop.tmp.dir</name>
    <value>/home/hadoop1/tools/data/</value>   ##data目录要单独创建;
    </property>
    </configuration>
    core-site.xml
    [root@hadoop hadoop]# vim hdfs-site.xml   编辑第三个重要的配置文件
    <configuration>
    <property>
    <name>dfs.replication</name>
    <value>1</value>
    </property>
    </configuration>
    hdfs-site.xml
    [root@hadoop hadoop]# vim mapred-site.xml   ##编辑第四个重要的文件,添加红色的内容;
    <configuration>
    <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
    </property>
    </configuration>
    mapred-site.xml
    [root@hadoop hadoop]# vim yarn-site.xml  编辑第五个配置文件,添加红色的内容;
    <configuration>
    <!-- Site specific YARN configuration properties -->
    <property>
    <name>yarn.resourcemanager.hostname</name>
    <value>hadoop1</value>
    </property>
    
    <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
    </property>
    </configuration>
    yarn-site.xm

    5)配置hadoop的环境变量:

    [root@hadoop hadoop]# vim /etc/profile   ##
    ##hadoop
    export HADOOP_HOME=/data/hadoop-2.7.3
    export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

    6)启动程序:

    [root@hadoop hadoop]# start-dfs.sh   ##启动hdfs
    [root@hadoop hadoop]# start-yarn.sh   ##启动yarn
    [root@hadoop hadoop]# Jps     ##查看java进程;
    41188 NameNode
    41274 DataNode
    41539 SecondaryNameNode
    42015 Jps
    41799 NodeManager
    41710 ResourceManager

    7)测试:

    (1)通过网页登录:输入:http://ip:50070

     

     

    (2)上传文件测试:

    hadoop fs -put jdk-7u79-linux-x64.tar.gz hdfs://ip:9000/

    在浏览器上查看:

     

     

    (3)测试mapreduce:

     hadoop fs -mkdir /wordcount    
     hadoop fs -mkdir /wordcount/input    ##创建两个目录;

     

    hadoop fs -put test.txt /wordcount/input   ##上传文件;

    hadoop jar hadoop-mapreduce-examples-2.4.1.jar wordcount /wordcount/input /wordcount/output    ##执行这条命令会输出一下信息;

     

    hadoop fs -ls /wordcount/output    ##查看是否执行成功,成功的会多多出下面两个文件;
    Found 2 items
    -rw-r--r--   1 hadoop supergroup          0 2016-11-29 12:37 /wordcount/output/_SUCCESS
    -rw-r--r--   1 hadoop supergroup         54 2016-11-29 12:37 /wordcount/output/part-r-00000
    hadoop fs -cat /wordcount/output/part-r-00000   ##显示刚才创建的文件的内容信息;
    dasdasxccdf    1
    fdfsfsfs    1
    hallow    5
    sss    1
    world    1
    www    1

    HDFS的实现思想:

    1、hdfs是通过分布式集群来存取文件的,为客户端提供了一个便捷的访问方式,就是一个虚拟的目录结构;

    2、文件存储到hdfs集群中去的时候是被切分成block的;

    3、文件的block存放在若干台datanode节点上;

    4、Hdfs文件系统中的文件与真实的block之间有映射关系,由namenode管理;

    5、每一个block在集群会存储多个副本,好处是可以提高数据的可靠性,还可以提高访问的吞吐量;

    HDFS的实现机制

     

    Hadoop简单命令操作:

    (1)设置权限:

     hadoop fs -chown hadoop:hadoop /jdk-7u79-linux-x64.tar.gz  ##设置属组权限;
     hadoop fs -ls /    ##查看结果
    -rw-r--r--   1 hadoop  hadoop   153512879 2016-11-29 11:36 /jdk-7u79-linux-x64.tar.gz
    
     hadoop fs -chmod 777 /jdk-7u79-linux-x64.tar.gz  ##设置权限
     hadoop fs -ls /   ##查看结果;
     -rwxrwxrwx   1 hadoop  hadoop      153512879 2016-11-29 11:36  /jdk-7u79-linux-x64.tar.gz

    (2)拷贝文件:

     hadoop fs -copyFromLocal hadoop-mapreduce-client-app-2.4.1.jar /   ##拷贝文件到根下去;
     hadoop fs -ls /    ##查看结果;
     Found 5 items
    -rw-r--r--   1 hadoop supergroup     487973 2016-11-30 07:06 /hadoop-mapreduce-client-app-2.4.1.jar
    
    hadoop fs -cp /hadoop-mapreduce-client-app-2.4.1.jar /wordcount    ##拷贝这个文件到这个目录下去;
    hadoop fs -ls /wordcount    ##查看结果;
    Found 3 items
    -rw-r--r--   1 hadoop supergroup     487973 2016-11-30 07:23 /wordcount/hadoop-mapreduce-client-app-2.4.1.jar

    (3)查看空间的大小和文件大小:

     hadoop fs -df -h /    ##查看根目录的大小和使用情况;
     Filesystem             Size     Used  Available  Use%
     hdfs://hadoop1:9000  73.9 G  149.9 M     66.5 G    0%
    
     hadoop fs -du -h /    ##统计根下面的每个目录或文件的大小;
     476.5 K  /hadoop-mapreduce-client-app-2.4.1.jar
     146.4 M  /jdk-7u79-linux-x64.tar.gz
     1.1 M    /tmp
     2.1 K    /user
     476.7 K  /wordcount

    (4)创建目录:

     hadoop fs -mkdir /xyp    ##创建目录;
     hadoop fs -ls /    ##查看结果;
     Found 6 items
     drwxr-xr-x   - hadoop supergroup          0 2016-11-30 07:39 /xyp

    (5)删除目录或文件:

    hadoop fs -rm -r /xyp    ##删除目录;
    16/11/30 07:41:58 INFO fs.TrashPolicyDefault: Namenode trash configuration: Deletion interval = 0 minutes, Emptier interval = 0 minutes.
    Deleted /xyp
    hadoop fs -ls /    ##查看结果
    Found 5 items
    -rw-r--r--   1 hadoop supergroup     487973 2016-11-30 07:06 /hadoop-mapreduce-client-app-2.4.1.jar
    -rwxrwxrwx   1 hadoop  hadoop      153512879 2016-11-29 11:36 /jdk-7u79-linux-x64.tar.gz
    drwx------   - hadoop supergroup          0 2016-11-29 12:05 /tmp
    drwxr-xr-x   - hadoop supergroup          0 2016-11-29 12:05 /user
    drwxr-xr-x   - hadoop supergroup          0 2016-11-30 07:23 /wordcount
  • 相关阅读:
    POJ 3267 The Cow Lexicon(动态规划)
    POJ 1125 Stockbroker Grapevine(最短路径Floyd算法)
    HDU 2374 || SDUT2386 A Game with Marbles(简单题)
    JavaScript之scrollTop、scrollHeight、offsetTop、offsetHeight等属性学习笔记
    基于SNMP的MIB库访问实现的研究
    一个兼容大多数浏览器 的 图片滚动的js
    C#获取本地计算机名,IP,MAC地址,硬盘ID
    中文首字母搜素的实现 sql函数
    xml文档的加密与解密
    修改Windows 2003 server远程桌面端口3389
  • 原文地址:https://www.cnblogs.com/xyp-blog123/p/9403411.html
Copyright © 2011-2022 走看看