Zookeeper+Hadoop+Hbase+Hive+Kylin+Nginx集群搭建四(Hbase篇)
五、Hbase集群搭建1.准备工作(下载与时间同步)2.安装解压3.环境变量配置4.文件配置六、启动Hbase1.启动zookeeper2.启动Hadoop2.1格式化HDFS2.2启动HDFS2.3启动YARN2.4Hadoop启动校验3.Hbase启动4.问题全文请看:/tktttt/article/details/108578804
大数据集群搭建安装包:/download/tktttt/12879318
大数据集群搭建安装包2:/download/tktttt/12879355
五、Hbase集群搭建
1.准备工作(下载与时间同步)
官网下载合适的hbase版本,要求能与上面安装的zookeeper、hadoop版本兼容
安装hbase之前必须要保证的是三台服务器的时间保持同步,推荐使用ntp完成时间配置(安装ntp:yum install ntp)
方法一:在虚拟机上安装ntp服务
yum install -y ntpdatecp /usr/share/zoneinfo/Asia/Shanghai /etc/localtimentpdate -u ntp.api.bz
方法二:设置虚拟机
设置虚拟机,找到【选项】——【vmwaretools】 ——【点击将客户端时间与主机同步】——【确定】
2.安装解压
#创建安装文件夹mkdir /usr/local/hbase#上传文件到此位置#解压tar -zxvf hbase-1.4.13-bin.tar.gz
3.环境变量配置
编辑vim /etc/profile文件
vim /etc/profile
#文末添加:export HBASE_HOME=/usr/local/hbase/hbase-1.4.13#修改PATH项:在PATH项的$PATH 末尾添加(记住":"不能少):$HBASE_HOME/bin
保存,退出,source /etc/profile
使之生效。
Hbase的配置文件在conf目录下,首先复制hadoop的hdfs-site.xml到conf目录下(cp命令即可)
4.文件配置
进入conf目录:
修改hbase-env.sh
vim hbase-env.sh
修改内容:
export JAVA_HOME=/usr/local/java/jdk1.8.0_261 #Java安装路径export HBASE_MANAGES_ZK=false #由HBase负责启动和关闭Zookeeperexport HBASE_CLASSPATH=$HBASE_CLASSPATH:/usr/local/hbase/hbase-1.4.13/conf:/usr/local/hbase/hbase-1.4.13/lib:/usr/local/hadoop/hadoop-2.7.4/etc/hadoop
保存退出
修改hbase-site.xml
修改configuration标签内容:
<configuration><property><name>hbase.rootdir</name><value>hdfs://192.168.88.129:9000/hbase</value></property><property><name>hbase.cluster.distributed</name><value>true</value></property><property><name>hbase.tmp.dir</name><value>/usr/data/hbase/tmp</value></property><property><name>hbase.zookeeper.quorum</name><value>192.168.88.129,192.168.88.130,192.168.88.131</value></property><property><name>hbase.zookeeper.property.clientPort</name><value>2181</value></property></configuration>
其中hbase.zookeeper.quorum配置的是之前安装好的zookeeper集群,对应即可
创建上面的hbase.tmp.dir文件:
cd /usr/datamkdir hbasemkdir hbase/tmp
配置conf/regionservers
加入下面内容(即主、从节点的IP):
192.168.88.129192.168.88.130192.168.88.131
每个节点都需这么配置,所以也可以直接发送到其他节点,再进行相对修改即可:
scp -r /usr/local/hbase/hbase-1.4.13/ 192.168.88.130:/usr/local/hbase/scp -r /usr/local/hbase/hbase-1.4.13/ 192.168.88.131:/usr/local/hbase/
六、启动Hbase
按顺序来:
1.启动zookeeper
在每个节点上运行:
zkServer.sh start (启动)zkServer.sh stop (终止)
查看当前zookeeper的运行状态:(一个leader,其余follower)
zkServer.sh status
启动第一台后状态可能不对,不要紧张,当三台全启动后就好了
2.启动Hadoop
所有节点执行:
hadoop-daemon.sh start journalnode
校验命令,查看进程:
jps
2.1格式化HDFS
主节点执行命令(最好自己手敲,复制可能出错):
hdfs namenode -format
或者:
hadoop namenode -format
2.2启动HDFS
仅在主节点执行命令:
start-dfs.sh
2.3启动YARN
同样只在主节点:
start-yarn.sh
2.4Hadoop启动校验
见上文Hadoop集群搭建中的启动测试部分
3.Hbase启动
仅在主节点(node)执行
start-hbase.sh
在各个节点用jps
查看进程是否存在:
主节点为HMaster/HRegionServer,从节点为HRegionServer
注意:在哪个主机执行start命令,则该主机为master
单独启动Hregionserver的命令为:
hbase-daemon.sh start regionserver
启动集群中所有的regionserver./hbase-daemons.sh start regionserver启动某个regionserver./hbase-daemon.sh start regionserver
hbase默认的web界面地址为:http://master-ip:16010:
本文为:http://192.168.88.129:16010
4.问题
本文一直使用的IP,前面一直没事,但启动Hbase时会出现问题
查看regionserver的log日志:
regionserver.HRegionServer:reportForDuty failed;sleeping and then retrying.regionserver.HRegionServer:reportForDuty to master=localhost,6000,139xxxxxx with port=60020,startcode=139xxxxxxregonserver.HRegionServer:error telling master we are .ConnectException:Connection refused
注意到master=localhost , 但这不对,master不可能等于localhost
查看三台节点的主机名,发现都为localhost,因而猜想是否此处有问题,更改每台主机名:
通过命令行进行更改:IP是129的主机名改为node,130改为node1,131改为node2
#129上执行:hostnamectl set-hostname node#130上执行:hostnamectl set-hostname node1#131上执行:hostnamectl set-hostname node2
在每个节点使用hostname
命令查看是否改名成功
并为每个节点添加映射:
#修改文件/etc/hostsvi /etc/hosts
加入以下内容:
192.168.88.129 node192.168.88.130 node1192.168.88.131 node2
之后可以测试一下ping 主机名
是否可以ping通,如,在主节点尝试:ping node1
都可以之后,重新进行步骤3.Hbase启动,启动成功