hbase单机和分布式部署

来源:互联网 发布:python网络爬虫实战 编辑:程序博客网 时间:2024/05/17 23:49

环境配置

单机模式安装HBase

 

第一步:下载HBase

 

第二步:解压在soft下面

 

第三步:打开/etc/profile文件,添加如下语句,注意路径

export HBASE_HOME=/home/wuhan/soft/hbase-1.2.0

export PATH=$PATH:$HBASE_HOME/bin

 

第四步:在hbase-1.2.0conf/hbase-env.sh中,添加如下配置

export JAVA_HOME=    填写个人JAVA路径

查找export HBASE_MANAGES_ZK=true

 

第五步:在hbase-site.xml中添加如下配置

说明:hbase.rootdir设置hbasehdfs上的目录

      hbase.cluster.distributed设置为true,表明是分布式的hbase集群

      hbase.zookeeper.quorum设置zookeeper主机

      hbase.tmp.dir设置hbase的临时目录,否则会使用系统tmp目录

  hbase.zookeeper.property.dataDir,设置zookeeper目录

 

 

<configuration>

 

<property>

<name>hbase.rootdir</name>

<value>hdfs://hadoop-master:9000/hbase</value>

</property>

 

<property>

<name>hbase.cluster.distributed</name>

<value>true</value>

</property>

 

<property>

<name>hbase.zookeeper.quorum</name>

<value>hadoop-master</value>

</property>

 

<property>

<name>hbase.tmp.dir</name>

<value>$HBASE_HOME/tmp</value>

</property>

 

<property>

<name>hbase.zookeeper.property.dataDir</name>

<value>$HBASE_HOME/zookeeper</value>

</property>

 

 

</configuration>

 

第六步:regionservers配置,添加如下内容

hadoop-master

 

第七步:命令输入source /etc/profile

 

 

第七步:启动hadoop

\输入start-all.sh

 

第八步:启动hbase

bin/start-hbase.sh

 

第九步:在终端输入JPS命令,如果出现以下服务,代表启动成功,一共9个服务

NameNode

ResourceManager

NodeManager

HQuorumPeer

HMaster

DataNode

JPS

SecondaryNameNode

HRegionServer

 

第十步:通过网页查看Hbase运行状态

http://localhost:16030/master-status

 

 

第十一步:通过如下命令进入命令行管理界面

hbase shell

 

第十二步:常用的shell命令

1):创建表

create 'table1','columnsf'

2):插入数据

put 'table1','row1','columnsf:a1','value1'

put 'table1','row2','columnsf:a2','value2'

put 'table1','row3','columnsf:a3','value3'

3:)查看插入的数据

scan 'table1'

4):读取单条数据

get 'table1','row2'

 

5):修改一条数据

put 'table1','row2','columnsf:a2','value2.0'

 

6):删除一条数据

deleteall 'table1','row1'

 

7):清空整张表

truncate 'table1'

 

8):停用并删除数据表

disable 'table1'

drop 'table1'

 

9):退出命令行

exit

 

第十三步:关闭hbase stop-hbase.sh

 

第十四步:关闭hadoop  stop-all.sh

 

完全分布模式安装HBase

第一部分:在上节1--9步骤之后

 

第二部分:新增

 

第十三步:在hbase目录下创建zookeeper文件夹

 

 

第十四步:打开hbase-site.xml配置

 

<configuration>

 

<property>

<name>hbase.rootdir</name>

<value>hdfs://hadoop-master:9000/hbase</value>

</property>

 

<property>

<name>hbase.cluster.distributed</name>

<value>true</value>

</property>

 

 

 

<property>

<name>hbase.master</name>

<value>hadoop-master:60000</value>

</property>

 

 

<property>

<name>hbase.zookeeper.quorum</name>

<value>hadoop-master,hadoop-slave1,hadoop-slave2 </value>

</property>

 

<property>

<name>hbase.tmp.dir</name>

<value>$HBASE_HOME/tmp</value>

</property>

 

<property>

<name>hbase.zookeeper.property.dataDir</name>

<value>/home/beihang/soft/zookeeper</value>

</property>

 

 

</configuration>

 

 

第十五步:regionservers配置,添加如下语句

hadoop-slave1

hadoop-slave2

 

第十六步:重复上面和下面的每一步,在hadoop的每一个slave

 

 

第十七步:启动hadoop

 

start-all.sh

 

第十八步:启动hbase

start-hbase.sh

 

