遇到过的问题
ERR Slot 4648 i s already busy (Redis::CommandError)
开始创建redis集群服务器的时候出现了问题
这样就可以把可能存在的数据删除掉,确保每一个插槽是没被占用的,最后重新尝试创建redis集群服务器,创建成功,而且服务器之间也可以实现自动重定向:对每一个节点都这样做,
然后创建集群服务器
./redis-trib.rb create --replicas 1 192.168.139.200:7001 192.168.139.200:7002 192.168.139.200:7003 192.168.139.200:7004 192.168.139.200:7005 192.168.139.200:7006
最后:
问题成功解决
解决redis集群的问题
不建议上面的那种方式,可以删除临时文件和临时配置文件,再重新开启服务,./start-all.sh
创建集群服务器./redis-trib.rb create --replicas 1 192.168.139.200:7001 192.168.139.200:7002 192.168.139.200:7003 192.168.139.200:7004 192.168.139.200:7005 192.168.139.200:7006
启动客户端:../bin/redis-cli -h 192.168.139.200 -p 7001 -c
在集群中:cluster nodes查看所有节点的情况, set key,get key ,例如:set s1 111 ,get s1
下面这个别搞,这个是我自己redis里需要的东西
配置几个反爬虫的标识
set FilterChangeFlag false
set ClassifyRuleChangeFlag false
set AnalyzeRuleChangeFlag false
set IpBlackRuleChangeFlag false
redis数据同步不到mysql中
大致的思路 问题定位
数据同步查两步,需要有证据
1.mysql数据来源 (redis有数据了,说明给你的爬虫数据来源没问题)
2.数据保存方式(数据是定时任务定时保存进去的 ,查到了入口,跟进去debug,发现redis来的数据查到了,转成json数据又没了,就发现问题了,改了转json那块)
NameNode: java.lang.NumberFormatException: For input string: ""
解决方法:1)用再生龙备份namenode节点数据,以防止出严重问题。将namenode的/var/lib/hadoop-0.20/cache/hdfs/dfs/name/current/目录拷贝到其它机子上备份,以备将来还原用。
2)格式化namenode节点:
sudo -u hdfs hadoop namenode -format
如果发现current文件夹无权限或锁定,就sudo rm -rf current这个文件夹,再格式化
3)将备份的current中的image文件拷回到新生成的current文件夹中
4)重新启动namenode节点或hadoop服务
5)重新启动所有datanode节点,如果datanode节点因磁盘满无法重启服务成功,就删除一些文件(比如说log或data缓存中的部分文件夹)再重启hadoop服务试试。
6)进行hadoop集群数据负载均衡: /usr/lib/hadoop/bin/start-balancer.sh
File ...... could only be replicated to 0 nodes instead of minReplication (=1). There are 0 datanode(s) running and no node(s) are excluded in this operation.
是集群的问题,导致出错,我格式化了一次namenode,导致master节点上的/opt/apps/hadoop/tmp/dfs/name/current/VERSION中的clusterID与另外两个节点/opt/apps/hadoop/tmp/dfs/data/current/VERSION中的clusterID不同,做法是将namenode中的clusterID复制给另外两个datanode
spark的历史服务打不开
./sbin/start-all.sh
./sbin/start-history-server.s
Caused by: org.apache.derby.iapi.error.StandardException: Failed to start database 'metastore_db' with class loader org.apache.spark.sql.hive.client.IsolatedClientLoader$$anon$1@2342f1ff, see the next exception for details.
原因:我已经开启了spark进程。解决,kill spark进程,重启服务器就解决了