ubuntu-14.04.5-desktop-i386中安装Hbase
实验环境:
1.ubuntu-14.04.5系统
2.hbase-1.1.5-bin.tar.gz安装包
3.hadoop伪分布式搭建完成
一、 安装Hbase
1. 使用传输工具将Hbase安装包发送到Ubutu系统的/home/hadoop/下载 目录下
2. 解压Hbase安装包到/usr/local下
$>sudo tar -zxf hbase-1.1.5-bin.tar.gz -C /usr/local
3. 修改Hbase文件夹名和文件夹所有者
$> cd /usr/local
$> sudo mv hbase-1.1.5/ hbase
$>sudo chown -R hadoop:hadoop hbase/
4. 配置环境变量并使环境变量生效
$>gedit ~/.bashrc
$>source ~/.bashrc
添加内容
# hbase install
export HBASE_HOME=/usr/local/hbase
export PATH=$PATH:$HBASE_HOME/bin
5.验证Hbase是否安装成功(单机模式)
$>hbase version
显示Hbase版本信息表示安装成功。
6.Hbase伪分布式配置
a. 修改文件/usr/local/hbase/conf/hbase-env.sh
$> gedit hbase-env.sh
添加:
export JAVA_HOME=/usr/local/jdk
export HBASE_CLASSPATH=/usr/local/hadoop/conf
export HBASE_MANAGES_ZK=true
注:找到这些配置项,不用删除注释,复制配置项这一行,修改其属性。
b. 修改文件/usr/local/hbase/conf/hbase-site.xml
$>gedit hbase-site.xml
添加内容:
<property>
<name>hbase.rootdir</name>
<value>hdfs://master:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
7. 测试Hbase
a. 启动hadoop服务
$> start-dfs.sh
使用jps查看hadoop是否启动
16497 DataNode
16805 Jps
16345 NameNode
16687 SecondaryNameNode
b. 启动Hbase服务
$>start-hbase.sh
使用jps查看进程是否启动
16497 DataNode
17044 HQuorumPeer
17254 HRegionServer
17335 Jps
16345 NameNode
17132 HMaster
16687 SecondaryNameNode
c. 进入Hbase交互式界面
$>hbase shell
d. 关闭Hbase交互式界面
hbase(main):001:0> exit
e. 关闭Hbase服务
$>stop-hbase.sh
这时可以看见HDFS中生成了/hbase目录
注:遇见了问题,stop-hbase.sh没有关掉HRegionServer进程,并且报错:stopping hbasecat: /tmp/hbase-hadoop-master.pid: 没有那个文件或目录。HDFS中也没有生成/hbase目录。
还有一个问题:使用hadoop fs -ls hdfs://master:9000/,报错WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
lsr: Call From master/192.168.159.133 to master:9000 failed on connection exception: java.net.ConnectException: 拒绝连接。
原因:最后一个问题,是因为ubutu系统是32位的,hadoop是64位的。
原因2:Call From master/192.168.159.133 to master:9000 failed on connection exception: java.net.ConnectException: 拒绝连接。是因为配置core-site.xml中,<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>.所以用命令hadoop fs -lsr hdfs://master:9000,会出现拒绝连接。
还有一点:在hadoop中查看目录的时候最好带/,/表示目录。
f. 关闭Hadoop服务
$>stop-dfs.sh