1, 主节点一台: ubuntu desktop 16.04
zhoujun 172.16.12.1
从节点(slave)两台:ubuntu server 16.04
hadoop2 172.16.12.131
hadoop3 172.16.12.129
2, hadoop 分布式环境安装
hadoop版本,2.8.2 ,集群的安装请参考:
3, hbase 版本: 1.2.6
这里我使用的hbase自带的
二, 安装hbase 分布式环境
1, 安装前请大家一定要确保自己的hadoop环境正常运行,能够在上面读写数据,可以尝试一下方式验证hadoop 的hdfs文件系统是否正确!
hadoop fs -ls / # 查看hdfs 文件系统根目录下的文件有哪些
hadoop fs -mkdir /test # 创建一个test测试的目录
hadoop fs -put ./regionservers /test # 随便上传一个本地文件到hdfs文件系统刚才创建的test文件夹下
hadoop fs -ls /test # 查看刚才上传的文件,如果存在且没有异常信息,说明集群环境没有问题2, 下载hbase 的bin压缩包,
下载好后,到自己的下好刚才文件的目录下,解压压缩包,我这里移动到 /opt 文件夹下,大家可以根据自己的需求进行选择
tar -zxvf hbase-1.2.6-bin.tar.gz
将其移动到 /opt 文件夹下,可以根据自己安装目录选择,
sudo mv hbase-1.2.6 /opt/hbase对 /opt/hbase 这个文件夹添加当前用户的所有操作权限, 我这里的用户为 zhoujun
cd /opt
sudo chown -R zhoujun ./hbase
3, 修改相关的配置文件
注意我的三台主机的ip以及主机名分别为:
zhoujun 172.16.12.1
hadoop2 172.16.12.131
hadoop3 172.16.12.129
首先修改自己的hbase-site.xml 文件
cd /opt/hbase/conf # 进入到hbase的配置目录
vim hbase-site.xml
<confiuration>中的内容为:
修改 regionservers 文件内容,添加 regionservers 节点hbase.rootdir hdfs://zhoujun:9000/hbase hbase.cluster.distributed true hbase.tmp.dir /opt/hbase/tmp hbase.zookeeper.quorum zhoujun:2181,hadoop2:2181,hadoop3:2181
我这里三台,内容如下
172.16.12.1172.16.12.129172.16.12.131如果你的 ~/.bashrc 文件 或者 /etc/profile文件中没有添加 JAVA_HOME 请在 hbase-en.sh 的文件头部添加,参考 hadoop 的集群安装中的内容,
4, 压缩配置好的hbase, 并传送到其他的各个主机上!
cd /opt
tar -zcf ./hbase.tar.gz ./hbase
scp hbase.tar.gz zhoujun@hadoop2:
scp hbase.tar.gz zhoujun@hadoop3:
然后登录到 各个节点上,解压文件,移动到 /opt 下并添加文件的权限
ssh hadoop2 # 登录到hadoop2 节点
tar -zxvf hbase.tar.gz # 解压
sudo mv ./hbase /opt/hbase # 移动
cd /opt
sudo chown -R zhoujun ./hbase # 添加用户 zhoujun 的权限,可以根据自己的用户设置
然后对 hadoop3 jj节点进行相同的操作,即可
5, 对每个节点添加hbase的相关配置信息到 ~/.bashrc 或者 /etc/profile 中
vim ~/.bashrc添加内容如下:
# HBaseexport HBASE_HOME=/opt/hbaseexport HBASE_CONF_DIR=$HBASE_HOME/confexport HBASE_CLASS_PATH=$HBASE_CONF_DIRexport PATH=$PATH:$HBASE_HOME/bin
三, 测试并检测
启动相关服务
start-all.sh # 启动 hadoop, 如果启动过了,就不用start-hbase.sh # 启动 hbase
然后jps 查看进程即可:
zhoujun@zhoujun:/opt$ jps15889 SecondaryNameNode16067 ResourceManager15526 NameNode16198 NodeManager15690 DataNode16795 HQuorumPeer17067 HRegionServer16909 HMaster17951 Jps
然后启动hbase shell 测试,能够创建表,列出表,说明环境搭建成功!
zhoujun@zhoujun:/opt$ hbase shell2017-12-19 19:24:17,722 WARN [main] util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicableSLF4J: Class path contains multiple SLF4J bindings.SLF4J: Found binding in [jar:file:/opt/hbase/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]SLF4J: Found binding in [jar:file:/opt/hadoop/share/hadoop/common/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]HBase Shell; enter 'help' for list of supported commands.Type "exit " to leave the HBase ShellVersion 1.2.6, rUnknown, Mon May 29 02:25:32 CDT 2017hbase(main):001:0> listTABLE 0 row(s) in 0.3410 seconds=> []hbase(main):002:0> create 'test','f'0 row(s) in 2.4680 seconds=> Hbase::Table - testhbase(main):003:0> listTABLE test 1 row(s) in 0.0090 seconds=> ["test"]hbase(main):004:0>
好了。环境搭建完毕,有什么问题,欢迎大家留言交流!