IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    hadoop初次接触———-虚拟机、SSH互信及hadoop配置

    summer发表于 2016-06-17 08:46:54
    love 0

    部署环境:

    OS:Fedora 23

    JDK:jdk-7u80-linux-x64

    Hadoop:hadoop-2.7.2

    VMWare:VMware Workstation 12 Pro

     

    安装JDK

    rpm -ivh jdk-7u80-linux-x64.rpm

    配置环境变量

    用vim编辑器打开/etc/profile文件,加入环境变量的定义

    JAVA_HOME=/usr/java/jdk1.7.0_80/

    PATH=JAVA_HOME/bin:PATH

    export JAVA_HOME

    export PATH

     

    检查SSH和rsync是否安装

     执行 rpm -qa | grep ssh 

    openssh-server-7.1p1-3.fc23.x86_64
    openssh-7.1p1-3.fc23.x86_64
    libssh2-1.6.0-2.fc23.x86_64
    openssh-askpass-7.1p1-3.fc23.x86_64
    openssh-clients-7.1p1-3.fc23.x86_64

    上述显示表示已安装

     执行 rpm -qa | grep rsync

    rsync-3.1.1-7.fc23.x86_64

     

    下载安装

    apt-get install ssh 

    apt-get install rsync

     

    开启SSH

    service sshd status

    service sshd start/stop

     

    ssh client 报 algorithm negotiation failed的解决方法之一

    修改sshd的配置文件 /etc/ssh/sshd_config

    在配置文件中添加:

    Ciphers aes128-cbc,aes192-cbc,aes256-cbc,aes128-ctr,aes192-ctr,aes256-ctr,3des-cbc,arcfour128,arcfour256,arcfour,blowfish-cbc,cast128-cbc

    MACs hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160,hmac-sha1-96,hmac-md5-96

    KexAlgorithms diffie-hellman-group1-sha1,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1,diffie-hellman-group-exchange-sha256,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group1-sha1,curve25519-sha256@libssh.org

    重启sshd服务后,即可正常连接。

    导致此问题的原因是ssh升级后,为了安全,默认不再采用原来一些加密算法,我们手工添加进去即可。

     

    克隆虚拟机 修改主机名,IP

      克隆的虚拟机 IP配置里的MAC地址注意修改(HWADDR)

     

    建立SSH互信

    master执行:

      ssh-keygen -t rsa

      scp id_rsa.pub root@192.168.1.121:/root/.ssh

    slave执行:

      cat id_rsa.pub >> authorized_keys

      如果没有authorized_keys文件,重命名id_rsa.pub为authorized_keys(mv id_rsa.pub authorized_keys)

      chmod 600 authorized_keys

    测试:ssh 192.168.1.121 无密码即可登录

     

    Hadoop配置

      解压文件:tar -xzvf hadoop-2.7.2.tar.gz

      修改配置文件:

        hadoop-env.sh 找到 export JAVA_HOME={JAVA_HOME} 修改为export JAVA_HOME=/usr/java/jdk1.7.0_80

    core-site.xml

    <configuration>
    <property>
    <name>fs.default.name</name>
    <value>hdfs://master:9000</value>
    </property>
    <property>
    <name>Hadoop.tmp.dir</name>
    <value>/hadoop-root</value>
    </property>
    </configuration>

    注释一:hadoop分布式文件系统文件存放位置都是基于hadoop.tmp.dir目录的,namenode的名字空间存放地方就是 {hadoop.tmp.dir}/dfs/name, datanode数据块的存放地方就是 {hadoop.tmp.dir}/dfs/data,所以设置好hadoop.tmp.dir目录后,其他的重要目录都是在这个目录下面,这是一个根目录。

    注释二:fs.default.name,设置namenode所在主机,端口号是9000

    注释三:core-site.xml 对应有一个core-default.xml,

        hdfs-site.xml对应有一个hdfs-default.xml

        mapred-site.xml对应有一个mapred-default.xml。这三个defalult文件里面都有一些默认配置,现在我们修改这三个site文件,目的就覆盖default里面的一些配置

      

    hdfs-site.xml

    <configuration>
    <property>
    <name>dfs.replication</name>
    <value>2</value>
    </property>
    </configuration>

    dfs.replication,设置数据块的复制次数,默认是3,如果slave节点数少于3,则写成相应的1或者2

     

    mapred-site.xml

    <configuration>
    <property>
    <name>mapred.job.tracker</name>
    <value>http://master:9001</value>
    </property>
    </configuration>

    mapred.job.tracker,设置jobtracker所在机器,端口号9001



沪ICP备19023445号-2号
友情链接