ubuntu16.04 安装hadoop2.9.2版本

本文详细介绍了在Ubuntu系统上搭建Hadoop伪分布式环境的全过程,包括环境配置、SSH无密码登录设置、Hadoop安装与配置,以及核心配置文件core-site.xml、hdfs-site.xml、yarn-site.xml的修改指南。

JDK环境配置
可以参考博主之前的博客https://blog.csdn.net/zhongshijunacm/article/details/42677063

环境配置
1.1创建hadoop用户

$ sudo useradd -m hadoop -s /bin/bash  #创建hadoop用户,并使用/bin/bash作为shell
$ sudo passwd hadoop                   #为hadoop用户设置密码,之后需要连续输入两次密码
$ sudo adduser hadoop sudo             #为hadoop用户增加管理员权限
$ su - hadoop                          #切换当前用户为用户hadoop
$ sudo apt-get update                  #更新hadoop用户的apt,方便后面的安装

1.2安装SSH,设置SSH无密码登入

$ sudo apt-get install openssh-server   #安装SSH server
$ ssh localhost                         #登陆SSH,第一次登陆输入yes
$ exit                                  #退出登录的ssh localhost
$ cd ~/.ssh/                            #如果没法进入该目录,执行一次ssh localhost
$ ssh-keygen -t rsa 

输入完 $ ssh-keygen -t rsa 语句以后,需要连续敲击三次回车
之后再输入:

$ cat ./id_rsa.pub >> ./authorized_keys #加入授权
$ ssh localhost                         #此时已不需密码即可登录localhost,并可见下图。如果失败则可以搜索SSH免密码登录来寻求答案

安装hadoop
先下载hadoop,链接如下:
http://mirrors.hust.edu.cn/apache/hadoop/common/
下面进行安装:

$ sudo tar -zxvf  hadoop-2.6.0.tar.gz -C /usr/local    #解压到/usr/local目录下
$ cd /usr/local
$ sudo mv  hadoop-2.6.0    hadoop                      #重命名为hadoop
$sudo chmod 777 -R /usr/local/hadoop                       #修改文件权限

给hadoop配置环境变量,将下面代码添加到.bashrc文件:

export HADOOP_HOME=/usr/local/hadoop
export CLASSPATH=$($HADOOP_HOME/bin/hadoop classpath):$CLASSPATH
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

同样,执行source ~./bashrc使设置生效,并查看hadoop是否安装成功
伪分布式配置
Hadoop 可以在单节点上以伪分布式的方式运行,Hadoop 进程以分离的 Java 进程来运行,节点既作为 NameNode 也作为 DataNode,同时,读取的是 HDFS 中的文件。Hadoop 的配置文件位于 /usr/local/hadoop/etc/hadoop/ 中,伪分布式需要修改2个配置文件 core-site.xml 和 hdfs-site.xml 。Hadoop的配置文件是 xml 格式,每个配置以声明 property 的 name 和 value 的方式来实现。首先将jdk1.7的路径添(export JAVA_HOME=/usr/lib/jvm/java )加到hadoop-env.sh文件

b)配置.bashsc文件
sudo vim ~/.bashrc
·在文件末尾追加下面内容,然后保存。(注意路径)
#HADOOP VARIABLES START
export JAVA_HOME=/usr/java/jdk1.8.0_144
export HADOOP_INSTALL=/usr/local/hadoop
export PATH= P A T H : PATH: PATH:HADOOP_INSTALL/bin
export PATH= P A T H : PATH: PATH:HADOOP_INSTALL/sbin
export HADOOP_MAPRED_HOME= H A D O O P I N S T A L L e x p o r t H A D O O P C O M M O N H O M E = HADOOP_INSTALL export HADOOP_COMMON_HOME= HADOOPINSTALLexportHADOOPCOMMONHOME=HADOOP_INSTALL
export HADOOP_HDFS_HOME= H A D O O P I N S T A L L e x p o r t Y A R N H O M E = HADOOP_INSTALL export YARN_HOME= HADOOPINSTALLexportYARNHOME=HADOOP_INSTALL
export HADOOP_COMMON_LIB_NATIVE_DIR= H A D O O P I N S T A L L / l i b / n a t i v e e x p o r t H A D O O P O P T S = " − D j a v a . l i b r a r y . p a t h = HADOOP_INSTALL/lib/native export HADOOP_OPTS="-Djava.library.path= HADOOPINSTALL/lib/nativeexportHADOOPOPTS="Djava.library.path=HADOOP_INSTALL/lib"
·执行下面命令,使添加的环境变量生效:
source ~/.bashrc

