环境:redhat9 ,hadoop-1.0.4,hbase-0.94.2,Window7,
安装hadoop:
1.安装ssh
sudo apt-get install ssh 验证 ssh 是否安装 service sshd start
2.安装rsync
sudo apt-get install rsync 验证 rsync 是否安装: rpm -qa|grep rsync
3.配置ssh免登录
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys
验证是否成功
ssh localhost
4.安装JDK,解压hadoop-1.0.4 tar -xzvf hadoop-1.0.4-bin.tar.gz
5,修改hadoop配置文件,指定JDk安装路径
vi conf/hadoop-env.sh
export JAVA_HOME=/home/app/jdk1.6.0_30
6.修改redhat的主机名
在/etc/hosts中添加
192.168.150.128 hadoop.hbase
7.修改hadoop配置文件,指定JDk安装路径
在hadoop-env.sh中添加JAVA_HOME,vi conf/hadoop-env.sh
export JAVA_HOME=/usr/java/jdk1.6.0_37/
8,修改Hadoop核心配置文件core-site.xml,配置HDFS的地址和端口号
vi conf/core-site.xml
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://hadoop.hbase:9000</value>
</property>
</configuration>
9.修改Hadoop中HDFS的配置,修改replication
vi conf/hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
10,修改Hadoop中MapReduce的配置文件,配置的是JobTracker的地址和端口
vi conf/mapred-site.xml
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>hadoop.hbase:9001</value>
</property>
</configuration>
10,格式化Hadoop的文件系统HDFS
bin/hadoop namenode -format
11,启动hadoop
bin/start-all.sh
12.在WINDOW7 在配置IP 和主机名的映射
修改C:\WINDOWS\system32\drivers\etc\hosts 的文件
添加
192.168.150.128 hadoop.hbase
验证hadoop是否安装成功
最后,验证Hadoop是否安装成功。打开在WINDOW7中浏览器,分别输入一下网址:
http://lhadoop.hbase:50030 (MapReduce的Web页面)
http://hadoop.hbase:50070 (HDfS的web页面)
hbase的安装
1.解压hbase-0.94.2 tar -xzvf hbase-0.94.2
2.修改hbase-env.sh
添加JAVA_HOME
export JAVA_HOME=/usr/java/jdk1.6.0_37/
3.修改hbase-site.xml
添加
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://hadoop.hbase:9000/hbase</value>
</property>
</configuration>
4.验证 ./bin/hbase shell进入shell,创建一个test表,同时http://hadoop.hbase:60010/master-status 可以看到master的相关内容
在eclipse 中创建项目,导入hbase需要的jar包
编写如下代码:
import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.HTableDescriptor;
import org.apache.hadoop.hbase.MasterNotRunningException;
import org.apache.hadoop.hbase.TableNotFoundException;
import org.apache.hadoop.hbase.ZooKeeperConnectionException;
import org.apache.hadoop.hbase.client.HBaseAdmin;
import org.apache.hadoop.hbase.util.Bytes;
public class HbaseInterface {
//创建Configuration
public HbaseInterface(){
}
public static void main(String[] args){
try {
Configuration conf = HBaseConfiguration.create();
HbaseInterface hi = new HbaseInterface();
conf.set("hbase.zookeeper.quorum", "192.168.150.128");
HBaseAdmin admin = new HBaseAdmin(conf);
HTableDescriptor tableDescriptor = admin.getTableDescriptor(Bytes.toBytes("test"));
byte[] name = tableDescriptor.getName();
System.out.println(new String(name));
} catch (MasterNotRunningException e) {
e.printStackTrace();
} catch (ZooKeeperConnectionException e) {
e.printStackTrace();
} catch (TableNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
验证能够正常输出信息表名称test ,则连接成功,环境搭建成功