阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

64位CentOS 6.5下配置Hadoop 2.5.1伪分布式环境

129次阅读
没有评论

共计 10528 个字符,预计需要花费 27 分钟才能阅读完成。

最近在搞 Hadoop,感觉有这个必要把一些琐碎的心得分享,而且正好国庆假期使时间上有了可能。首先感谢下面两篇文章给出的指导,本文是两者技术路线在 CentOS 6.5 64 位 版本下对 Hadoop 2.5.1 伪分布式环境的一个实践。

  • CentOS 6.5 集群安装 64 位 Hadoop2.2.0  http://www.linuxidc.com/Linux/2014-06/102665.htm
  • Hadoop 集群(第 5 期)_Hadoop 安装配置 http://www.linuxidc.com/Linux/2012-12/76694p11.htm

至于为什么写这篇文章,主要是 Hadoop 2.3 之后从框架上做出了质变,所以配置与运行方式发生了很多改变。

概要与介绍上文都有介绍,这里不再赘述,直奔主题:

总体的流程如下:
    1、实现 ssh 无密码验证配置
    2、安装 jdk,并配好环境变量
    3、安装与配置 Hadoop
    4、格式化与启动
    5、验证是否启动
下面开始:

一.  SSH 无密码验证配置
    Hadoop 需要使用 SSH 协议,namenode 使用 SSH 协议启动 namenode 和 datanode 进程,伪分布式模式数据节点和名称节点均是本身,必须配置 SSH localhost 无密码验证。
以下用 root 用户登录仅为了方便起见。登录后,执行命令:ssh-keygen -t rsa

[root@master ~]# ssh-keygen -t  rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):  & 按回车默认路径 &
Created directory ‘/root/.ssh’.  & 创建 /root/.ssh 目录 &
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.

通过以上命令将在 /root/.ssh/ 目录下生成 id_rsa 私钥和 id_rsa.pub 公钥。进入 /root/.ssh 目录在 namenode 节点下做如下配置:

[root@master .ssh]# cat id_rsa.pub > authorized_keys
将 id_rsa.pub 写入 authorized_keys,配置完毕,可通过 ssh 本机 IP 测试是否需要密码登录:ssh localhost

