说明Linux 机器 ( Centos 4.x )
Linux 机器支持连接外网
为了将重点放到 HBase API 使用这里, 我们进行最简化快速安装对外可用的单点 Standalone HBase , 而不会将大量时间放到复杂的分布式安装这里.
在这里, HBase/Zookeeper 我们均使用的是最简化的伪分布式安装.
- 在后续深入学习和研究 HBase 集群性能优化这里, 为了保证搭建起的集群和实际生产线上环境更加的贴近, 这个时候再来将更多的时间放到真正的分布式安装 HBase 集群上.
安装 [JDK]()
下载安装脚本
#!/bin/sh
machine_env=$(uname -a | grep 'x86_64')
jdk_url='http://download.oracle.com/otn-pub/java/jdk/8u171-b11/512cd62ec5174c3487ac17c61aaa89e8/jdk-8u171-linux-x64.tar.gz'
if [[ -z ${machine_env} ]] ; then
jdk_url='http://download.oracle.com/otn-pub/java/jdk/8u171-b11/512cd62ec5174c3487ac17c61aaa89e8/jdk-8u171-linux-i586.tar.gz'
fi
jdk_home=$(cd `dirname $0`; cd ./jdk8 ; pwd)
wget --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" ${jdk_url} -P ${jdk_home} && cd ${jdk_home} && tar -xzf ${jdk_home}/*.tar.gz && mv jdk1.8.0_*/* .&& \
rm -rf jdk*
将 JDK 安装路径同步到环境变量中
vi ~/.bash_profile
export JAVA_HOME=/home/work/muke/jdk8
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
export $PATH
source ~/.bash_profile
检测 java 版本
下载安装脚本
#!/bin/sh
zk_home=$(cd `dirname $0` ; cd zookeeper-3.4/ ; pwd)
zk_url='https://archive.apache.org/dist/zookeeper/stable/zookeeper-3.4.12.tar.gz'
wget ${zk_url} -P ${zk_home} && cd ${zk_home} && tar -xzf zookeeper-*.tar.gz
HBase 安装
下载安装脚本
#!/bin/sh
hbase_home=$(cd `dirname $0`; cd ./hbase-2.0 ; pwd)
hbase_mirror=http://mirrors.hust.edu.cn/apache/hbase/2.0.0/hbase-2.0.0-bin.tar.gz
wget ${hbase_mirror} -P ${hbase_home} && cd ${hbase_home} && tar -xzf ${hbase_home}/hbase-2.0.0-bin.tar.gz
修改配置文件 && 创建需要文件夹
- 首先, 我们来修改 conf/hbase-site.xml 这个配置文件
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <property> <name>hbase.rootdir</name> <value>file:///home/work/muke/hbase-2.0/metadata/hbase</value> </property> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/home/work/muke/zookeeper-3.4.12</value> </property> <property> <name>hbase.unsafe.stream.capability.enforce</name> <value>false</value> </property> </configuration>
- 然后, 针对配置文件中所记录的 hbase 存放元文件来创建路径
mkdir -p /home/work/muke/hbase-2.0/metadata/hbase
启动 HBase 进程
cd hbase-2.0/bin
nohup sh start-hbase.sh &
-
正确启动显示的输出日志信息
- 然后,我们跳转至刚刚创建的 metadata/hbase 路径下来查看文件写入的格式
使用 HBase Cli 创建表
- 首先, 来启动 hbase shell 交互命令行
./bin/hbase shell # 通过该命令来启动 hbase shell
-
然后, 输入简单的命令
create 'test', 'cf'
- 说明, 上述的错误提示信息是说我的 jdk 版本必须是 >= 1.8 的, 不然无法启动 , 因为我将 JAVA_HOME 的配置 work 用户的 ~/.bash_profile 配置文件中
- 而 XShell 登录端登陆时默认用的用户名是 root , 仅仅通过 su work 切换到用户 work 还不够, 环境变量没有随用户名的切换而自动的刷新
- 通过 source ~/.bash_profile 后, 会将环境变量信息重新刷新,再次启动 hbase shell 便可以获取到当前用户下 JAVA_HOME 的地址信息了
- 最终退出, 在命令行中输入 quit 即可退出命令行 shell 交互进程
References: