HBase的伪分布式安装(原创)

Posted on 2014-09-11 19:44  柯南的童话  阅读(465)  评论(0)    收藏  举报

准备工作:

1)安装了伪分布式hadoop:参照http://blog.csdn.net/zolalad/article/details/11472207

2)修改已安装好的hadoop配置文件:

  a)修改hdfs-site.xml

<property>
 <name>dfs.support.append</name>      <!-- 可追加-->
 <value>true</value>
</property>
 
<property>
 <name>dfs.datanode.max.xcievers</name>  <!--使得可处理的数据流变大 -->
 <value>4096</value>
</property>
</configuration>
  b)重启hadoop
  ./stop-all.sh
  ./start-all.sh 
  ./hadoop dfsadmin -report     --查看hadoop启动状态
 

 安装HBase

写在前面,需注意:在root用户下配置,所以在启动前需要进行下面操作,确保将hbase相关文件付给了hadoop用户

cd /opt/hbase

ls -alh    --查看各文件的用户

chown -R hadoop:hadoop hbase/  --如果有的文件用户是root,则需将该文件赋给hadoop用户

如果在后面启动步骤报错,权限不够,请确认/opt/hbase/logs文件是属于hadoop用户

 

解压与安装

1)将文件hbase-0.94.2.tar.gz解压到/opt
tar -zxvf hbase-0.94.2.tar.gz -C /opt    -- -C参数,可指定解压到的目录
将文件名hbase-0.94.2修改为hbase
mv hbase-0.94.2.tar.gz hbase
2)将hbase的用户赋给hadoop
chown -R hadoop:hadoop hbase/
 
配置
1)配置hbase/conf/hbase-env.sh

export HBASE_MANAGES_ZK=true
export JAVA_HOME=/usr/program/jdk1.6.0_13

2)配置hbase/conf/hbase-site.xml

<configuration>

<property>
  <name>hbase.rootdir</name> 

<!-- 下面路径一定要跟hadoop中core-site.xml中fs.default.name中的路径相同,否则会出错。-->
  <value>hdfs://localhost:9000/hbase</value>
</property>
<property>
  <name>hbase.cluster.distributed</name>
  <value>true</value> <!--表明是否是完全分布式hbase集群 -->
</property>
<property>
  <name>hbase.localhost</name>
  <value>hdfs://localhost:60000</value>
</property>

<property>
  <name>hbase.tmp.dir</name>
  <value>/home/${user.name}/tmp</value>
</property>
<property>
  <name>hbase.zookeeper.quorum</name>
  <value>localhost</value> <!--主机名是localhost,可通过hostname查看-->

</property>
<property>
  <name>hbase.zookeeper.property.dataDir</name>
  <value>/home/${user.name}/zookeeper</value>
</property>


<property>
<name>dfs.replication</name>
<value>true</value>
<description>The replication countfor HLog HFile storage. Should not be greater than HDFS datanode count.
</description>
</property>

</configuration>
3)配置hbase/conf/regionservers
localhost    --修改为主机名
4)覆盖hadoop类库
/home/hadoop/hadoop-env/hadoop-1.0.1/目录下的hadoop-core-1.0.1.jar替换/opt/hbase/lib下的该类
 
开启HBase
启动顺序:先启动Hadoop——>再启动Hbase,关闭顺序:先关闭Hbase——>再关闭Hadoop。
 
验证安装:
1.首先启动hadoop集群:jps查看namenode和datanode的服务是否正常启动
2.启动hbase:同样通过jps查看,注意在master(即HMater)节点上有HMaster和HRegionServer、HQuorumPeer三个服务项(后两者是因为将namenode也作为了一个HRegionServers),在datanode(即HRegionServer)中查看需要启动的是HQuorumPeer和HRegionServer
3.整个集群正常启动后,
1)通过hbase 的命令行管理界面看看是否正常 
cd /opt/hbase/bin
./hbase shell --进入命令行管理模式,然后可以通过list可以列举你当前数据库的名称,如果失败会有java错误抛出,
2)通过web访问hbase
http://localhost:60010/master.jsp (http://master:60010/master-status)通过WEB页面来管理查看HBase数据库
http://localhost:60030/regionserver.jsp 查看regionserver信息
http://localhost:60010/zk.jsp查看zookeeper信息
 
 
效果图:
说明:上面启动中的hbase-daemon.sh没有权限,对hbase启动没有影响
 
使Hadoop支持HBase MapReduce
在HBase中,对Hadoop MapReduce进行了一些封装使Hadoop MapReduce可以直接以HBase表作为输入和输出。因此,要配置Hadoop引入HBase的类库。在Hadoop的conf/hadoop-env.sh里面添加:(注意HADOOP_CLASS路径里不要有换行符,否则会报错

export HBASE_HOME=/opt/hbase
export HADOOP_CLASSPATH=$HASOOP_CLASSPATH:$HBASE_HOME/hbase-0.94.2.jar:$HBASE_HOME/hbase-0.94.2-tests.jar:$HBASE_HOME/conf:$HBASE_HOME/lib/zookeeper-3.4.3.jar:$HBASE_HOME/lib/protobuf-java-2.4.0a.jar

关闭后重启hadoop。

博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3