[开发]Win7环境下Eclipse连接Hadoop2.2.0

时间:2023-01-21 11:54:16
准备:
确保hadoop2.2.0集群正常运行
1.eclipse中建立mven工程,并编辑pom文件如下
 <dependencies>
<dependency>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-client</artifactId>
<version>0.96.2-hadoop2</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-hdfs</artifactId>
<version>2.2.0</version>
</dependency>
<dependency>
<groupId>jdk.tools</groupId>
<artifactId>jdk.tools</artifactId>
<version>1.7</version>
<scope>system</scope>
<systemPath>${JAVA_HOME}/lib/tools.jar</systemPath>
</dependency>
</dependencies>

2.在src/main/resources根目录下拷入log4j.properties,通过log4j查看详细日志

log4j.rootLogger=debug, stdout, R
log4j.appender.stdout
=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout
=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern
=%5p - %m%n
log4j.appender.R
=org.apache.log4j.RollingFileAppender
log4j.appender.R.File
=firestorm.log
log4j.appender.R.MaxFileSize
=100KB
log4j.appender.R.MaxBackupIndex
=1
log4j.appender.R.layout
=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern
=%p %t %c - %m%n
log4j.logger.com.codefutures
=DEBUG

3.拷入一个可执行的hadoop程序,我用的是一个HdfsDAO,可以先保证HDFS操作能执行

package com.bigdata.hdfs;

import java.io.IOException;
import java.net.URI;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FSDataInputStream;
import org.apache.hadoop.fs.FSDataOutputStream;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IOUtils;
import org.apache.hadoop.mapred.JobConf;

public class HdfsDAO {
private static final String HDFS = "hdfs://192.168.11.37:9000/";


public HdfsDAO(Configuration conf) {
this(HDFS, conf);
}

public HdfsDAO(String hdfs, Configuration conf) {
this.hdfsPath = hdfs;
this.conf = conf;
}
private String hdfsPath;
private Configuration conf;
public static void main(String[] args) throws IOException {
JobConf conf
= config();
HdfsDAO hdfs
= new HdfsDAO(conf);
// hdfs.copyFile("datafile/item.csv", "/tmp/new");
// hdfs.ls("/tmp/new");
hdfs.ls("/");
}

public static JobConf config(){
JobConf conf
= new JobConf(HdfsDAO.class);
conf.setJobName(
"HdfsDAO");
conf.addResource(
"classpath:/hadoop/core-site.xml");
conf.addResource(
"classpath:/hadoop/hdfs-site.xml");
conf.addResource(
"classpath:/hadoop/mapred-site.xml");
return conf;
}

public void mkdirs(String folder) throws IOException {
Path path
= new Path(folder);
FileSystem fs
= FileSystem.get(URI.create(hdfsPath), conf);
if (!fs.exists(path)) {
fs.mkdirs(path);
System.
out.println("Create: " + folder);
}
fs.close();
}
public void rmr(String folder) throws IOException {
Path path
= new Path(folder);
FileSystem fs
= FileSystem.get(URI.create(hdfsPath), conf);
fs.deleteOnExit(path);
System.
out.println("Delete: " + folder);
fs.close();
}
public void ls(String folder) throws IOException {
Path path
= new Path(folder);
FileSystem fs
= FileSystem.get(URI.create(hdfsPath), conf);
FileStatus[] list
= fs.listStatus(path);
System.
out.println("ls: " + folder);
System.
out.println("==========================================================");
for (FileStatus f : list) {
System.
out.printf("name: %s, folder: %s, size: %d\n", f.getPath(), f.isDir(), f.getLen());
}
System.
out.println("==========================================================");
fs.close();
}
public void createFile(String file, String content) throws IOException {
FileSystem fs
= FileSystem.get(URI.create(hdfsPath), conf);
byte[] buff = content.getBytes();
FSDataOutputStream os
= null;
try {
os
= fs.create(new Path(file));
os.write(buff,
0, buff.length);
System.
out.println("Create: " + file);
}
finally {
if (os != null)
os.close();
}
fs.close();
}
public void copyFile(String local, String remote) throws IOException {
FileSystem fs
= FileSystem.get(URI.create(hdfsPath), conf);
fs.copyFromLocalFile(
new Path(local), new Path(remote));
System.
out.println("copy from: " + local + " to " + remote);
fs.close();
}
public void download(String remote, String local) throws IOException {
Path path
= new Path(remote);
FileSystem fs
= FileSystem.get(URI.create(hdfsPath), conf);
fs.copyToLocalFile(path,
new Path(local));
System.
out.println("download: from" + remote + " to " + local);
fs.close();
}

public void cat(String remoteFile) throws IOException {
Path path
= new Path(remoteFile);
FileSystem fs
= FileSystem.get(URI.create(hdfsPath), conf);
FSDataInputStream fsdis
= null;
System.
out.println("cat: " + remoteFile);
try {
fsdis
=fs.open(path);
IOUtils.copyBytes(fsdis, System.
out, 4096, false);
}
finally {
IOUtils.closeStream(fsdis);
fs.close();
}
}
public void location() throws IOException {
// String folder = hdfsPath + "create/";
// String file = "t2.txt";
// FileSystem fs = FileSystem.get(URI.create(hdfsPath), new
// Configuration());
// FileStatus f = fs.getFileStatus(new Path(folder + file));
// BlockLocation[] list = fs.getFileBlockLocations(f, 0, f.getLen());
//
// System.out.println("File Location: " + folder + file);
// for (BlockLocation bl : list) {
// String[] hosts = bl.getHosts();
// for (String host : hosts) {
// System.out.println("host:" + host);
// }
// }
// fs.close();
}

}

4.运行HdfsDAO

