HBase-伪分布式本地安装

HBase是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。接下来记录一下HBase的安装和一些基本的使用:

安装JDK

安装JDK具体操作,请点击链接

SSH设置和密钥生成

SSH设置需要在集群上执行不同的操作,如启动,停止和分布式守护shell操作。进行身份验证不同的Hadoop用户,需要一种用于Hadoop的用户提供的公钥/私钥对,并用不同的用户共享。以下的命令被用于生成秘钥值对。复制公钥从id_rsa.pubauthorized_keys,并提供所有者、读写权限到authorized_keys当中:

ssh-keygen -t rsa
cat id_rsa.pub >> /root/.ssh/authorized_keys
chmod 0600 /root/.ssh/authorized_keys

验证ssh

ssh localhost

不出意外的话,将会显示如下信息:

Welcome to Ubuntu 16.04 LTS (GNU/Linux 4.4.0-21-generic x86_64)

 * Documentation:  https://help.ubuntu.com/

205 packages can be updated.
110 updates are security updates.


*** System restart required ***

安装配置Hadoop

1、从官网下在相应版本的安装包,这里我下载的是2.9.0版本
2、解压

tar -zxvf hadoop-2.9.0.tar.gz

3、移动至/usr/local/hadoop目录当中

mv hadoop-2.9.0 /usr/local/hadoop

4、配置环境变量,使用vi编辑器打开/etc/profile文件,添加如下代码:

export HADOOP_HOME=/usr/local/hadoop
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib:$HADOOP_COMMON_LIB_NATIVE_DIR"

应用刚刚配置的环境变量:

source /etc/profile

5、进入$HADOOP_HOME/etc/hadoop目录当中,使用vi编辑器,打开hadoop-env.sh文件,修改Java环境变量JAVA_HOME的值,并且修改进程文件的存放目录:

export JAVA_HOME=/usr/local/jdk1.8.0_151

6、修改core-site.xmlcore-site.xml包含用于Hadoop的实例,分配给文件系统,存储器限制用于存储数据和读/写缓冲器大小的信息。使用vi编辑器,打开core-site.xml,并且在<configuration></configuration>标签之间添加如下属性:

<configuration>
    <property>
        <name>fs.default.name</name>
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>

7、修改hdfs-site.xmlhdfs-site.xml包含复制数据的值,NameNode的路径,本地文件系统,要存储Hadoop基础架构的Datanode路径的信息。使用vi编辑器,打开hdfs-site.xml,并且在<configuration></configuration>标签之间添加如下属性:

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>
        <name>dfs.name.dir</name>
        <value>file:///home/pythoner/hadoop/hdfs/namenode</value>
    </property>
    <property>
        <name>dfs.data.dir</name>
        <value>file:///home/pythoner/hadoop/hdfs/datanode</value>
    </property>
</configuration>

上面的属性值是用户自定义的,用户可以根据自己的Hadoop的基础架构进行更改。

8、修改yarn-site.xml。此文件用于配置yarn在Hadoop中。使用vi编辑器,打开yarn-site.xml,并且在<configuration></configuration>标签之间添加如下属性:

<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
</configuration>

9、修改mapred-site.xml。此文件用于指定MapReduce框架以使用。默认情况下,Hadoop包含mapred-site.xml模板,即mapred-site.xml.template文件。首先需要从模板中复制到mapred-site.xml中:

cp mapred-site.xml.template mapred-site.xml

使用vi编辑器,打开mapred-site.xml,并且在<configuration></configuration>标签之间添加如下属性:

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

验证Hadoop

1、格式化文件系统,命令如下:

hdfs namenode -format

预期结果如下:

...
17/12/04 17:01:49 INFO common.Storage: Storage directory /home/pythoner/hadoop/hdfs/namenode has been successfully formatted.
17/12/04 17:01:49 INFO namenode.FSImageFormatProtobuf: Saving image file /home/pythoner/hadoop/hdfs/namenode/current/fsimage.ckpt_0000000000000000000 using no compression
17/12/04 17:01:49 INFO namenode.FSImageFormatProtobuf: Image file /home/pythoner/hadoop/hdfs/namenode/current/fsimage.ckpt_0000000000000000000 of size 321 bytes saved in 0 seconds.
17/12/04 17:01:49 INFO namenode.NNStorageRetentionManager: Going to retain 1 images with txid >= 0
17/12/04 17:01:49 INFO namenode.NameNode: SHUTDOWN_MSG: 
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at ubuntu/127.0.1.1
************************************************************/

2、启动namenodedatanode守护进程,命令如下:

start-dfs.sh

预期结果如下:

Starting namenodes on [localhost]
localhost: starting namenode, logging to /usr/local/hadoop/logs/hadoop-root-namenode-ubuntu.out
localhost: starting datanode, logging to /usr/local/hadoop/logs/hadoop-root-datanode-ubuntu.out
Starting secondary namenodes [0.0.0.0]
0.0.0.0: starting secondarynamenode, logging to /usr/local/hadoop/logs/hadoop-root-secondarynamenode-ubuntu.out

3、启动yarn守护进程,命令如下:

start-yarn.sh

预期结果如下:

