欢迎投稿

今日深度:

HBase的安装,

HBase的安装,


主机规划

机器名

域名

IP地址

作用

Hdp-01

192.168.33.31

Namenode(1.1)DFSZKFailoverController(zkfc)

Hdp-02

192.168.33.32

Namenode(1.2)DFSZKFailoverController(zkfc)

Hdp-03

192.168.33.33

resourceManagerHbase()

Hdp-04

192.168.33.34

resourceManagerHbase()

Hdp-05

192.168.33.35

datanodenodeManagerzookeeper(QuorumPeerMain)journalNode

regionservers

Hdp-06

192.168.33.36

datanodenodeManagerzookeeper(QuorumPeerMain)journalNode

regionservers

Hdp-07

192.168.33.37

datanodenodeManagerzookeeper(QuorumPeerMain)journalNode

regionservers

 

一、安装Hbase

1. 用工具将hbase安装包hbase-0.99.2-bin.tar.gz上传到/home/hadoop下,确保hbase-0.99.2-bin.tar.gz的用户是hadoop

2. 将hbase的压缩包解压到 /home/hadoop/apps下,并且改名hbase,并删掉原始的hbase的压缩包。

[hadoop@hdp-04 ~]$ tar -zxvf hbase-0.99.2-bin.tar.gz -C apps/

[hadoop@hdp-04 ~]$ cd apps/

[hadoop@hdp-04 apps]$ ll

总用量 8

drwxrwxr-x. 10 hadoop hadoop 4096 1月  23 04:06 hadoop-2.6.4

drwxrwxr-x.  7 hadoop hadoop 4096 1月  24 05:44 hbase-0.99.2

[hadoop@hdp-04 apps]$ mv hbase-0.99.2/ hbase

[hadoop@hdp-04 apps]$ ll

总用量 8

drwxrwxr-x. 10 hadoop hadoop 4096 1月  23 04:06 hadoop-2.6.4

drwxrwxr-x.  7 hadoop hadoop 4096 1月  24 05:44 hbase

 

[hadoop@hdp-04 apps]$ cd

[hadoop@hdp-04 ~]$ ll

总用量 88948

drwxrwxr-x. 4 hadoop hadoop     4096 1月  24 05:45 apps

-rw-rw-r--. 1 hadoop hadoop 91074070 9月  22 13:30 hbase-0.99.2-bin.tar.gz

[hadoop@hdp-04 ~]$ rm -rf hbase-0.99.2-bin.tar.gz 

 

3. 进入到hbase的安装目录下,删掉一些不必要的文件

[hadoop@hdp-04 ~]$ cd apps/hbase/

[hadoop@hdp-04 hbase]$ ll

总用量 152

drwxr-xr-x. 4 hadoop hadoop   4096 12月  3 2014 bin

-rw-r--r--. 1 hadoop hadoop 113061 12月  3 2014 CHANGES.txt

drwxr-xr-x. 2 hadoop hadoop   4096 12月  3 2014 conf

drwxr-xr-x. 9 hadoop hadoop   4096 12月  3 2014 docs

drwxr-xr-x. 6 hadoop hadoop   4096 12月  3 2014 hbase-webapps

drwxrwxr-x. 3 hadoop hadoop   4096 1月  24 05:44 lib

-rw-r--r--. 1 hadoop hadoop  11358 5月  23 2014 LICENSE.txt

-rw-r--r--. 1 hadoop hadoop    897 12月  3 2014 NOTICE.txt

-rw-r--r--. 1 hadoop hadoop   1477 12月  3 2014 README.txt

 

[hadoop@hdp-04 hbase]$ rm -rf *.txt docs/

[hadoop@hdp-04 hbase]$ ll

总用量 16

drwxr-xr-x. 4 hadoop hadoop 4096 12月  3 2014 bin

drwxr-xr-x. 2 hadoop hadoop 4096 12月  3 2014 conf

drwxr-xr-x. 6 hadoop hadoop 4096 12月  3 2014 hbase-webapps

