• 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
  • 相关阅读:
    php中读取文件内容的几种方法。(file_get_contents:将文件内容读入一个字符串)
    php标准库spl栈SplStack如何使用?
    js进阶正则表达式15验证身份证号(|符号的使用:var reg=/^d{17}[d|X]$|^d{15}$/)(str的方法substr)
    一步一步教你自定义博客园(cnblog)界面
    php中foreach源码分析(编译原理)
    php面试题12(多态web服务器共享session的方法:将session存到数据库)($val=&$data[$key];)
    前端开发必备调试工具(Chrome的F12自带的功能和firebug插件差不多)
    PHP 根据对象属性进行对象数组的排序(usort($your_data, "cmp");)(inside the class: usort($your_data, array($this, "cmp")))
    如何查看一个网页特定效果的js代码(动画效果可js和css)(页面可以看到js的源代码)
    bsh for android : 北京
  • 原文地址:https://www.cnblogs.com/xyp-blog123/p/9403411.html
Copyright © 2020-2023  润新知