starting yarn daemons
starting resourcemanager, logging to /usr/local/hadoop/logs/yarn-root-resourcemanager-ubuntu.out
localhost: starting nodemanager, logging to /usr/local/hadoop/logs/yarn-root-nodemanager-ubuntu.out

4、在浏览器上输入http://192.168.0.156:50070/访问Hadoop服务。注:192.168.0.156为博主Linux机器地址

在这里插入图片描述

5、在浏览器上输入http://192.168.0.156:8088/验证集群中的所有应用程序。注:192.168.0.156为博主Linux机器地址

在这里插入图片描述

伪分布式本地安装HBase

在上面已经介绍了如何在单机模式下安装HBase,以及HBase的简单实用,接下来将记录一下伪分布式本地安装HBase:

1、如果HBase正在运行,请先停止它(停止操作请看在单机模式下安装HBase第8步操作)
2、配置HBase,进入/usr/local/HBase/conf目录,使用vi编辑器,打开hbase-site.xml,在<configuration></confiuration>添加下列属性:

<property>
    <!-- 设置分布式为true -->
    <name>hbase.cluster.distributed</name>
    <value>true</value>
</property>
<property>
    <!-- 指向高可用性的HDFS文件系统 -->
    <name>hbase.rootdir</name>
    <!-- 此端口应该与Hadoop中core-site.xml里配置的端口号一致 -->
    <value>hdfs://localhost:9000/hbase</value>
</property>
<property>
    <name>hbase.zookeeper.property.dataDir</name>
    <value>/home/pythoner/hbase/zookeeper</value>
</property>

3、启动HBase,进入HBase的安装目录下的bin目录,执行如下命令:

./start-hbase.sh

4、检查HDFS的HBase目录。进入Hadoop的安装目录下的bin目录,即/usr/local/hadoop/bin,接下来使用如下命令来列出这个目录:

root@ubuntu:/usr/local/hadoop/bin# ./hadoop fs -ls /hbase
Found 7 items
drwxr-xr-x   - root supergroup          0 2017-12-05 15:06 /hbase/.tmp
drwxr-xr-x   - root supergroup          0 2017-12-05 15:05 /hbase/MasterProcWALs
drwxr-xr-x   - root supergroup          0 2017-12-05 15:05 /hbase/WALs
drwxr-xr-x   - root supergroup          0 2017-12-05 15:06 /hbase/data
-rw-r--r--   1 root supergroup         42 2017-12-05 15:05 /hbase/hbase.id
-rw-r--r--   1 root supergroup          7 2017-12-05 15:05 /hbase/hbase.version
drwxr-xr-x   - root supergroup          0 2017-12-05 15:05 /hbase/oldWALs

5、启动/停止备份主服务器。HBase控制HBase集群,你最多可以启动9个备份主服务器,这使得这个服务器总共有10个HMaster计算主服务器。要启用备份HMaster,请使用./local-master-backup.sh。对于要启动的每个备份主节点,请添加一个表示该主节点的端口偏移量的参数。其中这个数字2,3,5,代表的是端口的偏移,例如HBase默认使用的是16010端口,如果执行上面的命令之后,那么这个备份HMaster服务就会使用16012,16013,16015这些端口。

./local-master-backup.sh start 2 3 5

此时我们在浏览器中分别访问http://192.168.0.156:16012http://192.168.0.156:16013http://192.168.0.156:16015,将可以查看Web UI。

此时,使用jps命令进行查看,会发现现在有4个HMaster进程:

root@ubuntu:/usr/local/jdk1.8.0_151/bin# ./jps
71905 HMaster
72017 HMaster
72496 Jps
27666 SecondaryNameNode
66197 HQuorumPeer
28005 NodeManager
70039 HMaster
27307 NameNode
27468 DataNode
61742 HRegionServer
27886 ResourceManager
71839 HMaster

进入/var/hadoop/pids进行查看,此时会发现多了好几个进程文件,名字与此hbase-root-2-master.pid相似,2为端口的偏移量

停止备份主服务器:

./local-master-backup.sh stop 2

7、启动/停止RegionServer。HRegionServer按照HMaster的指示管理其存储文件中的数据。通常一个HRegionServer在集群中的每个节点上运行。在同一个服务器下运行多个HRegionServer对于伪分布式模式下的测试非常有用。local-regionservers.sh允许你运行多个RegionServer,它的工作方式与local-master-backup.sh类似,因此你提供的每个参数都代表实例的端口偏移量。每个RegionServer需要两个端口,默认的端口是16020和16030。但是,由于HMaster使用默认端口,所以其他RegionServer的基本端口不是默认端口,而HBase自从HBase 1.0.0版本以来也是RegionServer。基本端口是16200和16300。你可以在服务器上运行额外的区域服务器,它们不是HMaster或备份HMaster的RegionServer。以下命令将启动4个RegionServers,它们在从16202/16302(基本端口16200/16300加2)开始的顺序端口上运行:

./local-regionservers.sh start 2 3 4 5

同样,你也可以使用jps命令进行查看,或者直接在/var/hadoop/pids查看进程文件。

停止RegionServer:

./local-regionservers.sh stop 2

至此,Hbase伪分布式本地安装也就完成了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值