drwxrwxr-x. 3 hadoop hadoop 4096 1月  24 05:44 lib

 

4. 进入到hbaseconf的配置文件目录,修改配置文件

[hadoop@hdp-04 hbase]$ cd conf/

[hadoop@hdp-04 conf]$ ll

总用量 36

-rw-r--r--. 1 hadoop hadoop 1026 5月  23 2014 hadoop-metrics2-hbase.properties

-rw-r--r--. 1 hadoop hadoop 4196 12月  3 2014 hbase-env.cmd

-rw-r--r--. 1 hadoop hadoop 7271 12月  3 2014 hbase-env.sh

-rw-r--r--. 1 hadoop hadoop 2257 5月  23 2014 hbase-policy.xml

-rw-r--r--. 1 hadoop hadoop  934 9月  16 2014 hbase-site.xml

-rw-r--r--. 1 hadoop hadoop 3454 12月  3 2014 log4j.properties

-rw-r--r--. 1 hadoop hadoop   10 9月  30 2014 regionservers

 

5. 编辑hbase-env.sh

[hadoop@hdp-04 conf]$ echo $JAVA_HOME

/usr/local/jdk1.7.0_45

[hadoop@hdp-04 conf]$ vi hbase-env.sh

#指明jdk的路径

export JAVA_HOME=/usr/local/jdk1.7.0_45

export JAVA_CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

# Tell HBase whether it should manage it's own instance of Zookeeper or not.

export HBASE_MANAGES_ZK=false

 

6. 编辑regionservers 文件,指明regionserver是哪几台主机

[hadoop@hdp-04 conf]$ vi regionservers

hdp-05

hdp-06

hdp-07

 

 

7. 编辑hbase-site.xml

<configuration>

  <!-- hbasemaster的主机和端口 -->

  <property>

     <name>hbase.master</name>

     <value>hdp-04:60000</value>

  </property>

  

  <!-- 时间同步允许的时间差 -->

  <property>

     <name>hbase.master.maxclockskew</name>    

     <value>180000</value>

  </property>

  

  <!-- hbase共享目录,持久化hbase数据 -->

  <!--

       hdfs://n1是一个主备的namenode而不是某一台namenode的地址,n1的解释在

       hadoop的配置文件中有,所以需要将hadoopcore-site.xmlhdfs-site.xml拷贝过来

  -->

  <property>

     <name>hbase.rootdir</name>

     <value>hdfs://n1/hbase</value>

  </property>

  

  <!-- 是否分布式运行,false即为单机 -->

  <property>

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

     <value>true</value>

  </property>

  

  <!-- zookeeper地址 -->

  <property>

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

     <value>hdp-05,hdp-06,hdp-07</value>

  </property>

  

  <!-- zookeeper配置信息快照的位置 -->

  <property>

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

    <value>/home/hadoop/apps/hbase_zookeeper_data</value>

  </property>

</configuration>

 

8. hadoop中的core-site.xmlhdfs-site.xml拷贝到hbase/conf

[hadoop@hdp-04 conf]$ cp /home/hadoop/apps/hadoop-2.6.4/etc/hadoop/core-site.xml

 /home/hadoop/apps/hbase/conf/

[hadoop@hdp-04 conf]$ cp /home/hadoop/apps/hadoop-2.6.4/etc/hadoop/hdfs-site.xml

 /home/hadoop/apps/hbase/conf/

[hadoop@hdp-04 conf]$ ll

总用量 44

-rw-r--r--. 1 hadoop hadoop 1198 1月  24 06:14 core-site.xml

-rw-r--r--. 1 hadoop hadoop 1026 5月  23 2014 hadoop-metrics2-hbase.properties

-rw-r--r--. 1 hadoop hadoop 4196 12月  3 2014 hbase-env.cmd

-rw-r--r--. 1 hadoop hadoop 7346 1月  24 06:06 hbase-env.sh

-rw-r--r--. 1 hadoop hadoop 2257 5月  23 2014 hbase-policy.xml

-rw-r--r--. 1 hadoop hadoop  934 9月  16 2014 hbase-site.xml

