大数据技术问题盘点

Hadoop伪分布式启动无datanode

删除hadoop2.10/tmp
重新格式化namenode

hdfs namenode -format
start-all.sh

OK!!
datanode
namenode
secondarynamenode

查看集群状况

hdfs dfsadmin -report #可以看到分配的内存、活跃的datanode等

关闭hbase时报错,stopping hbasecat: /tmp/hbase-lgm-master.pid: No such a file。没有那个文件或目录

在使用stop-hbase.sh 关闭HBase集群时,找不到主节点的进程文件,默认是存储在/tmp下,容易丢失,所以需要配置:

cd /usr/local/hbase1.4.13/conf
sudo vim hbase-env.sh

#配置以下内容
export JAVA_HOME=/usr/local/jdk8
export HADOOP_HOME=/usr/local/hadoop2.10
export HBASE_HOME=/usr/local/hbase1.4.13
export HBASE_CLASSPATH=/usr/local/hbase1.4.13/conf
#export HBASE_CLASSPATH=/usr/local/hadoop2.10/etc/hadoop
export HBASE_PID_DIR=/usr/local/hbase1.4.13/pids

#在HMaster、HRegionServer真正启动时,会在pids目录下
#生成进程文件
#hbase-tarena-master.pid    
#hbase-tarena-regionserver.pid
#此时再使用stop-hbase.sh关闭集群就正常了

解决Hbase启动后,hmaster会在几秒钟后自动关闭(停掉)

在使用start-hbase.sh启动HBase集群时,使用jps查看进程,当时是有HMaster、HRegionServer启动,但过一会再次查看进程发现HMaster进程停掉了,随后HRegionServer进程也会停掉。

解决办法:看日志
/usr/local/hbase1.4.13/logs/hbase-tarena-master-tedu.log
在这里插入图片描述
发现是HBase连接Zookeeper断开的问题

解决思路1
确保Zookeeper服务节点的防火墙关闭

service ufw stop
service ufw status

解决思路2
检查HBase的配置文件hbase-site.xml

sudo vim hbase-site.xml
<property>
	<name>hbase.rootdir</name>
	<value>hdfs://localhost:9000/hbase</value>
	<description>hbase.rootdir是RegionServer的共享目录,			用于持久化存
储Hbase的数据,默认存储在/tmp,重启Hbase时数据会丢失。
                一般配置HDFS目录
                如主机namenode.example.org:9000
	</description>
</property>
<property>
	<name>hbase.cluster.distributed</name>
	<value>true</value>
	<description>
	Hbase的运行模式,
	false为单机模式
	true为分布式模式,又分为伪分布式、完全分布式
	</description>
 <property>
 	<name>hbase.zookeeper.quorum</name>
 	<value>localhost,localhost,localhost</value>
 	<description>
    Zookeeper集群的服务节点地址,没有端口号
 	</description>
 </property>

。。。。

主要是hbase.zookeeper.quorum,配置zookeeper服务节点地址,不含端口。

python连接HBase

在这里插入图片描述
确保HMaster/HRegionServer启动

HBase完全分布式,启动后使用jps查看

HMaster
HRegionServer
均启动OK
但是通过WEB API–》http://master:16010,查看只用一个从节点!!!!!其他从节点未启动
在这里插入图片描述
解决
看各自节点的log

  1. HBase节点间时间不同步问题,CallTimeoutException
    同步服务器间的时间(Ubuntu18.04)
    在这里插入图片描述
sudo vim /etc/systemd/timesyncd.conf #添加如下行:

NTP=ntp.aliyun.com

FallbackNTP=ntp.ubuntu.com

RootDistanceMaxSec=5

PollIntervalMinSec=32

PollIntervalMaxSec=2048


#保存
sudo timedatectl set-ntp false
sudo timedatectl set-ntp true
#查看,解决同步问题
$ less /var/log/syslog
  1. slave2节点的/etc/hosts问题----自己遇到

在这里插入图片描述
将127.0.1.1 slave2注释掉,防止域名冲突

  1. 查看正确结果
    在这里插入图片描述
    此时slave2 从节点也启动了。

HBase伪分布式,启动可以看到相关进程,但是shell操作时报错:Master未启动

查看master的log,发现如下:
在这里插入图片描述
等待dfs 退出安全模式
所以需要关闭hdfs伪分布式的安全模式
hadoop2.10.0版本

#报告dfs的状态
$ hdfs dfsadmin -report 

$ hdfs dfsadmin -safemode enter/leave/get/wait
#enter,进入安全模式
#leave,强制NameNode离开安全模式
#get,获取安全模式的状态
#wait,等待,直到退出安全模式

tarena@master:~$ hdfs dfsadmin -safemode get
Safe mode is ON

tarena@master:~$ hdfs dfsadmin -safemode leave
Safe mode is OFF

HBase伪分布式自动关闭

在linux系统休眠时,HBase伪分布式集群会自动关闭!
待解决的问题!!!

HBase的浏览器访问

HDFS,    http://ip:50070
本地可以访问,远程也可以访问

HBase,    http://ip:16010
本地可以访问,远程也可以访问

HBase的编程API访问

Java远程连接

zookeeper ip:2181

Python远程连接

Thrift服务(在HBase服务器上启动)

  1. thrift的本地连接
$ hbase-daemon.sh start thrift #默认绑定0.0.0.0:9090
  1. thrift的远程连接
$ hbase-daemon.sh start thrift -b ip -p 9090#绑定ip:9090

/hbase/WALs/master,16201,1631808541501-splitting is non empty

使用HBase管理的zookeeper,启动HBase伪分布式集群失败,查看log,如下:
在这里插入图片描述
解决办法:

$ hdfs dfs -rm -r /hbase/WALs/*

重新启动HBase集群

org.apache.zookeeper.KeeperException$SessionExpiredException: KeeperErrorCode = Session expired for /hbase/master

使用HBase伪分布式,使用自带的Zookeeper,集群运行一段时间后,Zookeeper会话过期,HMaster会自动退出。
查看Master log 发现:
org.apache.zookeeper.KeeperException$SessionExpiredException: KeeperErrorCode = Session expired for /hbase/master

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

laufing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值