二. 环境搭建
搭建测试环境所需的软件包括:

 1. JDK 1.8.2,安装文件 jdk-8u20-linux-x64.rpm (http://www.Oracle.com/technetwork/java/javase/index.html)

      执行 rpm -i jdk-8u20-linux-x64.rpm 安装 JDK

      然后设置 JAVA_HOME 等环境变量:vim /etc/profile,在其末尾增加一段:

    #set java home
    export JAVA_HOME=/usr/java/latest
    export JRE_HOME=/usr/java/latest/jre
    export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib
    export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

    这里给出的目录 /usr/java/latest 是 CentOS 6.5 下用 rpm 安装 JDK 自动生成的,如果是其他安装办法,如手动安装,则制定实际安装的目录即可。

    在 vim 编辑器增加以上内容后保存退出(:wq),并执行以下命令使配置生效
    chmod +x  /etc/profile #增加执行权限
    source  /etc/profile #使其生效
    配置完毕后,在命令行中输入 java -version 与 echo $JAVA_HOME,根据提示信息可知是否设置成功。

    然后 vim hadoop/etc/hadoop/hadoop-env.sh 与 vim hadoop/etc/hadoop/yarn-env.sh 来配置两个文件里的 JAVA_HOME,后者是新版本 Hadoop 特有的。

2.Hadoop 2.5.1,安装文件 hadoop-2.5.1.tar.gz (http://hadoop.apache.org/common/releases.html)

    下载 hadoop-2.5.1.tar.gz,将其下载或者复制到 /usr/ 目录下,然后使用如下命令:

    cd /usr #进入 ”/usr” 目录
    tar –zxvf hadoop-2.5.1.tar.gz #解压 hadoop-2.5.1.tar.gz 安装包
    mv hadoop-2.5.1 hadoop #将 hadoop-2.5.1 文件夹重命名 hadoop
    rm –rf hadoop-2.5.1.tar.gz  #删除安装包

然后把 Hadoop 的安装路径添加到 ”/etc/profile” 中,将以下语句添加到末尾,并使其有效:

# set hadoop path
export HADOOP_HOME=/usr/hadoop
export PATH=$PATH :$HADOOP_HOME/bin

  请注意这里安装的 2.5.1 版本,2.* 版本较 1.* 版本改动很大,主要是用 Hadoop MapReduceV2(Yarn) 框架代替了一代的架构,其中 JobTracker 和 TaskTracker 不见了,取而代之的是 ResourceManager, ApplicationMaster 与 NodeManager 三个部分,而具体的配置文件位置与内容也都有了相应变化,具体的可参考文献:http://www.linuxidc.com/Linux/2013-09/90090.htm

————————————– 分割线 ————————————–

Ubuntu 13.04 上搭建 Hadoop 环境 http://www.linuxidc.com/Linux/2013-06/86106.htm

Ubuntu 12.10 +Hadoop 1.2.1 版本集群配置 http://www.linuxidc.com/Linux/2013-09/90600.htm

Ubuntu 上搭建 Hadoop 环境(单机模式 + 伪分布模式)http://www.linuxidc.com/Linux/2013-01/77681.htm

Ubuntu 下 Hadoop 环境的配置 http://www.linuxidc.com/Linux/2012-11/74539.htm

单机版搭建 Hadoop 环境图文教程详解 http://www.linuxidc.com/Linux/2012-02/53927.htm

搭建 Hadoop 环境(在 Winodws 环境下用虚拟机虚拟两个 Ubuntu 系统进行搭建)http://www.linuxidc.com/Linux/2011-12/48894.htm

————————————– 分割线 ————————————–

  安装完之后进行配置,首先所有的配置文件从上一版本的 hadoop/conf 换成了 hadoop/etc/hadoop,在 hadoop 目录下,执行 vim etc/hadoop/core-site.xml,将其配置为:

<configuration>

  <property>

      <name>hadoop.tmp.dir</name>

      <value>/usr/hadoop/tmp</value>

      <description>A base for other temporary directories.</description>

  </property>

<!–file system properties–>

  <property>

      <name>fs.defaultFS</name>

      <value>hdfs:// 你的 ip:9000</value>

  </property>

</configuration>

然后执行 vim etc/hadoop/hdfs-site.xml 进行第二项配置:

<configuration>

    <property>

        <name>dfs.namenode.name.dir</name>

        <value>/usr/hadoop/hdfs/name</value>

    </property>

    <property>

        <name>dfs.datanode.data.dir</name>

        <value>/usr/hadoop/hdfs/data</value>

    </property>

    <property>

        <name>dfs.replication</name>

        <value>1</value>

    </property>

</configuration>

请注意上述路径都需要自己手动用 mkdir 创建,具体位置也可以自己选择,其中 dfs.replication 的值建议配置为与分布式 cluster 中实际的 DataNode 主机数一致,在这里由于是伪分布式环境所以设置其为 1。

更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2014-10/107696p2.htm

上述配置也可参考:http://Hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/SingleCluster.html#Pseudo-Distributed_Operation

接下来执行 vim etc/hadoop/mapred-site.xml 配置其使用 Yarn 框架执行 map-reduce 处理程序,内容如下:
 <configuration>
  <property>
  <name>mapreduce.framework.name</name>
  <value>Yarn</value>
  </property>
 </configuration>

最后执行 vim etc/hadoop/yarn-site.xml 对 yarn 进行配置,其内容如下:

<configuration>

<!– Site specific YARN configuration properties –>   

  <property>

    <name>Yarn.nodemanager.aux-services</name>

    <value>mapreduce.shuffle</value> 

  </property>     

  <property>

    <description>The address of the applications manager interface in the RM.</description>       

    <name>Yarn.resourcemanager.address</name>         

    <value> 你的 ip:18040</value>           

  </property>

  <property>

    <description>The address of the scheduler interface.</description>

    <name>Yarn.resourcemanager.scheduler.address</name> 

    <value> 你的 ip:18030</value>   

  </property>

  <property>

    <description>The address of the RM web application.</description>

    <name>Yarn.resourcemanager.webapp.address</name> 

    <value> 你的 ip:18088</value>   

  </property>

  <property>

    <description>The address of the resource tracker interface.</description>

    <name>Yarn.resourcemanager.resource-tracker.address</name> 

    <value> 你的 ip:8025</value>   

  </property>

</configuration>

然后格式化:hadoop/bin/hadoop namenode -format,看到命令倒数第三行 Storage directory * has been successfully formatted. 则说明格式化成功。

新版本中启动脚本也从 hadoop/bin/start-all.sh 变为了 hadoop/sbin/start-dfs.sh 与 hadoop/sbin/start-yarn.sh。

执行 start-dfs.sh 来启动 dfs:

# sbin/start-dfs.sh

14/10/01 22:35:21 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable

Starting namenodes on [机器名]

intelbang: starting namenode, logging to /usr/hadoop/logs/hadoop-root-namenode- 机器名.out

机器 ip: starting datanode, logging to /usr/hadoop/logs/hadoop-root-datanode- 机器名.out

Starting secondary namenodes [0.0.0.0]

0.0.0.0: starting secondarynamenode, logging to /usr/hadoop/logs/hadoop-root-secondarynamenode- 机器名.out

14/10/01 22:35:50 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable

这里有个 warning:Unable to load native-hadoop library for your platform… 不知为啥出现的,求达人指点!
然后执行 start-yarn.sh 来启动 yarn:

# sbin/start-yarn.sh

starting yarn daemons

starting resourcemanager, logging to /usr/hadoop/logs/yarn-root-resourcemanager-intelbang.out

机器 ip: starting nodemanager, logging to /usr/hadoop/logs/yarn-root-nodemanager-intelbang.out

至此两者均启动成功,可以访问 http:// 机器 ip:50070 来获得 dfs 的运行现状,http:// 机器 ip:8088 来获得 resource manager 的运行现状,全部 Hadoop 上的应用情况一目了然。

更多 Hadoop 相关信息见Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13

最近在搞 Hadoop,感觉有这个必要把一些琐碎的心得分享,而且正好国庆假期使时间上有了可能。首先感谢下面两篇文章给出的指导,本文是两者技术路线在 CentOS 6.5 64 位 版本下对 Hadoop 2.5.1 伪分布式环境的一个实践。

  • CentOS 6.5 集群安装 64 位 Hadoop2.2.0  http://www.linuxidc.com/Linux/2014-06/102665.htm
  • Hadoop 集群(第 5 期)_Hadoop 安装配置 http://www.linuxidc.com/Linux/2012-12/76694p11.htm

至于为什么写这篇文章,主要是 Hadoop 2.3 之后从框架上做出了质变,所以配置与运行方式发生了很多改变。

概要与介绍上文都有介绍,这里不再赘述,直奔主题:

总体的流程如下:
    1、实现 ssh 无密码验证配置
    2、安装 jdk,并配好环境变量
    3、安装与配置 Hadoop
    4、格式化与启动
    5、验证是否启动
下面开始:

一.  SSH 无密码验证配置
    Hadoop 需要使用 SSH 协议,namenode 使用 SSH 协议启动 namenode 和 datanode 进程,伪分布式模式数据节点和名称节点均是本身,必须配置 SSH localhost 无密码验证。
以下用 root 用户登录仅为了方便起见。登录后,执行命令:ssh-keygen -t rsa

[root@master ~]# ssh-keygen -t  rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):  & 按回车默认路径 &
Created directory ‘/root/.ssh’.  & 创建 /root/.ssh 目录 &
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.

通过以上命令将在 /root/.ssh/ 目录下生成 id_rsa 私钥和 id_rsa.pub 公钥。进入 /root/.ssh 目录在 namenode 节点下做如下配置:

[root@master .ssh]# cat id_rsa.pub > authorized_keys
将 id_rsa.pub 写入 authorized_keys,配置完毕,可通过 ssh 本机 IP 测试是否需要密码登录:ssh localhost

二. 环境搭建
搭建测试环境所需的软件包括:

 1. JDK 1.8.2,安装文件 jdk-8u20-linux-x64.rpm (http://www.Oracle.com/technetwork/java/javase/index.html)

      执行 rpm -i jdk-8u20-linux-x64.rpm 安装 JDK

      然后设置 JAVA_HOME 等环境变量:vim /etc/profile,在其末尾增加一段:

    #set java home
    export JAVA_HOME=/usr/java/latest
    export JRE_HOME=/usr/java/latest/jre
    export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib
    export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

    这里给出的目录 /usr/java/latest 是 CentOS 6.5 下用 rpm 安装 JDK 自动生成的,如果是其他安装办法,如手动安装,则制定实际安装的目录即可。

    在 vim 编辑器增加以上内容后保存退出(:wq),并执行以下命令使配置生效
    chmod +x  /etc/profile #增加执行权限
    source  /etc/profile #使其生效
    配置完毕后,在命令行中输入 java -version 与 echo $JAVA_HOME,根据提示信息可知是否设置成功。

    然后 vim hadoop/etc/hadoop/hadoop-env.sh 与 vim hadoop/etc/hadoop/yarn-env.sh 来配置两个文件里的 JAVA_HOME,后者是新版本 Hadoop 特有的。

2.Hadoop 2.5.1,安装文件 hadoop-2.5.1.tar.gz (http://hadoop.apache.org/common/releases.html)

    下载 hadoop-2.5.1.tar.gz,将其下载或者复制到 /usr/ 目录下,然后使用如下命令:

    cd /usr #进入 ”/usr” 目录
    tar –zxvf hadoop-2.5.1.tar.gz #解压 hadoop-2.5.1.tar.gz 安装包
    mv hadoop-2.5.1 hadoop #将 hadoop-2.5.1 文件夹重命名 hadoop
    rm –rf hadoop-2.5.1.tar.gz  #删除安装包

然后把 Hadoop 的安装路径添加到 ”/etc/profile” 中,将以下语句添加到末尾,并使其有效:

# set hadoop path
export HADOOP_HOME=/usr/hadoop
export PATH=$PATH :$HADOOP_HOME/bin

  请注意这里安装的 2.5.1 版本,2.* 版本较 1.* 版本改动很大,主要是用 Hadoop MapReduceV2(Yarn) 框架代替了一代的架构,其中 JobTracker 和 TaskTracker 不见了,取而代之的是 ResourceManager, ApplicationMaster 与 NodeManager 三个部分,而具体的配置文件位置与内容也都有了相应变化,具体的可参考文献:http://www.linuxidc.com/Linux/2013-09/90090.htm

————————————– 分割线 ————————————–

Ubuntu 13.04 上搭建 Hadoop 环境 http://www.linuxidc.com/Linux/2013-06/86106.htm

Ubuntu 12.10 +Hadoop 1.2.1 版本集群配置 http://www.linuxidc.com/Linux/2013-09/90600.htm

Ubuntu 上搭建 Hadoop 环境(单机模式 + 伪分布模式)http://www.linuxidc.com/Linux/2013-01/77681.htm

Ubuntu 下 Hadoop 环境的配置 http://www.linuxidc.com/Linux/2012-11/74539.htm

单机版搭建 Hadoop 环境图文教程详解 http://www.linuxidc.com/Linux/2012-02/53927.htm

搭建 Hadoop 环境(在 Winodws 环境下用虚拟机虚拟两个 Ubuntu 系统进行搭建)http://www.linuxidc.com/Linux/2011-12/48894.htm

————————————– 分割线 ————————————–

  安装完之后进行配置,首先所有的配置文件从上一版本的 hadoop/conf 换成了 hadoop/etc/hadoop,在 hadoop 目录下,执行 vim etc/hadoop/core-site.xml,将其配置为:

<configuration>

  <property>

      <name>hadoop.tmp.dir</name>

      <value>/usr/hadoop/tmp</value>

      <description>A base for other temporary directories.</description>

  </property>

<!–file system properties–>

  <property>

      <name>fs.defaultFS</name>

      <value>hdfs:// 你的 ip:9000</value>

  </property>

</configuration>

然后执行 vim etc/hadoop/hdfs-site.xml 进行第二项配置:

<configuration>

    <property>

        <name>dfs.namenode.name.dir</name>

        <value>/usr/hadoop/hdfs/name</value>

    </property>

    <property>

        <name>dfs.datanode.data.dir</name>

        <value>/usr/hadoop/hdfs/data</value>

    </property>

    <property>

        <name>dfs.replication</name>

        <value>1</value>

    </property>

</configuration>

请注意上述路径都需要自己手动用 mkdir 创建,具体位置也可以自己选择,其中 dfs.replication 的值建议配置为与分布式 cluster 中实际的 DataNode 主机数一致,在这里由于是伪分布式环境所以设置其为 1。

更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2014-10/107696p2.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计10528字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中