-rw-r--r--. 1 hadoop hadoop 2996 1月  24 06:14 hdfs-site.xml

-rw-r--r--. 1 hadoop hadoop 3454 12月  3 2014 log4j.properties

-rw-r--r--. 1 hadoop hadoop   21 1月  24 06:07 regionservers

 

9. 配置hdp-04hdp-05hdp-07hdp-07的免密登录

hdp-04上生产钥匙

ssh-keygen -t rsa

将公钥拷贝到其他节点(包括自己)

ssh-copy-id hdp-04

ssh-copy-id hdp-05

ssh-copy-id hdp-06

ssh-copy-id hdp-07

 

10. hdp-04上的hbase的安装目录拷贝到hdp-05hdp-06hdp-07

[hadoop@hdp-04 apps]$ scp -r hbase hdp-06:/home/hadoop/apps

 

11. hbasehmaster机器hdp-04regionserverhdp-05hdp-06hdp-07上修改环境变量,增加下面的内容

[hadoop@hdp-04 apps]$ sudo vi /etc/profile

export JAVA_HOME=/usr/local/jdk1.7.0_45

export HADOOP_HOME=/home/hadoop/apps/hadoop-2.6.4

export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

export HBASE_HOME=/home/hadoop/apps/hbase

export PATH=$PATH:$HBASE_HOME/bin

然后在source /etc/profile

 

二、启动hbase

1. hmaster上(hdp-04)上启动hbase集群

[hadoop@hdp-04 apps]$ start-hbase.sh

starting master, logging to /home/hadoop/apps/hbase/logs/hbase-hadoop-master-hdp-04.out

hdp-05: starting regionserver, logging to

 /home/hadoop/apps/hbase/bin/../logs/hbase-hadoop-regionserver-hdp-05.out

hdp-06: starting regionserver, logging to

 /home/hadoop/apps/hbase/bin/../logs/hbase-hadoop-regionserver-hdp-06.out

hdp-07: starting regionserver, logging to

 /home/hadoop/apps/hbase/bin/../logs/hbase-hadoop-regionserver-hdp-07.out

[hadoop@hdp-04 apps]$ jps

1441 ResourceManager

1921 Jps

1809 HMaster

 

hdp-05hdp-06hdp-07上查看进程

[hadoop@hdp-05 ~]$ jps

1729 JournalNode

1427 QuorumPeerMain

1956 HRegionServer

1643 DataNode

1484 NodeManager

2109 Jps

 

2. hdfs上查看目录,多出了一个曾经在hdfs-site.xml中配置的节点

[hadoop@hdp-01 ~]$ hadoop fs -ls /

Found 2 items

drwxr-xr-x   - hadoop supergroup          0 2018-01-24 07:18 /hbase

 

<property>

   <name>hbase.rootdir</name>

   <value>hdfs://n1/hbase</value>

 </property>

 

3. hmasterhdp-04web服务界面:http://hdp-04:16030/


三、主从备份节点、hregionserver节点的动态扩容

将在hdp-03上再复制一个hdp-04的环境

1. hdp-04上的hbase的安装目录拷贝到hdp-03

可以先配置hdo-04hdp-03的免密登录

刚才已经在hdp-04上生成了自己的密钥,在hdp-04上操作

ssh-copy-id hdp-03

 

[hadoop@hdp-04 apps]$ scp -r hbase hdp-03:/home/hadoop/apps

 

2. 修改hdp-03的环境变量,编辑/etc/profile增加下面的内容

[hadoop@hdp-04 apps]$ sudo vi /etc/profile

export JAVA_HOME=/usr/local/jdk1.7.0_45

export HADOOP_HOME=/home/hadoop/apps/hadoop-2.6.4

export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

export HBASE_HOME=/home/hadoop/apps/hbase

export PATH=$PATH:$HBASE_HOME/bin

然后在source /etc/profile

hdp-03的机器准备好了

3. hdp-03上启动一个hmasterhdp-04构成主备hmaster

