`

hadoop安装笔记

阅读更多
  • 环境准备:
ESXi下的三台虚机
ip:172.16.80.15/16/17
os:centos 6.3
1cpu/2g内存/200G虚拟硬盘
 
  • 配置hosts文件
主机名及hosts设置
172.16.80.15 设置主机名:hadoop1 172.16.80.16 设置主机名:hadoop2 172.16.80.17 设置主机名:hadoop3
三台主机/etc/hosts文件增加以下内容
172.16.80.15         hadoop1
172.16.80.16         hadoop2
172.16.80.17         hadoop3

  • 建立hadoop运行帐号
三台主机分别执行如下命令
groupadd hadoop
useradd -g hadoop -G root grid
 
 
  • 配置ssh免密码连入

ssh无密码互通

1.确认ssh可以运行
   1.1. 修改sshd_config文件:vi /etc/ssh/sshd_config
   1.2. 将#PasswordAuthentication no的注释去掉,并且将NO修改为YES
   1.3. 将#PermitRootLogin yes的注释去掉
   1.4. 重新启动SSH服务,命令为:/etc/init.d/sshd restart
   1.5. 验证SSH服务状态,命令为:/etc/init.d/sshd status
 
2.更改互信节点的/etc/hosts文件

   2.1.打开hosts文件:vi /etc/hosts ,在其中一个节点上,如server1上将其他的server2,server3等节点的ip和hostname写上,如
    server1ip server1
    server2ip server2
    server3ip server3
    server4ip server4
  2.2 所有需互信节点均添加ip地址主机名对应关系。

3.设置server1
  3.1 生成ssh密钥对:ssh-keygen -t rsa 一路回车即可.
  3.2 查看是否有.ssh文件夹:ls -a 
  3.3 进入.ssh目录:cd .ssh 
  3.4 生成authorized_keys文件:cp id_rsa.pub authorized_keys  
  3.5 建立本身的信任连接:ssh server1 输入yes 无需密码

4.设置server2
  7.1 生成ssh密钥对:ssh-keygen -t dsa (dsa与server1的rsa设置不要相同) 
   7.2 进入.ssh目录:cd .ssh
   7.3 生成authorized_keys文件:cp id_dsa.pub authorized_keys 
   7.4 建立本身的信任连接:ssh server2 输入yes 无需密码
    
5.设置server3的方法与server1,server2相同

6.关键步骤
   6.1 将server2,server3的authorized_keys内容追加至server1的authorized_keys文件中。
    6.1.1 server2: cat authorized_keys 复制内容
    6.1.2 server1: vi authorized_keys 在最末行添加复制。
          server3 同上述操作相同
   6.2 将以追加的文件authorized_keys覆盖server2,server3上的authorized_keys文件。
    6.2.1 登陆server2:scp server1ip:/root/.ssh/authorized_keys /root/.ssh/authorized_keys
  6.2.2 登陆server3:scp server1ip:/root/.ssh/authorized_keys /root/.ssh/authorized_keys

7.确认机器的信任连接已建立
  7.1 对每台机器执行:ssh server1;ssh server2;ssh server3 在提示处输入yes回车。

 
  • 下载并解压hadoop安装
 
下载
tar -zxvf hadoop-0.20.2.tar.gz
mv hadoop-0.20.2 hadoop
 
  • 配置namenode,修改site文件
修改core-site.xml
<configuration>
<property>
        <name>fs.default.name</name>
        <value>hdfs://hadoop1:9000</value>
        <final>true</final>
</property>
<property>
        <name>hadoop.tmp.dir</name>
        <value>/home/grid/hadoop/tmp</value>
        <description>a base for other temporary directoryies</description>
</property>
 修改hdfs-site.xml
<configuration>
    <property>
         <name>dfs.name.dir</name>
         <value>/home/grid/hdfs/name</value>
         <final>true</final>
    </property>
    <property>
         <name>dfs.data.dir</name>
         <value>/home/grid/hdfs/data</value>
         <final>true</final>
    </property>
    <property>
        <name>dfs.replication</name>
        <value>2</value>
        <final>true</final>
    </property>
</configuration>
修改mapred-site.xml
<configuration>
   <property>
       <name>mapred.job.tracker</name>
       <value>hadoop1:9001</value>
       <final>true</final>
   </property>
</configuration>
 

 
 
  • 配置hadoop-env.sh
 
export JAVA_HOME=/etc/alternatives/jre #设置具体的java_home位置
 
  • 配置masters和slaves文件
masters 
     hadoop1
slaves
     hadoop2
     hadoop3
 
  • 向各节点复制hadoop
从hadoop1复制hadoop目录到hadoop2和hadoop3到相同的目录下
scp -r hadoop grid@hadoop2:~
scp -r hadoop grid@hadoop3:~
 
  • 在每台服务器上修改profile文件,增加如下几行
export JAVA_HOME=/etc/alternatives/jre
export HADOOP_INSTALL=/home/grid/hadoop
export PATH=$PATH:$HADOOP_INSTALL/bin
 
运行 source /etc/profile
echo $HADOOP_INSTALL
看是否正常显示设定的目录
 
 
  • 格式化namenode
hadoop namenode -format
 
  • 启动hadoop
start-all.sh
 
  • 用jps检验各后台进程是否成功启动
jps是jdk下的一个命令,如果安装的是jre是没有这个命令
  • 测试
hadoop dfs -put - input
Hadoop Hadoop Good
^C[grid@hadoop1 hadoop]$ hadoop dfs -cat input
Hadoop Hadoop Good
[grid@hadoop1 hadoop]$ hadoop jar /home/grid/hadoop/hadoop-0.20.2-examples.jar wordcount input output
 
  • 遇到的问题
hadoop dfs -cat output/part-r-00000
Good    1
Hadoop  2

在运行hadoop dfs -put - input的时候遇 到如下问题:

Hadoop:could only be replicated to 0 nodes, instead of 1

在Hadoop的环境搭建过程中,常常会遇到类似这样的错误信息提示:“could only be replicated to 0 nodes, instead of 1 ”,产生这样的错误原因有多种,这里列举出以下四种常用的解决方法以供参考:

  • 确保master(namenode) 、slaves(datanode)的防火墙已经关闭
  • 确保DFS空间的使用情况
  • Hadoop默认的hadoop.tmp.dir的路径为/tmp/hadoop-${user.name},而有的linux系统的/tmp目录文件系统的类型往往是Hadoop不支持的。( 本人在Ubuntu 10.10下测试伪分布式时就遇到了这种情况 
  • 先后启动namenode、datanode(本人没有碰到过这样的情况 )
    $hadoop-daemon.sh start namenode
    $hadoop-daemon.sh start datanode 
分享到:
评论

相关推荐

    hadoop集群安装笔记

    "Hadoop集群安装笔记" Hadoop集群安装笔记是一篇详细的安装指南,旨在帮助新手快速搭建Hadoop学习环境。以下是该笔记中的重要知识点: Hadoop集群安装目录 在安装Hadoop集群之前,需要准备好安装环境。安装环境...

    Hadoop学习笔记

    Hadoop学习笔记,自己总结的一些Hadoop学习笔记,比较简单。

    Hadoop 学习笔记.md

    Hadoop 学习笔记.md

    最新Hadoop学习笔记

    1. 安装Java:Hadoop依赖Java运行环境,确保系统安装了JDK并设置好环境变量。 2. 下载Hadoop:从Apache官方网站获取最新稳定版Hadoop,根据系统选择合适的版本。 3. 解压Hadoop:将下载的压缩包解压到指定目录,如 `...

    Hadoop学习笔记.pdf

    Hadoop是一种开源的分布式存储和计算系统,它由Apache软件基金会开发。在初学者的角度,理解Hadoop的组成部分以及其架构...随着技术的深入学习,应逐步掌握其安装部署、性能调优、故障处理以及与其他工具的集成使用。

    云计算hadoop学习笔记

    云计算,hadoop,学习笔记, dd

    linux+hadoop笔记(一)

    hadoop学习笔记,分天学习,原创,亲测,放心使用,没问题。

    hadoop学习笔记.rar

    《Hadoop学习笔记详解》 Hadoop,作为大数据处理领域中的核心框架,是Apache软件基金会下的一个开源项目,主要用于分布式存储和并行计算。本文将根据提供的Hadoop学习笔记,深入解析Hadoop的关键概念和实战技巧,...

    3.Hadoop学习笔记.pdf

    Hadoop安装通常包括下载、配置和启动集群的NameNode和DataNode。NameNode是HDFS的主节点,负责管理文件系统的命名空间和客户端对文件的访问。DataNode是从节点,负责存储实际的数据块。Hadoop集群启动时,NameNode...

    HADOOP学习笔记

    【HADOOP学习笔记】 Hadoop是Apache基金会开发的一个开源分布式计算框架,是云计算领域的重要组成部分,尤其在大数据处理方面有着广泛的应用。本学习笔记将深入探讨Hadoop的核心组件、架构以及如何搭建云计算平台。...

    Hadoop 培训笔记 及源码

    Hadoop架构分析之集群结构分析,Hadoop架构分析之HDFS架构分析,Hadoop架构分析之NN和DN原生文档解读,Hadoop MapReduce原理之流程图.Hadoop MapReduce原理之核心类Job和ResourceManager解读.Hadoop MapReduce原理之...

    hadoop3.x笔记.docx

    Hadoop 3.x 笔记 Hadoop 是一个基于分布式存储的大数据处理框架,本文档将详细介绍 Hadoop 3.x 的配置和底层原理,从零搭建集群以及解决遇到的问题,通过图形化的方式更好地理解 Hadoop 的作用。 一、HDFS 组成 ...

    hadoop的安装

    以上步骤是按照学习笔记中提供的信息进行分解的,可能在不同版本的Hadoop中启动命令会有所差别。在学习和安装过程中,查阅官方文档非常重要,以获取最新的安装指南和配置说明。此外,需要注意的是,Hadoop的安装需要...

    hadoop学习笔记(三)

    在本篇"Hadoop学习笔记(三)"中,我们将探讨如何使用Hadoop的MapReduce框架来解决一个常见的问题——从大量数据中找出最大值。这个问题与SQL中的`SELECT MAX(NUMBER) FROM TABLE`查询相似,但在这里我们通过编程...

    hadoop 笔记

    - **3.2.2 所需软件**:需要安装JDK(Java Development Kit),因为Hadoop是用Java编写的。 - **3.2.3 安装软件**:下载最新的Hadoop二进制包,并解压缩到指定目录。 **3.3 下载** 从Apache官方网站下载最新的...

Global site tag (gtag.js) - Google Analytics