zoukankan      html  css  js  c++  java
  • hadoop集群搭建及易踩坑收录

     配置前先把域名映射配好哈 详情参考我的其他随笔(已对随笔分类)

    下载好hdfs.tar.gz 后

    在/home/ldy下

    mkdir apps/   

    tar -xzvf hdfs.tar.gz  -C  /home/ldy/apps/       #专门用来安装hdfs 和jdk的

    修改环境变量:vim /etc/profile

    在最后的fi上面添加

    export HDP_HOME=/home/ldy/apps/hadoop-2.8.5/etc/hadoop    #路径因人而定

    export PATH=$PATH:$HDP_HOME/sbin : $HDP_HOME/bin

    hadoop-daemon.sh 等命令在sbin目录下(旧版的在bin下)   最好两个都配。jdk的配置也是一样的道理

    当出现命令not found 时:source /etc/profile 即可

    配置文件:

    在/home/ldy/apps/hadoop-2.8.5/etc/hadoop下

    vim hadoop-env.sh    #告诉它java_home即可

     

    Vim core-site.xml

    如果你只有一个namenode的话,得将fs.defaultFS改成fs.default.name

    <configuration>
    <property>
    <name>fs.default.name</name>
    <value>hdfs://ubuntu-00:9000</value>
    </property>
    
    <property>
    <name>hadoop.tmp.dir</name>
    <value>/hdpdata/hadoopdata</value>
    </property>
    </configuration>

     

    Vim hdfs-site.xml

    <configuration>
    
    <property>
    <name>dfs.replication</name>
    <value>2</value>
    </property>
    
    <property>
    <name>dfs.namenode.name.dir</name>
    <value>/hdpdata/hadoopdata/name</value>
    </property>
    
    <property>
    <name>dfs.datanode.data.dir</name>
    <value>/hdpdata/hadoopdata/data</value>
    </property>
    
    <property>
    <name>dfs.http.address</name>
    <value>ubuntu-00:50070</value>
    </property>
    
    <property>
    <name>dfs.namenode.secondary.http-address</name>
    <value>ubuntu-00:50090</value>
    </property>
    
    </configuration>

    vim slaves

    这里记录了datenode服务器的主机名,域名映射配好后,启动集群后各服务器就可以互相连通了

    注:core-site.xml配置错误会导致 incorrect namenode addr

    name标签的值不可以修改

    以上目录不存在会自动创建

    9000端口负责客户端与服务端的交互

    50070端口是一个外部服务器,可以通过该端口在浏览器访问namenode

    域名映射后value值可以写主机名,且所有服务器的core-site.xml的地址必须一致,确保使用同一个文件系统

    建议大家先配好一个服务器然后直接复制粘贴文件到其他服务器,省得麻烦 

    复制本地文件到其他服务器需要远程连接,开启ssh服务以及使用scp远程连接命令

    注:需要连接的主机也要开通ssh以及安装scp

    开启ssh:

    运行 ps -e | grep ssh,查看是否有sshd进程

    如果没有,说明server没启动,通过 /etc/init.d/ssh -start 启动server进程

    如果提示ssh不存在 那么就是没安装server

    安装server

    1.sudo apt-get update

    2.sudo apt-get install openssh-server

    apt-get过程中可能出现:

    E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarly unavailable)

    E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is an other process using it?

     

    当出现这个报错时直接:

    sudo rm /var/lib/dpkg/lock-frontend

    sudo rm /var/lib/dpkg/lock

    sudo rm /var/lib/apt/lists/lock

    然后 apt-get update 

    (scp属于ssh,开了ssh也就安装好了scp)

     

    Scp :

    scp -r  /home/ldy/apps/hadoop-2.8.5   ubuntu-01:/home/ldy/apps/

    #将本地的hadoop文件复制到ubuntu-01主机的apps目录下

    报错:   ssh连接The authenticity of host can't be established

    修改/etc/ssh/ssh_config文件的配置

    修改:(没有就在最后面添加)

    StrictHostKeyChecking no

    注:一般是禁止root用户登录的,切换到普通用户可正常使用

     当出现这个错误时:

    Permisson denied ,please try again

    出现这个错误是因为请求被拒绝,是ssh的权限问题,需要修改ssh权限,切换root, 直接vim /etc/ssh/sshd_config

    将PermitRootLogin no 改为 PermitRootLogin yes

    记得重启ssh:sudo service ssh restart

    在namenode服务器上:

    vim etc/hadoop/slaves  (加上所有服务器名) 

    hadoop  namenode -format (一次就够了)

    start-dfs.sh  (开启namenode和datanode服务)

    使用这个命令每次都要输密码,这里可以设一个免密登录,在namenode服务器上设、

    当namenode访问其他服务器时,就不用输入密码了

    免密登录:

         ssh-keygen(一直回车就行)

         ssh-copy-id  服务器名(有多少个服务器执行多少次这个命令, 这里需要输入yes,不能一直回车)

    注意:虚拟机重启后得重新执行 start-dfs.sh,namenode和datanode才启动(其本质是软件)

     

     这样就成功了

  • 相关阅读:
    Spring基础知识
    Hibernate基础知识
    Struts2基础知识
    在eclipse里头用checkstyle检查项目出现 File contains tab characters (this is the first instance)原因
    java后台获取cookie里面值得方法
    ckplayer 中的style.swf 中的 style.xml 中的修改方法
    java hql case when 的用法
    Windows下Mongodb安装及配置
    Mongodb中经常出现的错误(汇总)child process failed, exited with error number
    Mac 安装mongodb
  • 原文地址:https://www.cnblogs.com/ldy233/p/11206622.html
Copyright © 2011-2022 走看看