报错:
java.io.IOException: HADOOP_HOME or hadoop.home.dir are not set.
at org.apache.hadoop.util.Shell.checkHadoopHome(Shell.java:225)
at org.apache.hadoop.util.Shell.<clinit>(Shell.java:250)
at org.apache.hadoop.util.StringUtils.<clinit>(StringUtils.java:76)
at org.apache.hadoop.conf.Configuration.getTrimmedStrings(Configuration.java:1546)
at org.apache.hadoop.hdfs.DFSClient.<init>(DFSClient.java:519)
at org.apache.hadoop.hdfs.DFSClient.<init>(DFSClient.java:453)
at org.apache.hadoop.hdfs.DistributedFileSystem.initialize(DistributedFileSystem.java:136)
at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2433)
at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:88)
at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2467)
at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2449)
at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:367)
at HdfsDAO.copyFile(HdfsDAO.java:94)
at HdfsDAO.main(HdfsDAO.java:34)
ERROR - Failed to locate the winutils binary in the hadoop binary path
java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries.
at org.apache.hadoop.util.Shell.getQualifiedBinPath(Shell.java:278)
at org.apache.hadoop.util.Shell.getWinUtilsPath(Shell.java:300)
at org.apache.hadoop.util.Shell.<clinit>(Shell.java:293)
at org.apache.hadoop.util.StringUtils.<clinit>(StringUtils.java:76)
at org.apache.hadoop.conf.Configuration.getTrimmedStrings(Configuration.java:1546)
at org.apache.hadoop.hdfs.DFSClient.<init>(DFSClient.java:519)
at org.apache.hadoop.hdfs.DFSClient.<init>(DFSClient.java:453)
at org.apache.hadoop.hdfs.DistributedFileSystem.initialize(DistributedFileSystem.java:136)
at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2433)
at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:88)
at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2467)
at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2449)
at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:367)
at HdfsDAO.copyFile(HdfsDAO.java:94)
at HdfsDAO.main(HdfsDAO.java:34)

  

解决:
首先,在win7中设置环境变量HADOOP_HOME,指向win7中的hadoop2.2.0根目录。
然后,到  https://github.com/srccodes/hadoop-common-2.2.0-bin 去下载hadoop2.2.0的bin,里面有winutils.exe
将其拷贝到 $HADOOP_HOME/bin 下。
5.重新启动,顺利执行
[开发]Win7环境下Eclipse连接Hadoop2.2.0[开发]Win7环境下Eclipse连接Hadoop2.2.0
DEBUG - field org.apache.hadoop.metrics2.lib.MutableRate org.apache.hadoop.security.UserGroupInformation$UgiMetrics.loginSuccess with annotation @org.apache.hadoop.metrics2.annotation.Metric(valueName=Time, about=, value=[Rate of successful kerberos logins and latency (milliseconds)], always=false, type=DEFAULT, sampleName=Ops)
DEBUG
- field org.apache.hadoop.metrics2.lib.MutableRate org.apache.hadoop.security.UserGroupInformation$UgiMetrics.loginFailure with annotation @org.apache.hadoop.metrics2.annotation.Metric(valueName=Time, about=, value=[Rate of failed kerberos logins and latency (milliseconds)], always=false, type=DEFAULT, sampleName=Ops)
DEBUG
- UgiMetrics, User and group related metrics
DEBUG
- Kerberos krb5 configuration not found, setting default realm to empty
DEBUG
- Creating new Groups object
DEBUG
- Trying to load the custom-built native-hadoop library...
DEBUG
- Failed to load native-hadoop with error: java.lang.UnsatisfiedLinkError: no hadoop in java.library.path
DEBUG
- java.library.path=D:\Program Files\Java\jre7\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Intel\OpenCL SDK\3.0\bin\x86;C:\Program Files (x86)\Intel\OpenCL SDK\3.0\bin\x64;D:\Program Files\Java\jdk1.7.0_40\bin;D:\Program Files\Java\jdk1.7.0_40\jre\bin;D:\Program Files\TortoiseSVN\bin;D:\Program Files (x86)\ant\bin;D:\Program Files\maven3\bin;.
WARN
- Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
DEBUG
- Falling back to shell based
DEBUG
- Group mapping impl=org.apache.hadoop.security.ShellBasedUnixGroupsMapping
DEBUG
- Group mapping impl=org.apache.hadoop.security.JniBasedUnixGroupsMappingWithFallback; cacheTimeout=300000
DEBUG
- hadoop login
DEBUG
- hadoop login commit
DEBUG
- using local user:NTUserPrincipal: Administrator
DEBUG
- UGI loginUser:Administrator (auth:SIMPLE)
DEBUG
- dfs.client.use.legacy.blockreader.local = false
DEBUG
- dfs.client.read.shortcircuit = false
DEBUG
- dfs.client.domain.socket.data.traffic = false
DEBUG
- dfs.domain.socket.path =
DEBUG
- StartupProgress, NameNode startup progress
DEBUG
- multipleLinearRandomRetry = null
DEBUG
- rpcKind=RPC_PROTOCOL_BUFFER, rpcRequestWrapperClass=class org.apache.hadoop.ipc.ProtobufRpcEngine$RpcRequestWrapper, rpcInvoker=org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker@1afde4a3
DEBUG
- Both short-circuit local reads and UNIX domain socket are disabled.
DEBUG
- The ping interval is 60000 ms.
DEBUG
- Connecting to /192.168.0.160:8020
DEBUG
- IPC Client (60133785) connection to /192.168.0.160:8020 from Administrator: starting, having connections 1
DEBUG
- IPC Client (60133785) connection to /192.168.0.160:8020 from Administrator sending #0
DEBUG
- IPC Client (60133785) connection to /192.168.0.160:8020 from Administrator got value #0
DEBUG
- Call: getListing took 136ms
ls:
/
==========================================================
name: hdfs:
//192.168.0.160:8020/data, folder: true, size: 0
name: hdfs://192.168.0.160:8020/fulong, folder: true, size: 0
name: hdfs://192.168.0.160:8020/test, folder: true, size: 0
name: hdfs://192.168.0.160:8020/tmp, folder: true, size: 0
name: hdfs://192.168.0.160:8020/user, folder: true, size: 0
name: hdfs://192.168.0.160:8020/workspace, folder: true, size: 0
==========================================================
DEBUG
- Stopping client
DEBUG
- IPC Client (60133785) connection to /192.168.0.160:8020 from Administrator: closed
DEBUG
- IPC Client (60133785) connection to /192.168.0.160:8020 from Administrator: stopped, remaining connections 0
View Code