c)Hadoop配置(伪分布式搭建)
·配置hadoop-env.sh
sudo vim /usr/local/hadoop/etc/hadoop/hadoop-env.sh

·添加如下内容:(注意jdk文件名)

The java implementation to use.

export JAVA_HOME=/usr/java/jdk1.8.0_144
export HADOOP=/usr/local/hadoop
export PATH=$PATH:/usr/local/hadoop/bin

·配置yarn-env.sh
sudo vim /usr/local/hadoop/etc/hadoop/yarn-env.sh
·添加如下内容:

export JAVA_HOME=/usr/java/jdk1.8.0_144

JAVA_HOME=/usr/java/jdk1.8.0_144

·配置core-site.xml,(这里的tmp.dir不用改,是缓存目录)
sudo vim /usr/local/hadoop/etc/hadoop/core-site.xml
插入如下内容
注意:将core-site.xml中原来的有的 < /configuration >一定要删除掉,不然后面格式化的时候会出错。即.xml文件中只有一个 < /configuration >对就可以。

hadoop.tmp.dir file:/usr/local/hadoop/tmp Abase for other temporary directories. fs.defaultFS hdfs://localhost:9000

·同样修改配置文件 hdfs-site.xml:
sudo vim /usr/local/hadoop/etc/hadoop/hdfs-site.xml
插入下列内容:(删除原有的)


dfs.replication
1


dfs.namenode.name.dir
file:/usr/local/hadoop/tmp/dfs/name


dfs.datanode.data.dir
file:/usr/local/hadoop/tmp/dfs/data

Hadoop配置文件说明
Hadoop 的运行方式是由配置文件决定的(运行 Hadoop 时会读取配置文件),因此如果需要从伪分布式模式切换回非分布式模式,需要删除 core-site.xml 中的配置项。
此外,伪分布式虽然只需要配置 fs.defaultFS 和 dfs.replication 就可以运行,不过若没有配置 hadoop.tmp.dir 参数,则默认使用的临时目录为 /tmp/hadoo-hadoop,而这个目录在重启时有可能被系统清理掉,导致必须重新执行 format 才行。
同时也指定 dfs.namenode.name.dir 和 dfs.datanode.data.dir,否则在接下来的步骤中可能会出错。

·配置yarn-site.xml
sudo vim /usr/local/hadoop/etc/hadoop/yarn-site.xml
·插入下列内容

<property> 
    <name>yarn.nodemanager.aux-services</name> 
    <value>mapreduce_shuffle</value> 
</property> 
<property> 
    <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name> 
    <value>org.apache.hadoop.mapred.ShuffleHandler</value> 
</property> 
<property> 
    <name>yarn.resourcemanager.address</name> 
    <value>127.0.0.1:8032</value> 
</property> 
<property> 
    <name>yarn.resourcemanager.scheduler.address</name> 
    <value>127.0.0.1:8030</value> 
</property> 
<property> 
    <name>yarn.resourcemanager.resource-tracker.address</name> 
    <value>127.0.0.1:8031</value> 
</property> 

d) 关机重启系统

主要是为了后期自己使用,建议更加详细的细节部分,自行参考后面参考资料的两篇博客。

参考资料

  1. https://www.cnblogs.com/87hbteo/p/7606012.html
  2. https://blog.csdn.net/kh896424665/article/details/78765175
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值