继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Hadoop2伪分布式安装

2018-04-03 11:06:4214985浏览

叁金

3实战 · 33手记 · 1推荐
TA的实战

最近有观看我主讲的《Hadoop基础与演练》课程的同学问到Hadoop环境到底应该怎么安装。Hadoop的安装其实非常的简单,网上有很多教程,官网也有示例。但是可能部分同学对于linux不太熟悉,导致安装的时候会遇到各种问题,打击学习激情。本文就来详细的讲解一下如何配置Hadoop2的伪分布式环境,帮助我们对其进行学习。

注:大家还是要学习一些linux基本命令,用到的时候很多


接下来我们进入正题,安装配置伪分布式的Hadoop集群到底分几步?

  1. 配置免密登录
  2. 配置JDK环境
  3. 安装配置Hadoop
  4. Hadoop NameNode格式化及运行测试

首先,我们下载JDK的安装包Hadoop的安装包(这里我们选择的是2.7.5版本,本教程适用与2.x版本 诸如 2.6.x 2.7.x 都支持)。

用户可以适用默认用户,也可以添加一个新的用户如hadoop用户进行部署安装。

# Ubuntu添加新用户
sudo useradd -m hadoop -s /bin/bash # 添加hadoop用户
sudo passwd hadoop # 配置hadoop用户的密码,需要输入两次
sudo adduser hadoop sudo #为hadoop添加管理员权限
# Centos添加新用户
useradd -m hadoop -s /bin/bash # 添加hadoop用户
passwd hadoop # 配置hadoop用户的密码,需要输入两次
visudo #打开配置文件 在最后一行加入 hadoop ALL=(ALL) ALL 并保存。  为hadoop添加管理员权限

配置免密登录

ssh-keygen -t rsa              # 会有提示,都按回车就可以
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys  # 加入授权

注:如果执行ssh-keygen报错,说明未安装openssh服务,首先进行安装再进行免密配置,安装方式:

# Ubuntu安装openssh
sudo apt-get install openssh-server
# Centos安装openssh
sudo yum install openssh-clients
sudo yum install openssh-server

配置完成后,执行ssh localhost 命令可以不用输入密码即可登录为配置成功。效果如下图所示:
图片描述

配置JDK环境

当我们下载完JDK的安装包之后,我们将jdk安装到/usr/local/jdk 这个目录。

cd jdk-download-home # 跳转到你下载的jdk的目录,将jdk-download-home替换为你的下载目录,比如/home/hadoop/downloads

tar zxvf jdk-pkg-name # 解压jdk 将jdk-pkg-name替换为你下载的jdk名字。比如jdk-8u151-linux-x64.tar.gz

sudo mv jdk-dir /usr/local/jdk # 将解压后的jdk目录移动到/usr/local/下并重命名为jdk。   将jdk-dir替换为你解压后的目录。比如jdk-8u151-linux-x64

JDK的安装我们已经完成了,接下来就是配置环境变量。

vim ~/.bashrc # 打开环境变量配置文件,添加下面的配置
# java环境变量配置
export JAVA_HOME=/usr/local/jdk
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
# 配置完成后 执行下面命令是配置生效
source ~/.bashrc

接下来我们检验一下我们的Java环境是否配置成功,我们执行java -version 可以看到java相关的信息即可。如下图所示:
图片描述

安装配置Hadoop

当我们下载完Hadoop的安装包之后,我们将hadoop安装到/usr/local/hadoop 这个目录。

cd hadoop-download-home # 跳转到你下载的hadoop的目录,将hadoop-download-home替换为你的下载目录,比如/home/hadoop/downloads

tar zxvf hadoop-pkg-name # 解压jdk 将hadoop-pkg-name替换为你下载的hadoop名字。比如hadoop-2.7.5.tar.gz

sudo mv hadoop-dir /usr/local/hadoop # 将解压后的hadoop目录移动到/usr/local/下并重命名为hadoop。   将hadoop-dir替换为你解压后的目录。比如hadoop-2.7.5

接下来我们对hadoop进行一些配置,使其能以伪分布式的方式运行。
我们进入到hadoop的配置文件所在的目录

cd /usr/local/hadoop/etc/hadoop
  1. 配置hadoop-env.sh

在该文件内配置JAVA_HOME 如图所示:
图片描述
将JAVA_HOME设置为我们自己的jdk安装路径即可

  1. 配置hdfs-site.xml

将hdfs-site.xml的内容改成下面的配置。

<configuration>
<property>
    <name>dfs.replication</name>
    <value>1</value>
</property>
<property>
    <name>dfs.namenode.name.dir</name>
    <value>file:/home/jixin/hadoop_data/dfs/name</value>
</property>
<property>
    <name>dfs.datanode.data.dir</name>
    <value>file:/home/jixin/hadoop_data/dfs/data</value>
</property>
</configuration>
dfs.replication # 为文件保存副本的数量
dfs.namenode.name.dir # 为hadoop namenode数据目录,改成自己需要的目录(不存在需新建)
dfs.datanode.data.dir # 为hadoop datanode数据目录,改成自己需要的目录(不存在需新建)
  1. 配置core-site.xml

将core-site.xml的内容改成下面的配置。

<configuration>
<property>
    <name>hadoop.tmp.dir</name>
    <value>file:/home/jixin/hadoop_data</value>
</property>
<property>
    <name>fs.defaultFS</name>
    <value>hdfs://0.0.0.0:9000</value>
</property>
</configuration>
hadoop.tmp.dir # hadoop 缓存目录,更改为自己的目录(不存在需创建)
fs.defaultFS # hadoop fs 监听端口配置

如果我们只需要HDFS,那么我们的配置到此就可以结束了,如果我们需要用到Yarn,我们还需要做yarn相关的配置。

  1. 配置mapred-site.xml

将mapred-site.xml的内容改成下面的配置。

<configuration>
<property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
</property>
</configuration>
  1. 配置yarn-site.xml

将yarn-site.xml的内容改成下面的配置。

<configuration>
<!-- Site specific YARN configuration properties -->
<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property>
</configuration>

Hadoop格式化及启动

经过前面的配置我们的hadoop基础配置已经完成了,接下来就是见证奇迹的时刻了,我们需要对Hadoop的namenode进行格式化,然后启动hadoop dfs服务。

  1. NameNode格式化
    我们跳转到hadoop的bin目录,并执行格式化命令
cd /usr/local/hadoop/bin
./hdfs namenode -format

执行结果如下图所示,当exit status 为0时,则为格式化成功。
图片描述

此时我们的hadoop已经格式化成功了,接下来我们去启动我们hadoop。

我们跳转到hadoop下的sbin目录

cd /usr/local/hadoop/sbin
./start-dfs.sh # 启动HDFS
./start-yarn.sh # 启动YARN

当我们执行./start-dfs.sh 如下图所示:
图片描述

到现在我们的伪分布式hadoop集群已经部署成功了,如果大家再启动hadoop的时候遇到了问题,大家可以查看对应的log文件查看是由什么问题引起的。
一般的问题比如,未设置JAVA_HOME hadoopdata目录不存在,或者无权限等等。

相信大家肯定可以顺利的配置出自己的伪分布式hadoop集群环境。然后开始愉快的学习。

注:其实单机版和分布式版的部署 在于配置文件的不同,其他的都一样,大家可以自己了解一下。

打开App,阅读手记
19人推荐
发表评论
随时随地看视频慕课网APP

热门评论

腾讯云实验室应该有吧

腾讯云实验室应该有吧

请问在配置免密登陆时,是给 hadoop 配置免密登录 ?还是 root ?我用的是 CentOS

查看全部评论