• Hadoop安装


    傻瓜版的hadoop安装教程。

     

    一、 Hadoop准备篇:

    Hadoop运行软件环境:

    1. SSH及 SSHD服务正常运行2. JDK

    如果没装,可以自己安装一下:

    Sudo yum –y install jdk –b current

    二、 Hadoop基础篇(安装完成单节点Hadoop)1. 源代码下载

    1.1 下载Hadoop 源码压缩包至服务器

    wget http://mirror.bjtu.edu.cn/apache/hadoop/core/hadoop-0.20.2/hadoop-0.20.2.tar.gz

    1.2 解压源码压缩包 tar HadoopInstall

    Tar –zvxf hadoop-0.20.2.tar.gz –C HadoopInstall

    HadoopInstall即为Hadoop安装目录

    2. 环境变量配置 : (hadoop_env.sh )

    目录/home/YOURDictionary/HadoopInstall/ hadoop-0.20.2 /conf

    2.1 JAVA_HOME:必选变量。

    设置export JAVA_HOME=/usr/java/jdk1.6.0 jdk路径

    2.2 HADOOP_HOME:可选变量

    HADOOP_HOME默认的是bin目录的父目录,即/home/usr/HadoopInstall/ hadoop-0.20.2。

    设置export HADOOP_HOME=/home/usr/HadoopInstall/ hadoop-0.20.2

    3. 环境配置文件配置

    主要有三个配置文件:core-site.xml, hdfs-site.xml, mapred-site.xml

    3.1 conf/core-site.xml

    <configuration>
      <property>
       <name>fs.default.name</name> —-文件系统的默认名称
        <value>hdfs://(master ip):9000</value>
      </property>
    </configuration>

    同理配置其他参数:

    a. Hadoop运行的临时目录

    hadoop.tmp.dir=/home/ads/data(自己设定自己虚拟机上的文件夹路径)

    3.2 conf/hdfs-site.xml:

    <configuration>
      <property>
        <name>dfs.replication</name>
        <value>1</value>
      </property>
    </configuration>
    同理配置其他参数:

    a. DFS的数据保存目录:dfs.data.dir=/home/data,/home1/data(自己设定自己虚拟机上的文件夹路径

    b. DFS Namenode保存的位置:dfs.name.dir=${hadoop.tmp.dir}/dfs/name,/home/ads/data1/dfs/name(自己设定自己虚拟机上的文件夹路径)

    3.3 conf/mapred-site.xml:

    <configuration>
      <property>
        <name>mapred.job.tracker</name> — Jobtracker的位置
        <value>(master ip):9001</value>
      </property>
    </configuration>
    同理配置其他参数:
    a. 单节点同时运行的最大map数:mapred.tasktracker.map.tasks.maximum=8
    b. 单节点同时运行的最大reduce数:mapred.tasktracker.reduce.tasks.maximum=6

    4 主机自身打通 (ssh-keygen 命令详解见下节进阶篇)

    $ ssh-keygen -t rsa -P ” -f ~/.ssh/id_ rsa $ cat ~/.ssh/id_ rsa.pub >> ~/.ssh/authorized_keys

    5 启动

    进入~/HadoopInstall/ hadoop-0.20.2目录

    5.1 格式化namenode

    执行下面的命令[usr@servername: hadoop-0.20.2]$bin/hadoop namenode –format

    5.2 简单启动所有守护

    [usr@servername: hadoop-0.20.2]$ bin/start-all.sh

    高级启动参见:Hadoop高级篇(Link)

    5.3 停止守护

    [usr@servername: hadoop-0.20.2]$bin/stop-all.sh

    6 验证测试

    启动成功后,可浏览器查看以下地址:

    6.1 Job tracker

    http://master名称:50030,能查看此页面,页面状态(Stated)显式为RUNNing(页面左上角)。

    6.2 NameNode

    http://master名称:50070,能看到Live Datanodes。

    三、 Hadoop进阶篇(安装多节点hadoop):3.1 集群SSH设置,集群打通(注意是双向哦)

    例如集群存在三台机器,servername-1为主机。

    3.1.1 在servername-1上生成密钥对: [usr@servername-1:~]$ssh-keygen -t rsa

    询问保存路径时直接回车采用默认路径

    提示要为生成的密钥输入passphrase的时,直接回车,将其设定为空密码

    生成的密钥对id_rsa,id_rsa.pub,默认存储在/home/usr/.ssh目录下。

    3.1.2 id_rsa.pub的内容复制到每个机器(也包括本机)

    id_rsa.pub的内容复制到每个机器(也包括本机)的/home/usr/.ssh/authorized_keys文件中。

    如果机器上已经有 authorized_keys文件,就在文件末尾加上id_rsa.pub中的内容。

    如果没有authorized_keys这个文件,直接cp 或者scp就好了,下面的操作假设各个机器上都没有authorized_keys文件。

    i. 对于servername-1

    [usr@servername-1:.ssh]$cp id_rsa.pub authorized_keys

    ii. 对于servername-2(servername-3同servername-2的方法)

    [usr @ servername-2:~]$mkdir .ssh

    [usr @ servername-1:.ssh]$scp authorized_keys servername-2:/home/ servername /.ssh/

    iii. 设置authorized_keys文件读写权限

    [dbrg@ servername-2:.ssh]$chmod 644 authorized_keys必须保证authorized_keys只对其所有者有读写权限,其他人不允许有写的权限,否则SSH是不会工作的。

    iv. 验证测试

    i. 注意每个机器上的.ssh目录的ls -la都应该和上面是一样的

    [usr @ servername-2:.ssh]ls -la drwx—— 2 usr users. drwx—— 3 usr users.. -rw-r–r– 1 usr users authorized_keys

    ii. 测试本机ssh servername-1

    iii. [usr @ servername-1:~]$ssh servername-2

    如果ssh配置好了,就会出现以下提示信息 The authenticity of host [servername-2] can’t be established. Key fingerprint is 1024 5f:a0:0b:65:d3:82:df:ab:44:62:6d:98:9c:fe:e9:52. Are you sure you want to continue connecting (yes/no)? OpenSSH告诉你它不知道这台主机,但是你不用担心这个问题,因为你是第一次登录这台主机。键入“yes”。这将把这台主机的“识别标记”加到“~/.ssh/know_hosts”文件中。第二次访问这台主机的时候就不会再显示这条提示信息了。 然后你会发现不需要输入密码就可以建立ssh连接了,恭喜你,配置成功了

    3.2 Master主机配置(同上一节)3.3 Masters/Slave文件配置

    3.3.1 Masters

    在master主机上的hadoop-0.20.2 /conf/目录下,打开master 文件,把master 主机名添加进去:,本文以servername-1做为master,所以在master文件内容是:

    servername-1

    3.3.2 Slaves

    在master主机上的hadoop-0.20.2 /conf/目录下,打开slaves文件,该文件用来指定所有的从节点,一行指定一个主机名。即本文中的servername-2,servername-3,因此slaves文件看起来应该是这样的 servername-2 servername-3

    3.4 部署Hadoop集群 (必须放在最后一步哦 )

    前面讲的这么多Hadoop的环境变量和配置文件都是在dbrg-1这台master主机上的, 将上述配置好的hadoop分发至各个slave的相同位置,注意要保证目录结构一致,

    [usr@ servername-1:~]$scp -r /home/ YOURDictionary /HadoopInstall servername-2:/home/YOURDictionary / HadoopInstall [usr@ servername-1:~]$scp -r /home/ YOURDictionary /HadoopInstall servername-3:/home/YOURDictionary / HadoopInstall

    3.5 启动

  • 相关阅读:
    互斥锁的通俗理解
    U-Boot下分区信息查看
    《计算机组成原理》唐朔飞第二版_笔记
    《大话程序员》安晓辉_笔记
    C++ 类对象的初始化顺序
    FilterTerminal使用说明全总结
    sed -i 命令常用方法总结
    入园记录
    cookies,sessionStorage 和 localStorage区别
    优雅降级和渐进增强的理解:
  • 原文地址:https://www.cnblogs.com/wupeng88/p/4427915.html
Copyright © 2020-2023  润新知