`

hadoop 环境搭建1(转)

 
阅读更多
hadoop-1.1.0 rpm + centos 6.3 64 + JDK7 搭建全分布式集群的方法


第一步 ,环境准备.

服务器3台,可以用3个虚拟机代替.

操作系统.
CentOS 6.3 64

hadoop版本
hadoop 1.1.0 rpm

开始安装
以下所有的操作,都是用 root 身份执行

以下安装,需要在每台机器上面安装.

下载好 jdk-7u9-linux-x64.rpm 和 hadoop-1.1.0-1.x86_64.rpm


1. 首先安装操作系统,并关闭防火墙,




第二步,更改主机名
修改主机名 namenode1,datanode1,datanode2

    vim /etc/sysconfig/network

    (分别修改为)

    HOSTNAME=namenode1

    HOSTNAME=datanode1

    HOSTNAME=datanode2


:wq保存并退出


第三步,修改文件“/etc/hosts


    每台主机中的/etc/hosts文件有以下配置

    vim /etc/hosts

    (添加以下内容)

    192.168.10.137   namenode1
    192.168.10.138   datanode1
    192.168.10.139   datanode2


     测试

    ping namenode1
    ping datanode1
    ping datanode2


第四步.安装jdk,rpm版的会自动配置好环境变量
  

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

      

      java -version 马上有反应,方便!


第五步.安装hadoop,rpm版的会自动配置部分文件

    rpm -ivh  hadoop-1.1.0-1.x86_64.rpm







(CentOS 6.3默认已经安装了openssh和rsync)


2.2 配置Master无密码登录所有Salve

  1)SSH无密码原理

  Master(NameNode | JobTracker)作为客户端,要实现无密码公钥认证,连接到服务器Salve(DataNode | Tasktracker)上时,需要在          Master上生成一个密钥对,包括一个公钥和一个私钥,而后将公钥追加到所有的Slave的authorized_keys文件上。当Master通过SSH连接Salve时,Salve就会生成一个随机数并从authorized_keys找到Master的公钥,然后用这个公钥对随机数进行加密,并发送给Master。Master收到加密数之后再用私钥解密,并将解密数回传给Slave,Slave确认解密数无误之后就允许Master进行连接了。这就是一个公钥认证过程,其间不需要用户手工输入密码。重要过程是将客户端Master复制到Slave上。


以下操作,在  namenode1上面执行

1. 创建 ssh 密钥,就是不用密码登陆 目标主机 ,以下命令直接敲默认回车,不用输入任何信息.

    ssh-keygen -t rsa

    cat ~/.ssh/id_rsa.pub  >>~/.ssh/authorized_keys ( 使本机程序可以通过ssh登录本机)


2. 密钥生成完成以后,追加namenode的公钥到其他2台 datanode 上面,使得 namenode能访问其它 datanode

    cat ~/.ssh/id_rsa.pub  |  ssh root@datanode1 "cat >>~/.ssh/authorized_keys"
    cat ~/.ssh/id_rsa.pub  |  ssh root@datanode2 "cat >>~/.ssh/authorized_keys"


3.修改SSH配置文件,启用RSA认证

    vim /etc/ssh/sshd_config


     

     authorized_keys: 存放本机要访问的所有目标主机(s)公钥的文件

     设置完之后记得重启SSH服务,才能使刚才设置有效。



    service sshd restart




3. 验证ssh 不要密码登陆是否成功

    ssh  namenode1

    ssh  datanode1

    ssh  datanode2


如果SSH访问出现问题的话,可以试试下面的

    1)修改文件"authorized_keys"

   

    chmod 644 ~/.ssh/authorized_keys





2.3 配置所有Slave无密码登录Master

    和Master无密码登录所有Slave原理一样,就是把Slave的公钥追加到Master的".ssh"文件夹下的"authorized_keys"中,记得是追加(>>)


用root登录datanode1


1. 创建 ssh 密钥,就是不用密码登陆目标主机,以下命令直接敲默认回车,不用输入任何信息.


    ssh-keygen -t rsa

    cat ~/.ssh/id_rsa.pub  >>~/.ssh/authorized_keys ( 使本机程序可以通过ssh登录本机)


2. 密钥生成完成以后,追加本机的公钥到其他2台机器上面


    cat ~/.ssh/id_rsa.pub  |  ssh root@namenode1 "cat >>~/.ssh/authorized_keys"

    cat ~/.ssh/id_rsa.pub  |  ssh root@datanode2 "cat >>~/.ssh/authorized_keys"




3.修改SSH配置文件,启用RSA认证

    vim /etc/ssh/sshd_config


     

     authorized_keys: 存放本机要访问的所有目标主机(s)公钥的文件

     设置完之后记得重启SSH服务,才能使刚才设置有效。



    service sshd restart




3. 验证ssh 不要密码登陆是否成功


    ssh  namenode1

    ssh  datanode2



如果SSH访问出现问题的话,可以试试下面的

    1)修改文件"authorized_keys"

   

    chmod 644 ~/.ssh/authorized_keys




2.4 配置所有Slave无密码登录Master

    和Master无密码登录所有Slave原理一样,就是把Slave的公钥追加到Master的".ssh"文件夹下的"authorized_keys"中,记得是追加(>>)


用root登录datanode2


1. 创建 ssh 密钥,就是不用密码登陆目标主机,以下命令直接敲默认回车,不用输入任何信息.

    ssh-keygen -t rsa

    cat ~/.ssh/id_rsa.pub  >>~/.ssh/authorized_keys ( 使本机程序可以通过ssh登录本机)



2. 密钥生成完成以后,追加本机的公钥到其他2台机器的authorized_keys上

    cat ~/.ssh/id_rsa.pub  |  ssh root@namenode1 "cat >>~/.ssh/authorized_keys"
    cat ~/.ssh/id_rsa.pub  |  ssh root@datanode1 "cat >>~/.ssh/authorized_keys"



3.修改SSH配置文件,启用RSA认证

    vim /etc/ssh/sshd_config


     

     authorized_keys: 存放本机要访问的所有目标主机(s)公钥的文件

     设置完之后记得重启SSH服务,才能使刚才设置有效。



    service sshd restart



3. 验证ssh 不要密码登陆是否成功

    ssh  namenode1

    ssh  datanode1



如果SSH访问出现问题的话,可以试试下面的

    1)修改文件"authorized_keys"

   

    chmod 644 ~/.ssh/authorized_keys




---------------------------------------------------------------------------------------------------------------------------------------------



2.5 配置Hadoop

每个节点都要进行以下的配置


4. 创建必要的目录.首先创建 namenode 保存namenode 元信息的目录. 设置为 /usr/hadoop/tmp  目录下

    mkdir -p /usr/hadoop/tmp


5. 配置hadoop 运行环境.进入 /etc/hadoop 目录下面,修改hadoop的默认配置.
首先修改 master 文件. master 文件很容易理解错误,master 文件是指 hadoop 机器里面的secondarynamenode.不是指本机(测试用所以配置上,实际上namenode和secondarynamenode放在同一个机子上不能增加可靠性,没什么意义!)


    vim /etc/hadoop/master

    (改为如下)

    192.168.10.137


接着修改slaves 文件,salve 文件表示此集群的 datanode 节点.所以在本集群中,datanode 如下


    vim /etc/hadoop/slave

    (改为如下)

    192.168.10.138
    192.168.10.139



    这里的IP实际上可以用主机名来代替,但当网格的DNS出问题的,就不能访问了,直接用IP就不用依赖DNS,提高集群可靠性!


        6. 设置 core-site.xml 文件内容如下



    <configuration>
           
            <!-- global properties -->
    <property>
         <name>hadoop.tmp.dir</name>
    <value>/usr/hadoop/tmp</value>
    </property>
     
    <!-- file system properties -->
       <property>
    <name>fs.default.name</name>
    <value>hdfs://namenode1:9000</value>
    </property>

    </configuration>

   

  3)配置hdfs-site.xml文件

  修改Hadoop中HDFS的配置,配置的备份方式默认为3,这里只有2个datanode,所以数据最大复制2份!



    <configuration>

    <property>

             <name>dfs.replication</name>

             <value>2</value>

         </property>


    </configuration>

  


7. 设置 mapred-site.xml 件内容如下

  修改Hadoop中MapReduce的配置文件,配置的是JobTracker的地址和端口。



    <configuration>

    <property>

    <name>mapred.job.tracker</name>

    <value>namenode1:9001</value>

    </property>


    </configuration>

    

  


8. 修改 java 的运行环境变量,修改 hadoop-env.sh 如下行的内容如下

    vim  /etc/hadoop/hadoop-env.sh



修改如下行内容为

    export JAVA_HOME=/usr/java/jdk1.7.0_09




11. 设置每个节点上面的 服务为自动启动

    chkconfig --add hadoop-namenode
    chkconfig --add hadoop-jobtracker
    chkconfig hadoop-namenode on
    chkconfig hadoop-jobtracker on




4.3 启动及验证

  1)格式化HDFS文件系统

  在"Master.Hadoop"上使用普通用户hadoop进行操作。(备注:只需一次,下次启动不再需要格式化)



    hadoop namenode -format


  2)启动hadoop

  在启动前关闭集群中所有机器的防火墙,不然会出现datanode开后又自动关闭。



    service iptables stop


     不知道为什么root用户访问start-all.sh会提示无权限,所以直接修改了其所在文件夹的访问权限!(谁知道原来回复一下我,谢谢)

    chmod -R 777 /usr/sbin/

    


    启动 namenode



    start-all.sh

    

    

  可以通过以下启动日志看出,首先启动namenode 接着启动datanode1,datanode2,…,然后启动secondarynamenode。

       再启动jobtracker,然后启动tasktracker1,tasktracker2,…。


  启动 hadoop成功后,在 Master 中的 tmp 文件夹中生成了 dfs 文件夹,在Slave 中的 tmp 文件夹中均生成了 dfs 文件夹和 mapred 文件夹。


     停止 namenode

    stop-all.sh

    



 (2)验证方式二:用"hadoop dfsadmin -report"

  用这个命令可以查看Hadoop集群的状态。



4.4 网页查看集群

  1)访问jobtracker"http:192.168.1.2:50030"



      



  2)访问DFS : "http:192.168.10.137:50070"

      


    到此,Hadoop配置完毕,最大的感悟是rpm方式安装软件真是太方便了!

参考自:http://www.cnblogs.com/xia520pi/archive/2012/05/16/2503949.html 和 http://www.unxmail.com/read.php?221
分享到:
评论

相关推荐

    hadoop环境搭建

    Hadoop 环境搭建 Hadoop 环境搭建是大数据处理和分析的基础,涉及到虚拟机安装、操作系统安装、JDK 安装、SSH 无密码登录、Hadoop 安装等多个方面。在本文中,我们将详细介绍 Hadoop 环境搭建的步骤和方法。 一、...

    hadoop环境搭建教程

    Hadoop环境搭建主要包括配置Hadoop相关的配置文件,包括但不限于hadoop-env.sh、core-site.xml、hdfs-site.xml、mapred-site.xml、masters和slaves文件。 在hadoop-env.sh文件中需要指定Java的安装路径,因为Hadoop...

    hadoop环境搭建和eclipse开发

    hadoop环境搭建和eclipse开发

    Hadoop环境搭建.pdf

    Hadoop环境搭建.pdf Hadoop环境搭建.pdf Hadoop环境搭建.pdf

    hadoop环境搭建脚本

    hadoop的环境搭建过程.方便第一次使用hadoop的同学.快速搭建环境

    Windows上Hadoop环境搭建简介

    在Windows上使用Cygwin作为类Unix支撑环境来安装Hadoop, 网上介绍的还是比较多的。...其实,Hadoop环境搭建的主要内容是Cygwin的安装,估计要占总时间的2/3, 其它工作我会手把手的教你,come on,follow me!

    hadoop开发环境搭建

    ### Hadoop开发环境搭建知识点详解 #### 一、Hadoop简介及重要性 Hadoop是一个开源的分布式计算框架,能够高效地处理大规模数据集。它主要由两大部分组成:Hadoop Distributed File System (HDFS) 和 MapReduce。...

    hadoop环境搭建.docx

    4. 配置Hadoop环境是关键步骤,主要涉及以下几个文件: - `hadoop-env.sh`: 这个文件用于设置Hadoop相关的环境变量,如`JAVA_HOME`,应确保指向正确的JDK安装路径,例如`/home/tools/jdk1.8.0_221`。 - `hdfs-...

    最详细的Hadoop环境搭建

    ### Hadoop环境搭建详解 #### 一、引言 随着大数据技术的发展,Hadoop作为大数据处理的核心框架之一,其重要性不言而喻。对于初学者来说,掌握Hadoop的基本安装与配置流程是非常重要的第一步。本文旨在提供一份...

    hadoop环境搭建,机器部署以及 Linux 常用命令操作指南

    hadoop 环境搭建、机器部署以及 Linux 常用命令操作指南 本指南将指导用户从头开始搭建 Hadoop 环境,包括虚拟机环境的准备、Linux 基础知识、shell 增强大数据集群环境准备、ZooKeeper 介绍及集群操作网络编程等...

    hadoop搭建步骤

    b) 在所有机器上的 `/etc/profile` 文件末尾添加Hadoop环境变量: ``` # for hadoop export HADOOP_HOME=/usr/local/hadoop export PATH=$HADOOP_HOME/bin:$PATH ``` c) 配置 `/conf/hadoop-env.sh` 文件,修改 `...

    Hadoop2.0开发环境搭建

    涉及到了Hadoop2.0、Hbase、Sqoop、Flume、Hive、Zookeeper的具体环境搭建

    hadoop环境搭建(1).docx

    hadoop环境搭建(1).docx

    1、Hadoop环境搭建.docx

    "Hadoop环境搭建" Hadoop 环境搭建是大数据处理和分析的基础,涉及到虚拟机的安装、操作系统的选择、虚拟机的配置等多个方面。下面是 Hadoop 环境搭建的详细知识点: 一、虚拟机的安装 1.1 VMware 中新建虚拟机的...

Global site tag (gtag.js) - Google Analytics