1、四、 配置hadoop现在master上配置如下:在/hadoop-0.20.2/conf/hadoop-env.sh中jdk的安装路径 # The java implementation to use. Required. export JAVA_HOME=C:Javajdk1.6.0_02当然还有其中还有其他要配置的,测试用,明白了就行.分别在/hadoop-0.20.2/conf/core-site.xml、hdfs-site.xml、mapred-site.xml中配置如下:core-site.xml fs.default.namevaluehdfs:/master:9001/prop
2、ertyhdfs-site.xmldfs.datanode.max.xcievers4096dfs.replication2mapred-site.xmlmapred.job.trackermaster:9002 mapred.task.timeout0mapred.child.tmp/home/hadoop-0.20.2/temp在/hadoop-0.20.2/conf/masters、slavers文件中加入主机: masters文件中加入: master slavers文件中加入: master /将master也做为datanode slaver配置完成后将此copy到slaver1上
3、去. 为了输入简单: 配置环境变量:HADOOP_HOME = e:/hadoop-0.20.2 并在/cygwin/etc/pofile中加入:export HADOOP_HOME=/cygdrive/e/hadoop-0.20.2export PATH=$PATH:$HADOOP_HOME/bin#xport HBASE_HOME=/cygdrive/e/hbase-0.90.3 /先注释掉用的时候再取消#xport PATH=$PATH:$HBASE_HOME/bin五、 启动测试机器 $ ssh master $ cd $HADOOP_HOME $ bin/hadoop namenod
4、e format 格式化主节点 $ bin/start-all.sh查看报告$ bin/hadoop dfsadmin reportWeb界面: http:50030/50060/50070如有节点启动不起来的情况:可以先stop-all.sh再删除临时文件/tmp和日志文件logs.再从新格式化节点,重新启动(start-all.sh)主机.六、配置HBase HBase是什么?官网WIKI,英文看不懂,google翻译 先配置环境变量吧.HBASE_HOME = e:/habse-0.90.3 接着取消/cygwin/etc/pofile的注释 在hbase-0.90.3/conf/hba
5、se-env.sh中修改jdk的安装路径 # The java implementation to use. Java 1.6 required. export JAVA_HOME=/当然这里有很多其他的配置,用的时候自行修改 修改hbase-site.xmlhbase.rootdir /如果是在单机下只保留这一项即可9001/hbase /与hadoop中的core-site.xml配置一直hbase.cluster.distributedtruehbase.master60000hbase.zookeeper.quorumslaver1 /这里配置的主机说是单数,参考wikihbase.z
6、ookeeper.property.dataDir/data/work/zookeeper 修改regionservers文件:slaver1配置完成后copy到slaver1上去即可.注意要jdk的配置七、 启动Hbase浏览主页http:60010可以使用shell命令创建表$ bin/hbase shellcreate test,id,nameput test,row1,id,1put test,row1,name,fenglistscan testget test,row1.and so on八、整合eclipse做开发 将hadoop-0.20.2的/hadoop-0.20.2/co
7、ntrib/eclipse-plugin/hadoop-0.20.2-eclipse-plugin.jar插件以link的方式集成到my eclipise中,具体的操作自己查看.如果有问题,请将my eclipse升级到8.0以后的 重启my eclipse将会在右上放工程模式中看到蓝色 _ _ / / ,-( . ) / _ _/ /| ( |( /_ / | |_| |_|-新建工程新建map和reduce类,以及M/R驱动类:一个Map/Reduce例子import java.io.IOException;import org.apache.hadoop.fs.Path;import o
8、rg.apache.hadoop.io.*;import org.apache.hadoop.mapreduce.Job;import org.apache.hadoop.mapreduce.Mapper;import org.apache.hadoop.mapreduce.Reducer;import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;public class NewMaxTemperature
9、 static class NewMaxTemperatureMapper extends Mapper / private static final int MISSING = 99; public void map(LongWritable key, Text value, Context context)throws IOException, InterruptedException String line = value.toString(); String year = line.substring(2, 6); int airTemperature; int startIndex
10、= line.indexOf(+); int endIndex = line.indexOf(. airTemperature = Integer.parseInt(line.substring(startIndex+1, endIndex); / String quality = line.substring(0, 2); / if (airTemperature !=MISSING & quality.matches(00) context.write(new Text(year), new IntWritable(airTemperature); / static class NewMa
11、xTemperatureReducer extends Reducer public void reduce(Text key, Iterable values, Context context)throws IOException, InterruptedException int maxValue = Integer.MIN_VALUE; for (IntWritable value : values) maxValue = Math.max(maxValue, value.get(); context.write(key, new IntWritable(maxValue); publi
12、c static void main(String args) throws Exception if (args.length != 2) System.err.println(Usage: NewMaxTemperature output path System.exit(-1); Job job = new Job(); job.setJarByClass(NewMaxTemperature.class); FileInputFormat.addInputPath(job, new Path(/user/Administrator/input); FileOutputFormat.set
13、OutputPath(job, new Path(/user/Administrator/output job.setMapperClass(NewMaxTemperatureMapper.class); job.setReducerClass(NewMaxTemperatureReducer.class); job.setOutputKeyClass(Text.class); job.setOutputValueClass(IntWritable.class); System.exit(job.waitForCompletion(true) ? 0 : 1);一个HBASE的例子:packa
14、ge org.hbase.feng;import java.util.ArrayList;import java.util.List;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.hbase.HBaseConfiguration;import org.apache.hadoop.hbase.HColumnDescriptor;import org.apache.hadoop.hbase.HTableDescriptor;import org.apache.hadoop.hbase.KeyValue;im
15、port org.apache.hadoop.hbase.MasterNotRunningException;import org.apache.hadoop.hbase.ZooKeeperConnectionException;import org.apache.hadoop.hbase.client.Delete;import org.apache.hadoop.hbase.client.Get;import org.apache.hadoop.hbase.client.HBaseAdmin;import org.apache.hadoop.hbase.client.HTable;impo
16、rt org.apache.hadoop.hbase.client.Put;import org.apache.hadoop.hbase.client.Result;import org.apache.hadoop.hbase.client.ResultScanner;import org.apache.hadoop.hbase.client.Scan;import org.apache.hadoop.hbase.util.Bytes;public class TestHbase private static Configuration conf = HBaseConfiguration.cr
17、eate(); public void putData() try HTable table = new HTable(conf,test Put put = new Put(Bytes.toBytes(rows1 put.add(Bytes.toBytes(id), Bytes.toBytes(0feng table.put(put); catch (IOException e) e.printStackTrace(); public void putData1() String columns = new String,agename; for(int i=0;icolumns.lengt
18、h;i+) Put put = new Put(Bytes.toBytes(rows+(i+1); for(int j=0;j id, CACHE_BLOCKS = false public void getFamily() Get get = new Get(Bytes.toBytes( Result r = table.get(get); byte b = r.getValue(Bytes.toBytes(), Bytes.toBytes(1); if(b=null) System.out.println(值不存在!检查簇是不是存在 return; else System.out.println(new String(b); /* * 删除某一行数据 * *
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1