Hadoop(2.7.0)伪分布式环境CentOS(7.0 64位)配置

Hadoop 2.7.0 伪分布式部署
本文详细介绍了如何在 CentOS 7.0 64位环境下搭建 Hadoop 2.7.0 的伪分布式环境,包括 SSH 无密码验证配置、JDK 安装及环境变量配置、Hadoop 安装与配置步骤,以及格式化与启动 Hadoop 的过程。
Hadoop(2.7.0)伪分布式环境CentOS(7.0 64位)配置

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/local/jdk1.8
export JRE_HOME=/usr/local/jdk1.8/jre
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

在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.7.0,安装文件 hadoop-2.7.0.tar.gz (http://hadoop.apache.org/common/releases.html)

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

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

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

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

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

安装完之后进行配置,首先所有的配置文件从上一版本的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://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

然后执行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上的应用情况一目了然。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

向往的生活Life

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值