python之类的赋值及默认值报错:TypeError: object of type 'int' has no len()

在做分子热运动模拟时发现的问题:

import matplotlib.pyplot as plt
from random import choice as choice

class Molecular_thermal_motion():
    def __init__(self,x_values=[0],y_values=[0],lentgh_move=5000):
        self.x_values = x_values   #为什么这里只能写[0]???
        self.y_values = y_values   #同上
        self.lentgh_move = lentgh_move #为什么这里又可以了?

    def molecular_move(self):
        while len(self.x_values) < self.lentgh_move:
            x_direction = choice([-1,1])
            x_length = choice([0,2,4,6,8])
            x_step = x_direction * x_length
            y_direction = choice([-1,1])
            y_length = choice(
### Hadoop NameNode Web界面无法访问的原因分析 当尝试通过 Windows 浏览器访问位于 `http://hadoop04:50070` 的 Hadoop NameNode Web界面时遇到无法访问的情况,这通常是由网络配置或防火墙设置引起的[^1]。 对于该问题的具体原因可能在于: - **主机名解析问题**:如果浏览器无法识别 `hadoop04` 这个名称,则会提示无法找到服务器。 - **防火墙阻止请求**:即使虚拟机内部能够互相通信并能正常访问各个服务端口,在某些情况下,外部操作系统(如Windows)可能会因为本地防火墙或其他安全软件而被阻挡访问这些端口。 - **Namenode未启动或监听地址不匹配**:有时NameNode并未真正运行起来或是其绑定的IP地址并非预期中的`0.0.0.0`而是特定内网IP,导致外网不可达。 ### 解决方案实施方法 针对上述提到的各种可能性,以下是具体的排查与修复措施: #### 修改hosts文件实现域名映射 为了使Windows系统认识集群内的节点名称,可以在C:\Windows\System32\drivers\etc目录下的hosts文件中加入如下行来建立对应关系: ``` <实际ip> hadoop04 ``` #### 检查防火墙状态以及开放相应端口号 确认目标机器上的防火墙已允许TCP流量进入指定的服务端口(这里是50070),可以通过命令行工具telnet测试连通性。如果是Linux环境则可利用iptables规则放开端口;而在Windows侧也需确保本机防火墙不会拦截对外部资源发起HTTP GET请求的操作。 #### 确认namenode服务健康状况和服务监听范围 登录到作为Master节点部署有namenode组件的工作站上执行jps指令查看进程列表里是否有对应的Java应用程序实例存在,并且检查core-site.xml和hdfs-site.xml两个核心配置文档里的fs.defaultFS参数值是否指向了正确的URL路径及port number。 另外需要注意的是自Hadoop 3.x版本之后,默认Web UI已经被迁移到新的端口即9870而非传统的50070,请参照官方文档调整客户端连接字符串以适应这一变化[^2]。 ```xml <!-- core-site.xml --> <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://hadoop04:9000</value> </property> </configuration> <!-- hdfs-site.xml --> <configuration> <property> <name>dfs.namenode.http-address</name> <value>hadoop04:9870</value> </property> </configuration> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值