[hadoop@hdp-03 ~]$ local-master-backup.sh start 2

starting master, logging to /home/hadoop/apps/hbase/logs/hbase-hadoop-2-master-hdp-03.out

 

Hdp-03实际上向zookeeper上注册了一个backup-masters节点信息,打开zookeeper客户端,浏览

/hbase/backup-masters

[zk: localhost:2181(CONNECTED) 16] ls /hbase

[meta-region-server, backup-masters, table, draining, region-in-transition, table-lock, running, master, namespace, hbaseid, online-snapshot, replication, splitWAL, recovering-regions, rs, flush-table-proc]

zookeeper/hbase节点下的子节点

master:主hmaster的注册信息

backup-masters:从master的注册信息

rs: hregionservers的注册信息

 

查看backup-masters

[zk: localhost:2181(CONNECTED) 15] ls /hbase/backup-masters

[hdp-03,16022,1516752105548]

 

查看master的内容

[zk: localhost:2181(CONNECTED) 18] get /hbase/master

�master:16020L+ܭJY�6PBUF

 

hdp-04�}��ª�,

cZxid = 0x500000020

ctime = Wed Jan 24 07:18:54 CST 2018

mZxid = 0x500000020

mtime = Wed Jan 24 07:18:54 CST 2018

pZxid = 0x500000020

cversion = 0

dataVersion = 0

aclVersion = 0

ephemeralOwner = 0x36124d22e090002

dataLength = 53

numChildren = 0

 

可以在hdp-03关闭备份的hmaster,命令是

[hadoop@hdp-03 ~]$ local-master-backup.sh stop 2

 

这是通过zookeeper控制的

4. hdp-03加入到集群中(hdp-03hbase的配置与集群中的每台节点配置一样)

[hadoop@hdp-03 ~]$ hbase-daemon.sh start regionserver

starting regionserver, logging to /home/hadoop/apps/hbase/logs/hbase-hadoop-regionserver-hdp-03.out

[hadoop@hdp-03 ~]$ jps

2085 HRegionServer

1472 ResourceManager

2241 Jps

查看zookeeper的注册信息(在hdp-05上开启一个zookeeper的客户端)

添加hdp-03之前,浏览/hbase/rs的目录

[zk: localhost:2181(CONNECTED) 8] ls /hbase/rs

[hdp-07,16020,1516749526009, hdp-05,16020,1516749521763, hdp-06,16020,1516749531275]

添加hdp-03到集群之后,浏览/hbase/rs的目录

[zk: localhost:2181(CONNECTED) 9] ls /hbase/rs

[hdp-03,16020,1516751491409, hdp-07,16020,1516749526009, hdp-05,16020,1516749521763, hdp-06,16020,1516749531275]

还可以通过hdp-04web管理界面查看

 

 

关闭hdp-03上的hregionserver

[hadoop@hdp-03 ~]$ hbase-daemon.sh stop regionserver

stopping regionserver........

[hadoop@hdp-03 ~]$ jps

2300 Jps

1472 ResourceManager

 

再查看zookepper上的节点信息,少了hdp-03

[zk: localhost:2181(CONNECTED) 10] ls /hbase/rs

[hdp-07,16020,1516749526009, hdp-05,16020,1516749521763, hdp-06,16020,1516749531275]

 

总结:动态添加hregionserver,实际上是向zookeeper注册服务器信息,如果指明要添加的主机是集群的hmaster就是用命令:local-master-backup.sh start 2 如果要添加的主机是集群的hregionserver就使用命令:hbase-daemon.sh start regionserver

 

 

 

www.htsjk.Com true http://www.htsjk.com/hbase/42343.html NewsArticle HBase的安装, 主机规划 机器名 域名 IP 地址 作用 Hdp-01 192.168.33.31 Namenode(1.1) 、 DFSZKFailoverController(zkfc) Hdp-02 192.168.33.32 Namenode(1.2) 、 DFSZKFailoverController(zkfc) Hdp-03 192.168.33.33 resourceManager 、...
相关文章
    暂无相关文章
评论暂时关闭