首页 > 代码库 > Java之使用Hadoop探索大数据的世界

Java之使用Hadoop探索大数据的世界

  什么是大数据

  PB = 1024tb

  7123913827189tb

  Reids

  无共享

  HDFS

  优点 :特别适合存储大型文件

  TFS

  hdfs 架构

  NameNode: 整个hadoop总管,只有一个,DataNode down了

  存储为镜像文件fsimage 和edites

  secondary 定期合并日志文件及镜像文件

  DataNode 负责存储数据

  以固定大小的block为基本单位组织文件内容 默认大小是64M

  MapReduce

  JobTracker 主要负责资源监控及作业调度。

  TaskTrachker

  slot 分为Map slot Reduce slot

  Task

  map Task Reduce Tack

  配置单台hadoop 伪分布式环境

  1编辑 ~/.bashrc

  export HADOOP_HOME=/usr/local/hadoop //hadoop 安装路径

  export HADOOP_INSTALL=$HADOOP_HOME

  export HADOOP_MAPRED_HOME=$HADOOP_HOME

  export HADOOP_COMMON_HOME=$HADOOP_HOME

  export HADOOP_HDFS_HOME=$HADOOP_HOME

  export YARN_HOME=$HADOOP_HOME

  export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native

  export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin

  保存后让设置生效

  source ~/.bashrc

  ./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar grep input output ‘dfs[a-z.]+‘

  数据本地化

  运算移动,数据不移动

  需求:查询哪个账户钱最多

  moneys[] ....//moneys = 56789778687687;

  max = 0L;

  for(i=0L:moneys){

  if(i>max){

  max=i;

  }

  }

  MapReduce

  Map1 Map 2 Map4

  1233 4223423 423432

  1000 800 1200

  1200

  ./etc/hadoop/core-site.xml

  <configuration>

  <property>

  <name>hadoop.tmp.dir</name>

  <value>file:/usr/local/hadoop/tmp</value>

  <description>Abase for other temporary directories.</description>

  </property>

  <property>

  <name>fs.defaultFS</name>

  <value>hdfs://localhost:9000</value>

  </property>

  </configuration>

  hdfs-site.xml

  <configuration>

  <property>

  <name>dfs.replication</name>

  <value>1</value>

  </property>

  <property>

  <name>dfs.namenode.name.dir</name>

  <value>file:/usr/local/hadoop/tmp/dfs/name</value>

  </property>

  <property>

  <name>dfs.datanode.data.dir</name>

  <value>file:/usr/local/hadoop/tmp/dfs/data</value>

  </property>

  </configuration>

  优酷Java视频总汇地址:http://i.youku.com/i/UMTI4MTEzNTA0MA==?spm=a2hww.20023042.uerCenter.5~5!2~A

Java之使用Hadoop探索大数据的世界