6.测试hbase代码

[开发]Win7环境下Eclipse连接Hadoop2.2.0[开发]Win7环境下Eclipse连接Hadoop2.2.0
package com.rockontrol.tryhbase;
import
static org.junit.Assert.*;

import java.io.IOException;
import java.io.InputStream;
import java.util.Random;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HColumnDescriptor;
import org.apache.hadoop.hbase.HTableDescriptor;
import org.apache.hadoop.hbase.KeyValue;
import org.apache.hadoop.hbase.client.Get;
import org.apache.hadoop.hbase.client.HBaseAdmin;
import org.apache.hadoop.hbase.client.HTable;
import org.apache.hadoop.hbase.client.HTablePool;
import 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.filter.PrefixFilter;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.log4j.Logger;
import org.junit.Test;

public class TestUseHbase {

private String table = "Tenant";
private String cfs[] = {"i"};
private final int availableProcessors =
Runtime.getRuntime().availableProcessors();
private ExecutorService exec =
Executors.newFixedThreadPool(availableProcessors
*2);
private Random rnd = new Random();
private final int ROW_KEY_LEN = Bytes.SIZEOF_LONG + Bytes.SIZEOF_BYTE;
private final String colId = "id";
private final String colStat = "stat";
private final String colCert = "cert";

private Configuration conf;
private HTablePool pool;

private static final Logger logger =
Logger.getLogger(TestUseHbase.
class);

public TestUseHbase() throws Exception {
conf
= new Configuration();
conf.addResource(getHbaseConfStream());
pool
= new HTablePool(conf, 1000);
}

@Test
public void testSetupTable() throws Exception {

HBaseAdmin admin
= new HBaseAdmin(conf);

try {
if (admin.tableExists(table)) {
logger.info(
"table already exists!");
}
else {
HTableDescriptor tableDesc
=new HTableDescriptor(table);
for(String cf : cfs) {
tableDesc.addFamily(
new HColumnDescriptor(cf));
}
admin.createTable(tableDesc);
logger.info(
"table created!");
}
}
finally {
admin.close();
}
}

@Test
public void testPuts() throws Exception {

final HTable htable
= (HTable) pool.getTable(table);
// put random id
for (int i = 0; i < 10; i++) {
exec.execute(
new Runnable() {
@Override
public void run() {
long authId = getAuthId();
byte[] rowkey = createRowKey(authId, (byte) 0);
htable.setAutoFlush(
false);
Put put
= new Put(rowkey);
put.add(cfs[
0].getBytes(), colId.getBytes(), String.valueOf(authId)
.getBytes());
put.add(cfs[
0].getBytes(), colStat.getBytes(), String.valueOf(0)
.getBytes());
try {
synchronized (htable) {
htable.put(put);
htable.flushCommits();
}
}
catch (IOException e) {
logger.error(
"ERROR: insert authId=" + authId, e);
}
}
});
}
exec.shutdown();

int count = 0;
while (!exec.awaitTermination(10, TimeUnit.SECONDS)) {
logger.warn(
"thread pool is still running");
if (count++ > 3) {
logger.warn(
"force to exit anyway...");
break;
}
}

htable.flushCommits();
pool.putTable(htable);

}

@Test
public void testFullScan() throws Exception {

HTable htable
= (HTable) pool.getTable(table);
long last = Long.MIN_VALUE;

ResultScanner rs
= htable.getScanner(new Scan());
long authId = 0;
byte stat = 0;
String strAuthId;
String strStat;
for (Result r : rs) {

KeyValue kvId
= r.getColumnLatest(cfs[0].getBytes(), colId.getBytes());
KeyValue kvStat
= r.getColumnLatest(cfs[0].getBytes(), colStat.getBytes());
if (kvId != null && kvStat != null) {
strAuthId
= new String(kvId.getValue());
strStat
= new String(kvStat.getValue());
authId
= getIdByRowKey(kvId.getKey());
stat
= getStatByRowKey(kvId.getKey());
assertTrue(
"last=" + last +
", current=" + authId, authId >= last); // incremental sorted
last = authId;
logger.info(
"authId=" + authId + ", stat=" + stat + ", value=[" + strAuthId
+ ", " + strStat + "]");
}
else {
for (KeyValue kv : r.raw()) {
authId
= getIdByRowKey(kv.getKey());
stat
= getStatByRowKey(kv.getKey());
assertTrue(
"last=" + last +
", current=" + authId, authId >= last); // incremental sort
last = authId;
logger.info(
"authId=" + authId + ", stat=" + stat);
logger.info(
new String(kv.getValue()));
}
}
}

}

@Test
public void testSpecScan() throws Exception {
HTable htable
= (HTable) pool.getTable(table);
long specId = getAuthId();
byte[] rowkey = createRowKey(specId, (byte) 0);

// PUT
Put put = new Put(rowkey);
put.add(cfs[
0].getBytes(), colId.getBytes(), String.valueOf(specId)
.getBytes());
put.add(cfs[
0].getBytes(), colStat.getBytes(), String.valueOf(0)
.getBytes());
htable.put(put);

// Get with rowkey
Get scan = new Get(rowkey);
Result r
= htable.get(scan);
assertTrue(
!r.isEmpty());
long id = 0;
for(KeyValue kv : r.raw()) {
id
= getIdByRowKey(kv.getKey());
assertEquals(specId, id);
logger.info(
"authId=" + id +
", cf=" + new String(kv.getFamily()) +
", key=" + new String(kv.getQualifier()) +
", value=" + new String(kv.getValue()));
}

// Put with specId but stat and different column
rowkey = createRowKey(specId, (byte)1);
put
= new Put(rowkey);
put.add(cfs[
0].getBytes(), colCert.getBytes(), "xyz".getBytes());
htable.put(put);

// Get with rowkey prefix
Scan s = new Scan();
s.setFilter(
new PrefixFilter(createRowKeyPrefix(specId)));
ResultScanner rs
= htable.getScanner(s);
for(Result ret : rs) {
String strk
= new String(ret.getRow());
logger.info(
"ret=" + strk);
for(KeyValue kv : ret.raw()) {
id
= getIdByRowKey(kv.getKey());
assertEquals(specId, id);
logger.info(
"authId=" + id +
", stat=" + getStatByRowKey(kv.getKey()) +
", cf=" + new String(kv.getFamily()) +
", key=" + new String(kv.getQualifier()) +
", value=" + new String(kv.getValue()));
}
}

// Get with start and end row
s = new Scan();
s.setStartRow(createRowKeyPrefix(specId));
s.setStopRow(createRowKeyPrefix(specId
+1));
rs
= htable.getScanner(s);
for(Result ret : rs) {
String strk
= new String(ret.getRow());
logger.info(
"ret=" + strk);
for(KeyValue kv : ret.raw()) {
id
= getIdByRowKey(kv.getKey());
assertEquals(specId, id);
logger.info(
"authId=" + id +
", stat=" + getStatByRowKey(kv.getKey()) +
", cf=" + new String(kv.getFamily()) +
", key=" + new String(kv.getQualifier()) +
", value=" + new String(kv.getValue()));
}
}
}

@Test
public void testBytesConv() throws Exception {
long a = 120;
byte s = 0;
byte[] data = new byte[9];
int off = Bytes.putLong(data, 0, a);
Bytes.putByte(data, off, s);
long b = Bytes.toLong(data);
byte t = data[8];
assertEquals(a, b);
assertEquals(s, t);
}

private byte[] createRowKey(long authId, byte stat) {
byte[] rowkey = new byte[ROW_KEY_LEN];
int off = Bytes.putLong(rowkey, 0, authId);
Bytes.putByte(rowkey, off, stat);
return rowkey;
}

private byte[] createRowKeyPrefix(long authId) {
byte[] prefix = new byte[Bytes.SIZEOF_LONG];
Bytes.putLong(prefix,
0, authId);
return prefix;
}

private long getIdByRowKey(byte[] rowkey) {
// HACK
return Bytes.toLong(rowkey, Bytes.SIZEOF_SHORT);
}

private byte getStatByRowKey(byte[] rowkey) {
// HACK
return rowkey[Bytes.SIZEOF_SHORT + ROW_KEY_LEN - 1];
}

private long getAuthId() {
long authId = rnd.nextLong();
authId
= authId > 0 ? authId : -authId;
return authId;
}

private static InputStream getHbaseConfStream() throws Exception {
return TestUseHbase.class.getClassLoader().getResourceAsStream("hbase-site.xml");
}

}
View Code

