环境: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 ,则连接成功,环境搭建成功