快捷搜索:

大数据方向

linux出现command not found,主要是两种原因造成:

1、该命令所属的程序未安装。

2、未配置环境变量。

今天在配置hadoop环境变量时,修改~/.bashrc 文件导致常用命令如ls,vi,vim,mv 等全部提示command not found。原因是改~/.bashrc 时把环境变量改坏了。

解决方法:

1、# export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

临时加入PATH环境变量,恢复vim等命令,但重启后会失效。

2、将: export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

加入此前修改的~/.bashrc 中。

重启机器,可验证解决完成。

问题:当在HA集群在使用start-dfs.sh启动时,namenode开启后必定有一个namenode消失, 日志文件如下: Error: recoverUnfinalizedSegments failed for required journal (JournalAndStream (mgr=QJM to [192.168.249.130:8485, 192.168.249.131:8485, 192.168.249.132:8485], stream=null)) org.apache.hadoop.hdfs.qjournal.client.QuorumException: Got too many exceptions to achieve quorum size 2/3. 3 exceptions thrown: 192.168.249.132:8485: Call From master/192.168.249.130 to slave2:8485 failed on connection exception: java.net.ConnectException: 拒绝连接; For more details see: http://wiki.apache.org/ hadoop/ConnectionRefused 192.168.249.130:8485: Call From master/192.168.249.130 to master:8485 failed on connection exception: java.net.ConnectException: 拒绝连接; For more details see: http://wiki.apache.org/hadoop/ConnectionRefused 192.168.249.131:8485: Call From master/192.168.249.130 to slave1:8485 failed on connection exception: java.net.ConnectException: 拒绝连接; For more details see: http://wiki.apache.org/hadoop/ConnectionRefused

原因分析:当在使用start-dfs.sh命令开启集群守护进程时,由于namenode的开启顺序在 journalnode之前,日志中就会产生namenode连接journalnode超时错误提示。

(在zookeeper服务端,QuorumPeerMain守护进程启动的情况下) 解决方案1:再次在namenode消失的节点单独开启namenode $ hadoop-daemon.sh start namenode 解决方案2:使用stop-dfs.sh关闭其余守护进程后, 1.在每个集群开启journalnode 2.在namenode节点开启namenode 3.在每个slave节点开启datanode 4.在每个节点开启zkfc 解决方案3:修改core-site.xml文件,内容如下: <property> <name>ipc.client.connect.max.retries</name> <value>100</value> <description>Indicates the number of retries a client will make to establish a server connection. </description> </property> <property> <name>ipc.client.connect.retry.interval</name> <value>10000</value> <description>Indicates the number of milliseconds a client will wait for before retrying to establish a server connection. </description> </property> 修改配置文件后可以直接使用start-dfs.sh启动 注意:一般在实际集群操作不这样使用,因为在集群的开启时,守护进程开启是有先后顺序的, 而不是通过这样的命令直接全部开启。

Python抓取网页输出为乱码,网页编码为gb2312,但解码时仍然出错:

解决问题:处理的字符的确是gbk或gb2312的,但是其中夹杂的部分特殊字符,是gbk编码 中所没有的如果有些特殊字符是GB18030中有的,但是是gbk中没有的。则用gbk去解码, 去所不支持的字符,也比如会出错。所以,此种情况,可以尝试用和当前编码(gbk) 所兼容的但所包含字符更多的编码(gb18030)去解码,或许就可以了。

经验分享 程序员 微信小程序 职场和发展