7.执行成功

[开发]Win7环境下Eclipse连接Hadoop2.2.0[开发]Win7环境下Eclipse连接Hadoop2.2.0
2014-09-04 12:52:29  [ main:0 ] - [ DEBUG ]  field org.apache.hadoop.metrics2.lib.MutableRate org.apache.hadoop.security.UserGroupInformation$UgiMetrics.loginSuccess with annotation @org.apache.hadoop.metrics2.annotation.Metric(valueName=Time, about=, value=[Rate of successful kerberos logins and latency (milliseconds)], always=false, type=DEFAULT, sampleName=Ops)
2014-09-04 12:52:29 [ main:10 ] - [ DEBUG ] field org.apache.hadoop.metrics2.lib.MutableRate org.apache.hadoop.security.UserGroupInformation$UgiMetrics.loginFailure with annotation @org.apache.hadoop.metrics2.annotation.Metric(valueName=Time, about=, value=[Rate of failed kerberos logins and latency (milliseconds)], always=false, type=DEFAULT, sampleName=Ops)
2014-09-04 12:52:29 [ main:11 ] - [ DEBUG ] UgiMetrics, User and group related metrics
2014-09-04 12:52:29 [ main:253 ] - [ DEBUG ] Kerberos krb5 configuration not found, setting default realm to empty
2014-09-04 12:52:29 [ main:257 ] - [ DEBUG ] Creating new Groups object
2014-09-04 12:52:29 [ main:259 ] - [ DEBUG ] Trying to load the custom-built native-hadoop library...
2014-09-04 12:52:29 [ main:261 ] - [ DEBUG ] Failed to load native-hadoop with error: java.lang.UnsatisfiedLinkError: no hadoop in java.library.path
2014-09-04 12:52:29 [ main:261 ] - [ DEBUG ] java.library.path=D:\Program Files\Java\jdk1.7.0_45\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;D:\Perl64\bin;D:\Perl64\site\bin;C:\Program Files (x86)\Common Files\NetSarang;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Intel\OpenCL SDK\2.0\bin\x86;C:\Program Files (x86)\Intel\OpenCL SDK\2.0\bin\x64;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;D:\java\maven/bin;D:\Program Files\Java\jdk1.8.0/bin;d:\Program Files (x86)\YYXT\AudioEditorOCX;D:\Program Files\MySQL\MySQL Server 5.5\bin;D:\hadoop\apache-ant-1.9.3\bin;D:\Program Files\nodejs\;D:\Program Files\TortoiseSVN\bin;D:\Perl64\bin;D:\Perl64\site\bin;C:\Users\lenovo\AppData\Roaming\npm;.
2014-09-04 12:52:29 [ main:261 ] - [ WARN ] Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
2014-09-04 12:52:29 [ main:261 ] - [ DEBUG ] Falling back to shell based
2014-09-04 12:52:29 [ main:262 ] - [ DEBUG ] Group mapping impl=org.apache.hadoop.security.ShellBasedUnixGroupsMapping
2014-09-04 12:52:29 [ main:262 ] - [ DEBUG ] Group mapping impl=org.apache.hadoop.security.JniBasedUnixGroupsMappingWithFallback; cacheTimeout=300000
2014-09-04 12:52:29 [ main:268 ] - [ DEBUG ] hadoop login
2014-09-04 12:52:29 [ main:268 ] - [ DEBUG ] hadoop login commit
2014-09-04 12:52:29 [ main:274 ] - [ DEBUG ] using local user:NTUserPrincipal: lenovo
2014-09-04 12:52:29 [ main:276 ] - [ DEBUG ] UGI loginUser:lenovo (auth:SIMPLE)
2014-09-04 12:52:29 [ main:418 ] - [ INFO ] Client environment:zookeeper.version=3.4.5-1392090, built on 09/30/2012 17:52 GMT
2014-09-04 12:52:29 [ main:418 ] - [ INFO ] Client environment:host.name=qiaokai-PC
2014-09-04 12:52:29 [ main:418 ] - [ INFO ] Client environment:java.version=1.7.0_45
2014-09-04 12:52:29 [ main:418 ] - [ INFO ] Client environment:java.vendor=Oracle Corporation
2014-09-04 12:52:29 [ main:418 ] - [ INFO ] Client environment:java.home=D:\Program Files\Java\jdk1.7.0_45\jre
2014-09-04 12:52:29 [ main:418 ] - [ INFO ] Client environment:java.class.path=D:\Users\lenovo\koalaSP\dbhbase\target\classes;D:\java\mavenRepo\org\apache\hbase\hbase-client\0.96.2-hadoop2\hbase-client-0.96.2-hadoop2.jar;D:\java\mavenRepo\org\apache\hbase\hbase-common\0.96.2-hadoop2\hbase-common-0.96.2-hadoop2.jar;D:\java\mavenRepo\commons-collections\commons-collections\3.2.1\commons-collections-3.2.1.jar;D:\java\mavenRepo\org\apache\hbase\hbase-protocol\0.96.2-hadoop2\hbase-protocol-0.96.2-hadoop2.jar;D:\java\mavenRepo\commons-codec\commons-codec\1.7\commons-codec-1.7.jar;D:\java\mavenRepo\commons-io\commons-io\2.4\commons-io-2.4.jar;D:\java\mavenRepo\commons-lang\commons-lang\2.6\commons-lang-2.6.jar;D:\java\mavenRepo\commons-logging\commons-logging\1.1.1\commons-logging-1.1.1.jar;D:\java\mavenRepo\com\google\guava\guava\12.0.1\guava-12.0.1.jar;D:\java\mavenRepo\com\google\code\findbugs\jsr305\1.3.9\jsr305-1.3.9.jar;D:\java\mavenRepo\com\google\protobuf\protobuf-java\2.5.0\protobuf-java-2.5.0.jar;D:\java\mavenRepo\io\netty\netty\3.6.6.Final\netty-3.6.6.Final.jar;D:\java\mavenRepo\org\apache\zookeeper\zookeeper\3.4.5\zookeeper-3.4.5.jar;D:\java\mavenRepo\org\slf4j\slf4j-api\1.6.1\slf4j-api-1.6.1.jar;D:\java\mavenRepo\org\slf4j\slf4j-log4j12\1.6.1\slf4j-log4j12-1.6.1.jar;D:\java\mavenRepo\org\cloudera\htrace\htrace-core\2.04\htrace-core-2.04.jar;D:\java\mavenRepo\org\codehaus\jackson\jackson-mapper-asl\1.8.8\jackson-mapper-asl-1.8.8.jar;D:\java\mavenRepo\org\apache\hadoop\hadoop-common\2.2.0\hadoop-common-2.2.0.jar;D:\java\mavenRepo\org\apache\commons\commons-math\2.1\commons-math-2.1.jar;D:\java\mavenRepo\commons-httpclient\commons-httpclient\3.1\commons-httpclient-3.1.jar;D:\java\mavenRepo\commons-net\commons-net\3.1\commons-net-3.1.jar;D:\java\mavenRepo\com\sun\jersey\jersey-json\1.9\jersey-json-1.9.jar;D:\java\mavenRepo\org\codehaus\jettison\jettison\1.1\jettison-1.1.jar;D:\java\mavenRepo\stax\stax-api\1.0.1\stax-api-1.0.1.jar;D:\java\mavenRepo\com\sun\xml\bind\jaxb-impl\2.2.3-1\jaxb-impl-2.2.3-1.jar;D:\java\mavenRepo\javax\xml\bind\jaxb-api\2.2.2\jaxb-api-2.2.2.jar;D:\java\mavenRepo\javax\activation\activation\1.1\activation-1.1.jar;D:\java\mavenRepo\org\codehaus\jackson\jackson-jaxrs\1.8.3\jackson-jaxrs-1.8.3.jar;D:\java\mavenRepo\org\codehaus\jackson\jackson-xc\1.8.3\jackson-xc-1.8.3.jar;D:\java\mavenRepo\commons-el\commons-el\1.0\commons-el-1.0.jar;D:\java\mavenRepo\net\java\dev\jets3t\jets3t\0.6.1\jets3t-0.6.1.jar;D:\java\mavenRepo\commons-configuration\commons-configuration\1.6\commons-configuration-1.6.jar;D:\java\mavenRepo\commons-digester\commons-digester\1.8\commons-digester-1.8.jar;D:\java\mavenRepo\commons-beanutils\commons-beanutils\1.7.0\commons-beanutils-1.7.0.jar;D:\java\mavenRepo\commons-beanutils\commons-beanutils-core\1.8.0\commons-beanutils-core-1.8.0.jar;D:\java\mavenRepo\org\apache\avro\avro\1.7.4\avro-1.7.4.jar;D:\java\mavenRepo\com\thoughtworks\paranamer\paranamer\2.3\paranamer-2.3.jar;D:\java\mavenRepo\org\xerial\snappy\snappy-java\1.0.4.1\snappy-java-1.0.4.1.jar;D:\java\mavenRepo\com\jcraft\jsch\0.1.42\jsch-0.1.42.jar;D:\java\mavenRepo\org\apache\commons\commons-compress\1.4.1\commons-compress-1.4.1.jar;D:\java\mavenRepo\org\tukaani\xz\1.0\xz-1.0.jar;D:\java\mavenRepo\org\apache\hadoop\hadoop-auth\2.2.0\hadoop-auth-2.2.0.jar;D:\java\mavenRepo\org\apache\hadoop\hadoop-mapreduce-client-core\2.2.0\hadoop-mapreduce-client-core-2.2.0.jar;D:\java\mavenRepo\org\apache\hadoop\hadoop-yarn-common\2.2.0\hadoop-yarn-common-2.2.0.jar;D:\java\mavenRepo\org\apache\hadoop\hadoop-yarn-api\2.2.0\hadoop-yarn-api-2.2.0.jar;D:\java\mavenRepo\com\google\inject\guice\3.0\guice-3.0.jar;D:\java\mavenRepo\javax\inject\javax.inject\1\javax.inject-1.jar;D:\java\mavenRepo\aopalliance\aopalliance\1.0\aopalliance-1.0.jar;D:\java\mavenRepo\com\sun\jersey\contribs\jersey-guice\1.9\jersey-guice-1.9.jar;D:\java\mavenRepo\com\google\inject\extensions\guice-servlet\3.0\guice-servlet-3.0.jar;D:\java\mavenRepo\org\apache\hadoop\hadoop-annotations\2.2.0\hadoop-annotations-2.2.0.jar;D:\java\mavenRepo\com\github\stephenc\findbugs\findbugs-annotations\1.3.9-1\findbugs-annotations-1.3.9-1.jar;D:\java\mavenRepo\junit\junit\4.11\junit-4.11.jar;D:\java\mavenRepo\org\hamcrest\hamcrest-core\1.3\hamcrest-core-1.3.jar;D:\java\mavenRepo\org\apache\hadoop\hadoop-hdfs\2.2.0\hadoop-hdfs-2.2.0.jar;D:\java\mavenRepo\org\mortbay\jetty\jetty\6.1.26\jetty-6.1.26.jar;D:\java\mavenRepo\org\mortbay\jetty\jetty-util\6.1.26\jetty-util-6.1.26.jar;D:\java\mavenRepo\com\sun\jersey\jersey-core\1.9\jersey-core-1.9.jar;D:\java\mavenRepo\com\sun\jersey\jersey-server\1.9\jersey-server-1.9.jar;D:\java\mavenRepo\asm\asm\3.1\asm-3.1.jar;D:\java\mavenRepo\commons-cli\commons-cli\1.2\commons-cli-1.2.jar;D:\java\mavenRepo\commons-daemon\commons-daemon\1.0.13\commons-daemon-1.0.13.jar;D:\java\mavenRepo\javax\servlet\jsp\jsp-api\2.1\jsp-api-2.1.jar;D:\java\mavenRepo\log4j\log4j\1.2.17\log4j-1.2.17.jar;D:\java\mavenRepo\javax\servlet\servlet-api\2.5\servlet-api-2.5.jar;D:\java\mavenRepo\org\codehaus\jackson\jackson-core-asl\1.8.8\jackson-core-asl-1.8.8.jar;D:\java\mavenRepo\tomcat\jasper-runtime\5.5.23\jasper-runtime-5.5.23.jar;D:\java\mavenRepo\xmlenc\xmlenc\0.52\xmlenc-0.52.jar;D:\Program Files\Java\jdk1.8.0\lib\tools.jar
2014-09-04 12:52:29 [ main:418 ] - [ INFO ] Client environment:java.library.path=D:\Program Files\Java\jdk1.7.0_45\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;D:\Perl64\bin;D:\Perl64\site\bin;C:\Program Files (x86)\Common Files\NetSarang;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Intel\OpenCL SDK\2.0\bin\x86;C:\Program Files (x86)\Intel\OpenCL SDK\2.0\bin\x64;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;D:\java\maven/bin;D:\Program Files\Java\jdk1.8.0/bin;d:\Program Files (x86)\YYXT\AudioEditorOCX;D:\Program Files\MySQL\MySQL Server 5.5\bin;D:\hadoop\apache-ant-1.9.3\bin;D:\Program Files\nodejs\;D:\Program Files\TortoiseSVN\bin;D:\Perl64\bin;D:\Perl64\site\bin;C:\Users\lenovo\AppData\Roaming\npm;.
2014-09-04 12:52:29 [ main:418 ] - [ INFO ] Client environment:java.io.tmpdir=C:\Users\lenovo\AppData\Local\Temp\
2014-09-04 12:52:29 [ main:419 ] - [ INFO ] Client environment:java.compiler=<NA>
2014-09-04 12:52:29 [ main:419 ] - [ INFO ] Client environment:os.name=Windows 7
2014-09-04 12:52:29 [ main:419 ] - [ INFO ] Client environment:os.arch=amd64
2014-09-04 12:52:29 [ main:419 ] - [ INFO ] Client environment:os.version=6.1
2014-09-04 12:52:29 [ main:419 ] - [ INFO ] Client environment:user.name=lenovo
2014-09-04 12:52:29 [ main:419 ] - [ INFO ] Client environment:user.home=C:\Users\lenovo
2014-09-04 12:52:29 [ main:419 ] - [ INFO ] Client environment:user.dir=D:\Users\lenovo\koalaSP\dbhbase
2014-09-04 12:52:29 [ main:420 ] - [ INFO ] Initiating client connection, connectString=compute1:2181 sessionTimeout=90000 watcher=hconnection-0xda5a705, quorum=compute1:2181, baseZNode=/hbase
2014-09-04 12:52:29 [ main:425 ] - [ DEBUG ] zookeeper.disableAutoWatchReset is false
2014-09-04 12:52:29 [ main:457 ] - [ INFO ] Process identifier=hconnection-0xda5a705 connecting to ZooKeeper ensemble=compute1:2181
2014-09-04 12:52:29 [ main-SendThread(compute1:2181):458 ] - [ INFO ] Opening socket connection to server compute1/192.168.11.39:2181. Will not attempt to authenticate using SASL (unknown error)
2014-09-04 12:52:29 [ main-SendThread(compute1:2181):459 ] - [ INFO ] Socket connection established to compute1/192.168.11.39:2181, initiating session
2014-09-04 12:52:29 [ main-SendThread(compute1:2181):461 ] - [ DEBUG ] Session establishment request sent on compute1/192.168.11.39:2181
2014-09-04 12:52:29 [ main-SendThread(compute1:2181):472 ] - [ INFO ] Session establishment complete on server compute1/192.168.11.39:2181, sessionid = 0x2483a55a18c0013, negotiated timeout = 40000
2014-09-04 12:52:29 [ main-EventThread:474 ] - [ DEBUG ] hconnection-0xda5a705, quorum=compute1:2181, baseZNode=/hbase Received ZooKeeper Event, type=None, state=SyncConnected, path=null
2014-09-04 12:52:29 [ main-EventThread:476 ] - [ DEBUG ] hconnection-0xda5a705-0x2483a55a18c0013 connected
2014-09-04 12:52:29 [ main-SendThread(compute1:2181):477 ] - [ DEBUG ] Reading reply sessionid:0x2483a55a18c0013, packet:: clientPath:null serverPath:null finished:false header:: 1,3 replyHeader:: 1,4294967438,0 request:: '/hbase/hbaseid,F response:: s{4294967310,4294967310,1409728069737,1409728069737,0,0,0,0,67,0,4294967310}
2014-09-04 12:52:29 [ main-SendThread(compute1:2181):480 ] - [ DEBUG ] Reading reply sessionid:0x2483a55a18c0013, packet:: clientPath:null serverPath:null finished:false header:: 2,4 replyHeader:: 2,4294967438,0 request:: '/hbase/hbaseid,F response:: #ffffffff000146d61737465723a363030303033ffffff8036ffffff94ffffffabcfffffffd6750425546a2430643537303664662d653431622d343332382d383833342d356533643531363362393736,s{4294967310,4294967310,1409728069737,1409728069737,0,0,0,0,67,0,4294967310}
2014-09-04 12:52:30 [ main:755 ] - [ DEBUG ] Codec=org.apache.hadoop.hbase.codec.KeyValueCodec@453d9468, compressor=null, tcpKeepAlive=true, tcpNoDelay=true, maxIdleTime=10000, maxRetries=0, fallbackAllowed=false, ping interval=60000ms, bind address=null
2014-09-04 12:52:30 [ main-SendThread(compute1:2181):776 ] - [ DEBUG ] Reading reply sessionid:0x2483a55a18c0013, packet:: clientPath:null serverPath:null finished:false header:: 3,4 replyHeader:: 3,4294967438,0 request:: '/hbase/meta-region-server,F response:: #ffffffff0001a726567696f6e7365727665723a3630303230ffffffff133cffffff88341c1effffffef50425546a15a8636f6d707574653110fffffff4ffffffd4318ffffffe4ffffffefffffffdcffffffd2ffffff8329100,s{4294967339,4294967339,1409728076023,1409728076023,0,0,0,0,60,0,4294967339}
2014-09-04 12:52:30 [ main-SendThread(compute1:2181):789 ] - [ DEBUG ] Reading reply sessionid:0x2483a55a18c0013, packet:: clientPath:null serverPath:null finished:false header:: 4,4 replyHeader:: 4,4294967438,0 request:: '/hbase/meta-region-server,F response:: #ffffffff0001a726567696f6e7365727665723a3630303230ffffffff133cffffff88341c1effffffef50425546a15a8636f6d707574653110fffffff4ffffffd4318ffffffe4ffffffefffffffdcffffffd2ffffff8329100,s{4294967339,4294967339,1409728076023,1409728076023,0,0,0,0,60,0,4294967339}
2014-09-04 12:52:30 [ main-SendThread(compute1:2181):798 ] - [ DEBUG ] Reading reply sessionid:0x2483a55a18c0013, packet:: clientPath:null serverPath:null finished:false header:: 5,4 replyHeader:: 5,4294967438,0 request:: '/hbase/meta-region-server,F response:: #ffffffff0001a726567696f6e7365727665723a3630303230ffffffff133cffffff88341c1effffffef50425546a15a8636f6d707574653110fffffff4ffffffd4318ffffffe4ffffffefffffffdcffffffd2ffffff8329100,s{4294967339,4294967339,1409728076023,1409728076023,0,0,0,0,60,0,4294967339}
2014-09-04 12:52:30 [ main:1209 ] - [ DEBUG ] Use SIMPLE authentication for service ClientService, sasl=false
2014-09-04 12:52:30 [ main:1218 ] - [ DEBUG ] Connecting to compute1/192.168.11.39:60020
2014-09-04 12:52:30 [ IPC Client (1568147101) connection to compute1/192.168.11.39:60020 from lenovo:1225 ] - [ DEBUG ] IPC Client (1568147101) connection to compute1/192.168.11.39:60020 from lenovo: starting, connections 1
2014-09-04 12:52:30 [ main:1291 ] - [ DEBUG ] IPC Client (1568147101) connection to compute1/192.168.11.39:60020 from lenovo: wrote request header call_id: 0 method_name: "Get" request_param: true
2014-09-04 12:52:30 [ IPC Client (1568147101) connection to compute1/192.168.11.39:60020 from lenovo:1291 ] - [ DEBUG ] IPC Client (1568147101) connection to compute1/192.168.11.39:60020 from lenovo: got response header call_id: 0, totalSize: 435 bytes
2014-09-04 12:52:31 [ main-SendThread(compute1:2181):1613 ] - [ DEBUG ] Reading reply sessionid:0x2483a55a18c0013, packet:: clientPath:null serverPath:null finished:false header:: 6,4 replyHeader:: 6,4294967438,0 request:: '/hbase/meta-region-server,F response:: #ffffffff0001a726567696f6e7365727665723a3630303230ffffffff133cffffff88341c1effffffef50425546a15a8636f6d707574653110fffffff4ffffffd4318ffffffe4ffffffefffffffdcffffffd2ffffff8329100,s{4294967339,4294967339,1409728076023,1409728076023,0,0,0,0,60,0,4294967339}
2014-09-04 12:52:31 [ main:1751 ] - [ DEBUG ] IPC Client (1568147101) connection to compute1/192.168.11.39:60020 from lenovo: wrote request header call_id: 1 method_name: "Scan" request_param: true
2014-09-04 12:52:31 [ IPC Client (1568147101) connection to compute1/192.168.11.39:60020 from lenovo:1752 ] - [ DEBUG ] IPC Client (1568147101) connection to compute1/192.168.11.39:60020 from lenovo: got response header call_id: 1, totalSize: 13 bytes
2014-09-04 12:52:31 [ main:1762 ] - [ DEBUG ] IPC Client (1568147101) connection to compute1/192.168.11.39:60020 from lenovo: wrote request header call_id: 2 method_name: "Scan" request_param: true priority: 100
2014-09-04 12:52:31 [ IPC Client (1568147101) connection to compute1/192.168.11.39:60020 from lenovo:1769 ] - [ DEBUG ] IPC Client (1568147101) connection to compute1/192.168.11.39:60020 from lenovo: got response header call_id: 2 cell_block_meta { length: 1359 }, totalSize: 1383 bytes
2014-09-04 12:52:31 [ main:1772 ] - [ DEBUG ] IPC Client (1568147101) connection to compute1/192.168.11.39:60020 from lenovo: wrote request header call_id: 3 method_name: "Scan" request_param: true
2014-09-04 12:52:31 [ IPC Client (1568147101) connection to compute1/192.168.11.39:60020 from lenovo:1773 ] - [ DEBUG ] IPC Client (1568147101) connection to compute1/192.168.11.39:60020 from lenovo: got response header call_id: 3, totalSize: 9 bytes
2014-09-04 12:52:31 [ main:1792 ] - [ DEBUG ] IPC Client (1568147101) connection to compute1/192.168.11.39:60020 from lenovo: wrote request header call_id: 4 method_name: "Scan" request_param: true
2014-09-04 12:52:31 [ IPC Client (1568147101) connection to compute1/192.168.11.39:60020 from lenovo:1793 ] - [ DEBUG ] IPC Client (1568147101) connection to compute1/192.168.11.39:60020 from lenovo: got response header call_id: 4, totalSize: 13 bytes
2014-09-04 12:52:31 [ main:1794 ] - [ DEBUG ] IPC Client (1568147101) connection to compute1/192.168.11.39:60020 from lenovo: wrote request header call_id: 5 method_name: "Scan" request_param: true
2014-09-04 12:52:31 [ IPC Client (1568147101) connection to compute1/192.168.11.39:60020 from lenovo:1795 ] - [ DEBUG ] IPC Client (1568147101) connection to compute1/192.168.11.39:60020 from lenovo: got response header call_id: 5, totalSize: 13 bytes
2014-09-04 12:52:31 [ main:1795 ] - [ DEBUG ] IPC Client (1568147101) connection to compute1/192.168.11.39:60020 from lenovo: wrote request header call_id: 6 method_name: "Scan" request_param: true
2014-09-04 12:52:31 [ IPC Client (1568147101) connection to compute1/192.168.11.39:60020 from lenovo:1796 ] - [ DEBUG ] IPC Client (1568147101) connection to compute1/192.168.11.39:60020 from lenovo: got response header call_id: 6, totalSize: 9 bytes
View Code

 