第十九步:master上运行jps指令

多了HMasterHQuorumPeer进程

 

第二十步:slave节点上运行jps指令

多了HRegionServerHQuorumPeer进程

 

 

 

 

 

 

3、完全分布模式:

伪分布模式需要用到hadoop文件系统 ,所以配置会比单机模式麻烦很多 并且需要版本匹配;我用的hadoop是2.7.1 hbase是1.2.0

使用三个节点,分别是   ip:hostname    192.168.159.147    lin147   ,  192.168.159.148    lin148 , 

192.168.159.149    lin149  ;主节点是149

hosts   和 hostname 自己配置 这里不多说;

下面在147上配置:   

(1)、修改conf/hbase-env.sh 

添加java环境变量和hbase_classpath(指向hadoop的配置文件目录)环境变量:

export JAVA_HOME=/usr/soft/jdk1.8.0_60 

export HBASE_CLASSPATH=/home/lin/hadoop/hadoop-2.7.1/etc/hadoop

export HADOOP_HOME=/home/lin/hadoop/hadoop-2.7.1

 

(2)、编辑hbase-site.xml

   hbase.rootdir 要配置为hdfs上的路径;打开分布

<configuration>

    <property>

<name>hbase.rootdir</name>

<value>file:///home/lin/hadoop/hbase-1.2.0/data</value>

</property>

<property>

<name>hbase.cluster.distributed</name>

<value>true</value>

</property>

        <property>

   <name>hbase.master</name>

   <value>hdfs://lin147:60000</value>

</property>

<property>

<name>hbase.zookeeper.property.clientPort</name>

<value>2181</value>

</property>

<property>

<name>hbase.zookeeper.quorum</name>

<value>lin147,lin148,lin149</value>

</property>

</configuration>

(3)、配置regionservers 添加slave

lin163

lin164

(4)、把hbase scp到lin163 和 lin164 

$ scp -r /home/lin/hadoop/hbase-1.1.2 lin@192.168.0.163:/home/lin/hadoop/hbase-1.1.2

$ scp -r /home/lin/hadoop/hbase-1.1.2 lin@192.168.0.164:/home/lin/hadoop/hbase-1.1.2

(5)、在主节点lin162启动hbase

$  bin/start-hbase.sh

(6)、验证是否成功

  在主节点lin162 jps 出现  Hmaster 和 HquorumPeer

slave lin163 和 164 jps 出现  HregionServer 和 HquorumPeer

 

然后就可以hbase shell  进入shell进行对hbase的操作。

 

 

访问web http://192.168.0.162:16010/master-status (之前的端口是60010  根据版本自行选择端口访问)

 

Zookeeper分布式部署

添加环境变量

export ZOOKEEPER_HOME=/home/xqshi/zookeeper-3.4.8

export PATH=$PATH:${ZOOKEEPER_HOME}/bin:${ZOOKEEPER_HOME}/conf

修改配置文件

/home/xqshi/zookeeper-3.4.8/conf

$:cp zoo_sample.cfg zoo.cfg

$:vim zoo.cfg

# The number of milliseconds of each tick

tickTime=2000

# The number of ticks that the initial

# synchronization phase can take

initLimit=10

# The number of ticks that can pass between

# sending a request and getting an acknowledgement

syncLimit=5

# the directory where the snapshot is stored.

# do not use /tmp for storage, /tmp here is just

# example sakes.

dataDir=/home/xqshi/tmp/zookeeper

# the port at which the clients will connect

clientPort=2181

# the maximum number of client connections.

# increase this if you need to handle more clients

#maxClientCnxns=60

#

# Be sure to read the maintenance section of the

# administrator guide before turning on autopurge.

#

# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance

#

# The number of snapshots to retain in dataDir

#autopurge.snapRetainCount=3

# Purge task interval in hours

# Set to "0" to disable auto purge feature

#autopurge.purgeInterval=1

server.1=groot-nn:2888:3888

server.2=groot-rm:2888:3888

server.3=groot-hs:2888:3888

server.4=groot-sm:2888:3888

PropertyPAC

server.1=groot-nn:2888:3888  

server.2=groot-rm:2888:3888  

server.3=groot-hs:2888:3888  

server.4=groot-sm:2888:3888

 

echo "3" >/home/xqshi/tmp/zookeeper/myid

/home/xqshi/tmp/zookeeper/这个文件需要自己创建,与zoo.cfg中写的路径要保持一致,没有就创建

0 0