装软件是学大数据最最基础的一步,虽然相对简单,还是很容易出错啊。希望这个详细的教程可以帮助其他想学大数据的同学少走弯路。
参考资料 厦大林子雨教程:http://dblab.xmu.edu.cn/blog/2139-2/
一、准备工作
装软件最怕的事情就是安错版本。所以安装Hbase前,看一下官网的basic preparation。(但官方文档有好多准备工作啊,比如DNS,我们这个没那么复杂,只需确定Hadoop,Hbase,JDK的版本问题。官网链接:http://hbase.apache.org/book.html#basic.prerequisites)
1.Hadoop
官方文档建议安装Hadoop2.*,因为更快,更稳定
2.JDK 8
(应该没有Java还没装好的朋友吧,这个我就不细讲了)
3.Hadoop与Hbase版本支持关系
因此,我们最后选择Hadoop-2.9.2与Hbase-2.2.1进行安装
选择清华大学镜像下载这两个包
wget https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-2.9.2/hadoop-2.9.2.tar.gz
wget https://mirrors.tuna.tsinghua.edu.cn/apache/hbase/2.2.1/hbase-2.2.1-bin.tar.gz
二、解压缩
sudo tar -zxvf ~/hbase-2.2.1-bin.tar.gz -C /usr/local cd /usr/local sudo mv ./hbase-2.2.1 ./hbase sudo chown -R hadoop:hadoop ./hbase
查看安装成功没
/usr/local/hbase/bin/hbase version
若成功,返回下面的信息:
linziyu@iZbp11gznj7n38xkztu64dZ:/usr/local$ /usr/local/hbase/bin/hbase version 2018-04-11 17:00:33,041 INFO [main] util.VersionInfo: HBase 1.1.5 2018-04-11 17:00:33,042 INFO [main] util.VersionInfo: Source code repository git://diocles.local/Volumes/hbase-1.1.5/hbase revision=239b80456118175b340b2e562a5568b5c744252e 2018-04-11 17:00:33,042 INFO [main] util.VersionInfo: Compiled by ndimiduk on Sun May 8 20:29:26 PDT 2016 2018-04-11 17:00:33,042 INFO [main] util.VersionInfo: From source with checksum 7ad8dc6c5daba19e4aab081181a2457d
三、伪分布式
在/usr/local/hbase/conf/下
1.修改hbase-env.sh
厦大林子雨还配了HBASE_CLASSPATH
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 #忘记自己的javahome可以打开hadoop-env.sh看自己以前怎么写的
export HBASE_CLASSPATH=
/usr/local/hadoop-2.9.2/etc/hadoop
export HBASE_MANAGES_ZK=true #使用hbase自带的Zookeeper
2.修改hdfs-site.xml
<configuration> <property> <name>hbase.rootdir</name> <!--192.168.1.106改成你的服务器的私网ip--> <value>hdfs://192.168.1.106:9000/hbase</value> </property> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> </configuration>
四、测试运行Hbase
我先ssh localhost(不知道有什么用,可能没有用)
第一步 启动Hadoop
输入jps,若非Data、Name、SecondaryNameNode三个都出现了,开启一下Hadoop吧!
cd /usr/local/hadoop-2.9.2 ./sbin/start-dfs.sh
第二步 启动Hbase
cd /usr/local/hbase ./bin/start-hbase.sh
hadoop@iZbp11gznj7n38xkztu64dZ:/usr/local/hbase$ jps NameNode #1 DataNode #2 SecondaryNameNode #3 HRegionServer #4 HMaster #5 HQuorumPeer #6 Jps #7
第三步 使用hbase shell
cd /usr/local/hbase
./bin/hbase shell
耐心等待后会出现下面的信息:
linziyu@iZbp11gznj7n38xkztu64dZ:/usr/local/hbase$ ./bin/hbase shell 2018-04-11 17:36:40,632 WARN [main] util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable HBase Shell; enter 'help<RETURN>' for list of supported commands. Type "exit<RETURN>" to leave the HBase Shell Version 1.1.5, r239b80456118175b340b2e562a5568b5c744252e, Sun May 8 20:29:26 PDT 2016 hbase(main):001:0>
然后开始编程吧!
1.创建表:
create 'student','Sname','Ssex','Sage','Sdept','course'
然后可通过 describe ‘student’ 查看创建的表
2.增删改查
(1)插入&更新
虽然用shell增加效率极低,但还是掌握一下吧
put 'student','95001','Sname','LiYing'
(2)删除
delete 'student','95001','Ssex'
deleteall 'student','95001'
disable 'student' #第一步 让表不可用 drop 'student' #第二步 删除表
(3)查看
get 'student','95001' #查看‘95001’这行
scan 'student' #查看表中数据
hbase基本操作:exit
五、关闭Hbase
cd /usr/local/hbase ./bin/stop-hbase.sh
然后说是可以看到变化(多了个/hbase)
linziyu@iZbp11gznj7n38xkztu64dZ:/usr/local/hadoop$ ./bin/hdfs dfs -ls / Found 2 items drwxr-xr-x - linziyu supergroup 0 2018-04-11 17:35 /hbase drwxr-xr-x - linziyu supergroup 0 2018-04-06 22:40 /user