总结:
1.将hadoop-2.2.0.tar.gz解压一份放到win7的程序目录下,注意hadoop版本一定要和集群的版本一致,然后拷贝集群中的以下几个配置文件覆盖到win7本地的对应目录:
core-site.xml
hdfs-site.xml
mapred-site.xml
yarn-site.xml
 
2.在eclipse中新建java工程后,最好直接引入所有hadoop2.2.0相关的jar包,包括以下几个目录下的jar包:
share\hadoop\common
share\hadoop\hdfs
share\hadoop\mapreduce
share\hadoop\yarn
 
注:如果使用hadoop的eclipse插件,就无需该步骤,但2.2.0的插件需自行编译,编译过程参见我的另一篇博客:
 
3.需要在win7中设置环境变量%HADOOP_HOME%,并把%HADOOP_HOME%\bin加入PATH环境变量中
 
4.需要下载https://github.com/srccodes/hadoop-common-2.2.0-bin,解压后把下载的bin目录覆盖%HADOOP_HOME%\bin
 
5.注意参考hadoop集群的配置,Eclipse中的程序配置“hadoop地址:端口”的代码需和hadoop集群的配置一致
<property>
    <name>fs.default.name</name>
    <value>hdfs://singlehadoop:8020</value>
</property>
 
6.在hadoop集群的hdfs-site.xml中加入如下属性,关闭权限校验。
<property>     
    <name>dfs.permissions</name>    
    <value>false</value>
</property>
 
7.hbase文件设置

<property>
<name>hbase.zookeeper.quorum</name>
<value>compute1</value>
</property>

一定要配置 quorum 的值为 hostname,  节点个数必须为子节点而且要为奇数个。

在Windows 的 C:\Windows\System32\drivers\etc  目录下修改hosts映射文件,与集群服务器的映射文件保持一致。

192.168.14.20 CS020
192.168.14.16 CS016
192.168.11.37 master
192.168.11.39 compute1
192.168.11.40 thinkit-4