zoukankan      html  css  js  c++  java
  • Hadoop集群搭建

    关于SSH配置
    在配置SSH的时候,要明白ssh_config主要负责ssh的客户端,sshd_config主要是负责服务器端配置;但是两者配置文件内容是一样的,处理方式是对于没有用的参数注释掉;其中有一项是PermitRootLogin,其实这一项是服务器端需要进行配置的,但我在ssh_config中打开了,导致了异常:Bad configuration option: PermitRootLogin;注释掉之后,问题解决。
    另外,可以通过“man 5 sshd_config”来查看详细配置内容
    在通过ssh-copy-id进行复制公钥的时候,一定要注意是在hadoop用户场景下来操作的;如果是root则无法成功免密处理
     
    JAVA_HOME配置
    在/etc/hadoop/hadoop-env.sh中要显式填写JAVA_HOME,默认是${JAVA_HOME},需要将其修改为全路径,否则别的dataNode在链接到此台机器的时候将会报错:JAVA_HOME is not set and could not be found
     
    异常处理
    Incorrect configuration: namenode address dfs.namenode.servicerpc-address or dfs.namenode.rpc-address is not configured.
    需要在core-site.xml中配置fs.defaultFS;之前在DataNode的core-site.xml中的fs.defaultFS节点配置的信息是localhost:9000,但是其实应该配置NameNode的节点信息;于是将节点信息替换为nameNode的IP,但是有报错:
    Incompatible clusterIDs in /opt/workspace/hadoop/data: namenode clusterID = CID-076fbffa-0e9d-42a3-ad9b-39d93487ce11; datanode clusterID = CID-812c3ffa-bf6b-4bf5-9b9c-4947308ada78
    这说明是集群信息不对,说明改正之后的集群信息和已经记录在案的集群信息不匹配导致了异常;后来怀疑集群信息应该是以文件形式存放在 /opt/workspace/hadoop/data路径下,所以直接把data下面的current文件夹(只有这一个文件)删掉;重启启动NameNode,DataNode成功被启动;而且在http://maser.hadoop:50070也可以看到DataNode信息了(之前无法发现DataNode)
     
    常见端口
    NameNode网站端口是50070;DataNode端口是50075
    YARN的默认程序端口:8033
    ResourceManager的Web监听端口:8088
    NodeManager的Web监听端口:8042
    NodeManager的RPC端口:8040
     
    配置
    其中start-dfs.sh以及start-yarn.sh都是只在master的机器执行即可,只要各个节点的配置OK,就可以通过Master来控制下属的节点启动。
    调整Hadoop的日志级别:export HADOOP_ROOT_LOGGER=INFO,console
    在做MapReduce的时候,output文件夹是要让Hadoop去创建,不要手工创建;
    在Hadoop官网的例子中
     
    Hadoop的配置文件需要注意,我在调试YARN的程序的时候,就发现加载的都是Default的配置,这是因为new Configuration()都是加载默认的配置文件(在yarn包,common包下面都有自己的default.xml),如果想要加载定制的配置文件,如果是在Eclipse中使用:
    conf.addResource("yarn-site.xml");
    即可,addResource函数中将会从CLASS_PATH路径下读取该文件,取出其中的key-value做“覆盖”操作;
     
    如果是想要使用系统中已有的文件:
    Path p = new Path("opt/workspace/hadoop/hadoop2.8.0/etc/hadoop/yarn-site.xml");
    conf.addResource(p);
    SIMPLE authentication is not enabled. Available:[TOKEN]
    这是因为在Yarn的代码中,要对UserGroupInformation进行设置Configuration;然后通过login方法进行登录;
     
    以root用户去停止有hadoop用户yarn程序是不行的。
  • 相关阅读:
    转 Hystrix超时实现机制
    Hystrix实现ThreadLocal上下文的传递 转
    MongoDB里做表间关联
    转载:mongodb的两阶段提交实战
    MongoDB中的读写锁
    Mongodb中的 原子性 隔离性
    web服务优化
    MongoDB分片(Sharding)技术
    MongoDB复制集
    consul分布式集群搭建
  • 原文地址:https://www.cnblogs.com/xiashiwendao/p/7189606.html
Copyright © 2011-2022 走看看