Hbase完全分布式集群搭建
【有问题或错误,请私信我将及时改正;借鉴文章标明出处,谢谢】
参考文章:
修改 hadoop 集群及hbase集群的pid文件存放位置
hbase启动后HMaster自动关闭:连接不到8020端口
HDFS部分:8020端口,9000端口和50070端口号,50090,9083,2181,6379的区别
HBase默认配置文件hbase-default.xml注释解析
启动 HBase 报错:FATAL [hadoop001:16000.activeMasterManager] master.HMaster: Failed to become active m…
搭建环境:
zookeeper3.4.5
hadoop完全分布式集群
1.下载并上传至虚拟机
到官网进行下载
上传至liunx下,此次路径为根目录soft下
2.解压并创建软连接
3.配置环境变量并生效
4.修改hbase的配置文件
(1)进入hbase 的conf目录下修改hbase-env.sh文件(即修改的式环境)
注意如下:
{
<1> export HBASE_PID DIR=/var/hadoop/pids
配置HBASE_PID_DIR 时先创建目录/var/hadoop/pids,通过一个pid文件来停止集群的。
在/var目录下面创建一个文件夹: mkdir -p /var/hadoop/pids,记得更改这个文件夹的权限,chown -R root:root /var/hadoop,将这个目录及子目录的拥有者改为你的当前用户,我这是root,不然执行start-all.sh的时候当前用户会没有权限创建pid文件
<2> export HBASE_MANAGES_ZK=false
hbase自带zookeeper集群,这个集群会随hbase启动而启动。但是咱们搭建的是hbase分布式集群,前面自己大搭了zookeeper集群,用自己打好的zookeeper,为的就是更便于优化配置提高集群工作效率。
conf/hbase-env.sh 里面的HBASE MANAGES ZK 来切换,这个值默认是true ,作用是让HBase启动的同时也启动ZooKeeper。在安装的过程中,采用独立运行ZooKeeper 集群的方式,故将其属性值改为false 。
<3> export HBASE_CLASSPATH=/soft/hadoop
HBASE_CLASSPATH 是Hadoop 的配置文件路径,
}
(2) 进入hbase 的conf目录下修改hbase-site.xml文件(即配置相应的东西zookeeper等)
<configuration>
<property>
<name>hbase.rootdir</name> #指定hbase在HDFS上存储的路径
<value>hdfs://master/hbase</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name> #指定Zookeeper集群的数据存储路径
<value>/soft/zookeeper/zkData</value>
</property>
<property>
<name>hbase.cluster.distributed</name> #指定HBase运行的模式:false:单机/伪分布;true:完全分布
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name> #zookeeper节点主机名
<value>master,slave1,slave2</value>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name> #zookeeper端口号
<value>2181</value>
</property>
<property>
<name>hbase.master.port</name> #默认HMaster HTTP访问端口,HBase1.0以后的版本需要手动配置Web,访问端口号60010
<value>16000</value>
</property>
</configuration>
注意如下:
{
<1>. hbase.rootdir的配置
8020是hdfs的默认端口,但是我们在配置hadoop集群时可能在core-site.xml中将hdfs的默认端口更改,这里我们原本在hadoop搭建时core-site.xml没有配置端口号,所以这里也没有端口号
<2>. hbase.zookeeper.property.dataDir
/hadoop/zookeeper/zkData路径是之前zookeeper集群搭建时自己创建的文件夹,此为数据存储路径
<3>. 但凡看到有主机名不要一味的抄,有可能主机名不一样,记得修改成自己的主机名
}
(3) 进入hbase 的conf目录下修改regionservers文件
regionservers文件负责配置 HBase集群中哪台节点作 Region Server服务器,其配置内容为:
slave1
slave2
5.分发配置
(1)将在第一台虚机配置好的hbase分发到slave1,slave2
scp -r /soft/hbase root@slave1:/soft/
scp -r /soft/hbase root@slave2:/soft/
(2)将在第一台虚机配置好的配置文件(/etc/profile)分发到slave1,slave2
scp -r /etc/profile root@slave1:/etc/
scp -r /etc/profile root@slave2:/etc/
分发完后分别在slave1和slave2上生效profile文件
source /etc/profile
(3)此时切记,我们在配置文件中有输入:
export HBASE_PID DIR=/var/hadoop/pids 在slave1和slave2上没有,需要创建,上面步骤有提到
在/var目录下面创建一个文件夹: mkdir -p /var/hadoop/pids,记得更改这个文件夹的权限,chown -R root:root /var/hadoop,将这个目录及子目录的拥有者改为你的当前用户,我这是root,不然执行start-all.sh的时候当前用户会没有权限创建pid文件
6.测试
(1)启动zookeeper(在全部虚拟机上启动)
zkServer.sh start
(2)启动hadoop(在master上启动)
start-all.sh
(3)启动hbase(在master上启动)
start-hbase.sh
(4)浏览器测试
输入192.168.80.11:16010,就可以进入
这里的xcall.sh 是个脚本命令,没有这个脚本就一台一台jps查看节点数,后期我会发部几个linux下好用的脚本
【有问题或错误,请私信我将及时改正;借鉴文章标明出处,谢谢】