首页 文章 精选 留言 我的

精选列表

搜索[React Native],共8618篇文章
优秀的个人博客,低调大师

CDH: unable to create new native thread

发现问题 CDH-4.7.1 NameNode is down 启动NameNode报错如下,无法创建新的线程,可能是使用的线程数超过max user processes设定的阈值 2018-08-2608:44:00,532INFOorg.apache.hadoop.http.HttpServer:Jettyboundtoport50070 2018-08-2608:44:00,532INFOorg.mortbay.log:jetty-6.1.26.cloudera.4 2018-08-2608:44:00,773WARNorg.apache.hadoop.security.authentication.server.AuthenticationFilter:'signature.secret'configurationnotset,usingarandomvalueassecret 2018-08-2608:44:00,812INFOorg.mortbay.log:StartedSelectChannelConnector@alish1-dataservice-01.mypna.cn:50070 2018-08-2608:44:00,813INFOorg.apache.hadoop.hdfs.server.namenode.NameNode:Web-serverupat:alish1-dataservice-01.mypna.cn:50070 2018-08-2608:44:00,814INFOorg.apache.hadoop.ipc.Server:IPCServerResponder:starting 2018-08-2608:44:00,815INFOorg.apache.hadoop.ipc.Server:IPCServerlisteneron8020:starting 2018-08-2608:44:00,828INFOorg.apache.hadoop.ipc.Server:IPCServerResponder:starting 2018-08-2608:44:00,828INFOorg.apache.hadoop.ipc.Server:IPCServerlisteneron8022:starting 2018-08-2608:44:00,839FATALorg.apache.hadoop.hdfs.server.namenode.NameNode:Exceptioninnamenodejoin java.lang.OutOfMemoryError:unabletocreatenewnativethread atjava.lang.Thread.start0(NativeMethod) atjava.lang.Thread.start(Thread.java:714) atorg.apache.hadoop.ipc.Server.start(Server.java:2057) atorg.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.start(NameNodeRpcServer.java:303) atorg.apache.hadoop.hdfs.server.namenode.NameNode.startCommonServices(NameNode.java:497) atorg.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:459) atorg.apache.hadoop.hdfs.server.namenode.NameNode.(NameNode.java:621) atorg.apache.hadoop.hdfs.server.namenode.NameNode.(NameNode.java:606) atorg.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1177) atorg.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1241) 2018-08-2608:44:00,851INFOorg.apache.hadoop.util.ExitUtil:Exitingwithstatus1 日志内容如下,检查DNS没有问题,这里没有太多参考意义 #cat/var/log/cloudera-scm-agent/cloudera-scm-agent.log [26/Aug/201807:30:23+0000]4589MainThreadagentINFOPID'19586'associatedwithprocess'1724-hdfs-NAMENODE'withpayload'processname:1724-hdfs-NAMENODEgroupname:1724-hdfs-NAMENODEfrom_state:RUNNINGexpected:0pid:19586'exitedunexpectedly [26/Aug/201807:45:06+0000]4589Monitor-HostMonitorthrottling_loggerERROR(29skipped)Failedtocollectjava-basedDNSnames Traceback(mostrecentcalllast): File"/usr/lib64/cmf/agent/src/cmf/monitor/host/dns_names.py",line53,incollect result,stdout,stderr=self._subprocess_with_timeout(args,self._poll_timeout) File"/usr/lib64/cmf/agent/src/cmf/monitor/host/dns_names.py",line42,in_subprocess_with_timeout returnsubprocess_with_timeout(args,timeout) File"/usr/lib64/cmf/agent/src/cmf/monitor/host/subprocess_timeout.py",line40,insubprocess_with_timeout close_fds=True) File"/usr/lib64/python2.6/subprocess.py",line642,in__init__ errread,errwrite) File"/usr/lib64/python2.6/subprocess.py",line1234,in_execute_child child_exception=pickle.loads(data) OSError:[Errno2]Nosuchfileordirectory 故障排查 这里设置的max user processes为65535已经非常大了,一般来说是达不到这个瓶颈的 #ulimit-a corefilesize(blocks,-c)0 datasegsize(kbytes,-d)unlimited schedulingpriority(-e)0 filesize(blocks,-f)unlimited pendingsignals(-i)127452 maxlockedmemory(kbytes,-l)64 maxmemorysize(kbytes,-m)unlimited openfiles(-n)65535 pipesize(512bytes,-p)8 POSIXmessagequeues(bytes,-q)819200 real-timepriority(-r)0 stacksize(kbytes,-s)10240 cputime(seconds,-t)unlimited maxuserprocesses(-u)65535 virtualmemory(kbytes,-v)unlimited filelocks(-x)unlimited 现在系统的总进程数仅仅一百多个,我们要检查每个进程对应有多少个线程 # ps -ef|wc -l 169 已知这台服务器上主要跑的是java进程,所以重点查看java进程对应的线程数,找到30315这个进程对应约32110个线程,在加上其他进程和线程数,总数超过65535,NameNode无法在申请到多余的线程,所以报错 # pgrep java 1680 5482 19662 28770 30315 35902 # for i in `pgrep java`; do ps -T -p $i |wc -l; done 15 49 30 53 32110 114 # ps -T -p 30315|wc -l 32110 或者通过top -H 命令查看 # top -H top - 10:44:58 up 779 days, 19:34, 3 users, load average: 0.01, 0.05, 0.05 Tasks: 32621 total, 1 running, 32620 sleeping, 0 stopped, 0 zombie Cpu(s): 2.8%us, 4.1%sy, 0.0%ni, 93.1%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 16334284k total, 15879392k used, 454892k free, 381132k buffers Swap: 4194296k total, 0k used, 4194296k free, 8304400k cached 解决方法 找到了问题的原因,我们可以重新设定max user processes的值为100000,再次启动NameNode成功 #echo "100000" > /proc/sys/kernel/threads-max #echo "100000" > /proc/sys/kernel/pid_max (默认32768) #echo "200000" > /proc/sys/vm/max_map_count (默认65530) #vim /etc/security/limits.d/90-nproc.conf * soft nproc unlimited root soft nproc unlimited #vim /etc/security/limits.conf * soft nofile 65535 * hard nofile 65535 * hard nproc 100000 * soft nproc 100000 # ulimit -u 100000

优秀的个人博客,低调大师

Hadoop can't load native lib

前几天部门刚来不久的小同学装Hadoop一直失败,报libhadoop加载错误解决不了.过去查看下相关依赖lib都解决了,JAVA_LIBRARY_PATH也指定正确位置了,为啥还会失败呢? 直接强制加载一次nativelib再看发现原来在另外一个目录有人安装了libhadoop,但是版本是错误的,很多依赖都找不到,而HADOOP启动时正加载了这个路径下的libhadoop导致失败的,这是什么原因呢? 查看HADOOP在nativelib的加载过程,最后跟踪到classloader的loadLibrary方法发现: 1 2 usr_paths = initializePath( "java.library.path" ); sys_paths = initializePath( "sun.boot.library.path" ); 原来在加载javalib时,classloader是优先加载sys_paths然后才是usr_paths. 我也学习了:) 本文转自MIKE老毕 51CTO博客,原文链接:http://blog.51cto.com/boylook/1367254,如需转载请自行联系原作者

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册