本篇将在阿里云ECS服务器部署HADOOP集群(一):Hadoop完全分布式集群环境搭建的基础上搭建,多添加了一个 datanode 节点 。
下载 hbase-1.2.6-bin.tar.gz 并在合适的位置解压缩,笔者这里解压缩的路径为:
/usr/local
将解压得到的目录改名为 hbase
1 cd /usr/local2 mv hbase-1.2.6/ hbase/
在"/etc/profile"中添加内容:
1 export HBASE_HOME=/usr/local/hbase2 export PATH=$PATH:$HBASE_HOME/bin
重新加载环境:
source /etc/profile
编辑文件:
vim $HBASE_HOME/conf/hbase-env.sh
添加内容:
1 export JAVA_HOME=/usr/local/jdk1.82 export HBASE_CLASSPATH=/usr/local/hadoop/etc/hadoop3 export HBASE_MANAGES_ZK=false
关于 HBASE_CLASSPATH , 官方文档解释如下:Of note, if you have made HDFS client configuration changes on your Hadoop cluster, such as configuration directives for HDFS clients, as opposed to server-side configurations, you must use one of the following methods to enable HBase to see and use these configuration changes:
HADOOP_CONF_DIR
to the HBASE_CLASSPATH
environment variable in hbase-env.sh.An example of such an HDFS client configuration is dfs.replication
. If for example, you want to run with a replication factor of 5, HBase will create files with the default of 3 unless you do the above to make the configuration available to HBase.
HBASE_MANAGES_ZK 设置是否使用内置 ZooKeeper ,默认为 true 也就是使用内置 ZooKeeper 笔者这里使用外置 ZooKeeper 。(生产环境建议使用外置ZooKeeper,维护起来比较方便,可参考到底要不要用hbase自带的zookeeper)
编辑文件:
vim $HBASE_HOME/conf/hbase-site.xml
配置可参考如下代码:
1 <configuration> 2 <!--HBase 的数据保存在 HDFS 对应的目录下--> 3 <property> 4 <name>hbase.rootdir</name> 5 <value>hdfs://master:9000/hbase</value> 6 </property> 7 <!--是否分布式环境--> 8 <property> 9 <name>hbase.cluster.distributed</name>10 <value>true</value>11 </property>12 <!--配置 ZK 的地址, 三个节点都启用 ZooKeeper-->13 <property>14 <name>hbase.zookeeper.quorum</name>15 <value>master,slave1,slave2</value>16 </property>17 <!--内置 ZooKeeper 的数据目录--> 18 <property>19 <name>hbase.zookeeper.property.dataDir</name>20 <value>/usr/local/hbase/zookeeper</value>21 </property>22 </configuration>
编辑文件:
vim $HBASE_HOME/conf/regionservers
添加内容:
1 slave12 slave2
这个文件需要自己创建。
编辑文件:
vim $HBASE_HOME/conf/backup-masters
添加内容:
slave1
为了保证HBase集群的高可靠性,HBase支持多Backup Master 设置。当Active Master挂掉后,Backup Master可以自动接管整个HBase的集群。
1 scp -r /usr/local/hbase slave1:/usr/local2 scp -r /usr/local/hbase slave2:/usr/local
1 scp /etc/profile slave1:/etc/2 scp /etc/profile slave2:/etc/
分发后分别在各节点重新加载环境并测试,可使用 hbase version 测试。
参考 阿里云ECS服务器部署HADOOP集群(三):ZooKeeper 完全分布式集群搭建
注:服务器端口全部开放的可以直接跳过这一步,不想看笔者BB的也可以直接跳到该小结的最后。
可能是由于计算机网络没学好,从搭建Hadoop开始大半的时间都被浪费到这个端口问题上,各种 Error 全都是因为这个问题。
联系客服