视频的容积 发表于 2018-10-31 09:21:38

Hadoop学习笔记--1

  hadoop是什么?

  What Is Apache Hadoop?

  The Apache Hadoop project develops open-source softwarefor>  解决问题:
  海量数据的存储(HDFS)
  海量数据的分析(MapReduce)
  作者:Doug Cutting
  受Google三篇论文的启发(GFS、MapReduce、BigTable)

  hadoop核心
  HDFS: Hadoop Distributed FileSystem 分布式文件系统
  MapReduce:并行计算框架
  怎样解决海量数据的存储?

  HDFS的架构
  主从结构
  主节点,只有一个: namenode
  从节点,有很多个: datanodes
  namenode负责:
  接收用户操作请求
  维护文件系统的目录结构
  管理文件与block之间关系,block与datanode之间关系
  datanode负责:
  存储文件
  文件被分成block存储在磁盘上
  为保证数据安全,文件会有多个副本
  MapReduce的架构
  主从结构
  主节点,只有一个: JobTracker
  从节点,有很多个: TaskTrackers
  JobTracker负责:
  接收客户提交的计算任务
  把计算任务分给TaskTrackers执行
  监控TaskTracker的执行情况
  TaskTrackers负责:
  执行JobTracker分配的计算任务
  Hadoop的特点
  扩容能力(Scalable):能可靠地(reliably)存储和处理千兆字节(PB)数据。
  成本低(Economical):可以通过普通机器组成的服务器群来分发以及处理数据。这些服务器群总计可达数千个节点。
  高效率(Efficient):通过分发数据,hadoop可以在数据所在的节点上并行地(parallel)处理它们,这使得处理非常的快速。
  可靠性(Reliable):hadoop能自动地维护数据的多份副本,并且在任务失败后能自动地重新部署(redeploy)计算任务。
  Hadoop集群的物理分布

  单节点物理结构

  Hadoop部署方式
  本地模式
  伪分布模式
  集群模式
  在虚拟机上部署伪分布模式Hadoop
  软件:vmware9、CentOS6.x、hadoop-1.1.2.tar.gz、jdk-6u45-linux-i586.bin、SecureCRT
  1、安装vmware9,并安装虚拟机CentOS
  2、配置Linux环境
  2.1、虚拟机选择Host-only方式连接,虚拟机的IP与虚拟网卡VMwareNetworkAdapterVMnet1配置在同一网段,这样虚拟机可以和主机通信。
  如下:
  DEVICE=eth0
  BOOTPROTO=static
  HWADDR=00:0c:29:bf:45:8b
  IPV6INIT=yes
  NM_CONTROLLED=yes
  ONBOOT=yes
  TYPE=Ethernet
  UUID="99339c27-0884-46c0-85d5-2612e5c1f149"
  IPADDR=192.168.232.129
  NETMASK=255.255.255.0
  DNS2=8.8.4.4
  GATEWAY=192.168.232.1
  DNS1=8.8.8.8
  USERCTL=no
  2.2、修改主机名
  vi /etc/sysconfig/network

  我将主机名修改为hadooptest
  2.3、修改主机名和IP的映射关系
  vi /etc/hosts
  添加一行 192.168.232.129 hadooptest

[*]  有些版本的Linux只需修改/etc/hosts文件即可,2.2步不需要操作
  2.4、关闭防火墙
  service iptables status
  service iptables stop
  设置防火墙开机不启动
  chkconfig iptables --list
  chkconfig iptables off
  3、安装JDK
  3.1、上传jdk并修改权限,使之可执行
  使用ftp工具上传,
  修改权限:chmod 777 jdk-6u45-linux-i586.bin
  .bin文件为自解压格式文件,执行就会解压到当前目录下
  #./jdk-6u45-linux-i586.bin
  将解压出来的文件夹jdk1.6.0_45移动到/usr/local/下
  #mv /usr/local/jdk1.6.0_45 /usr/local/
  3.2、配置环境变量
  修改/etc/profile文件,在末尾添加
  export JAVA_HOME=/usr/local/jdk1.6.0_45
  export PATH=$PATH:$JAVA_HOME/bin
  添加完之后,运行命令#source /etc/profile,来进行刷新
  4、安装Hadoop
  4.1、上传并解压到指定路径
  在跟路径下新建一个cloud文件夹:#mkdir /cloud
  将hadoop-1.1.2.tar.gz解压到/cloud下:#tar -zxvf hadoop-1.1.2.tar.gz -C /cloud/
  4.2、修改Hadoop的4个配置文件
  第一个:hadoop-env.sh
  export JAVA_HOME=/usr/local/jdk1.6.0_45
  第二个:core-site.xml
  
  
  
  fs.default.name
  hdfs://hadooptest:9000
  
  
  
  hadoop.tmp.dir
  /cloud/hadoop-1.1.2/tmp
  
  
  第三个:hdfs-site.xml
  
  
  
  dfs.replication
  1
  
  
  第四个:mapred-site.xml
  
  
  mapred.job.tracker
  hadooptest:9001
  
  
  4.3、将Hadoop添加到环境变量
  #vi /etc/profile
  export JAVA_HOME=/usr/local/jdk1.6.0_45
  export HADOOP_HOME=/cloud/hadoop-1.1.2
  export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin
  5、格式化HDFS
  #hadoop namenode -format
  6、启动hadoop
  #start-all.sh
  7、验证集群是否启动成功
  #jps    (jps命令的意思是查看java进程,ps的意思是查看所有进程)
  jps(不包括jps应该有5个)
  NameNode
  SecondaryNameNode
  DataNode
  JobTracker
  TaskTracker
  还可以通过浏览器的方式验证
  http://192.168.232.129:50070 (hdfs管理界面)
  http://192.168.232.129:50030 (mr管理界面)
  在这个文件中添加linux主机名和IP的映射关系
  C:\Windows\System32\drivers\etc\hosts
  192.168.232.129 hadooptest
  8、配置ssh免登陆
  #ssh-keygen -t rsa
  #ssh-coyp-id -i localhost(强烈建议)
  或
  #cat ~/.ssh/id_rsa.put >> ~/.ssh/authorized_keys
  ssh免登陆原理

  9、去除启动或者运行命令时的警告
  与HADOOP_HOME有关

页: [1]
查看完整版本: Hadoop学习笔记--1