Ubuntu14.04下单机、伪分布式配置Hadoop2.7.2

2024-05-03 09:08

本文主要是介绍Ubuntu14.04下单机、伪分布式配置Hadoop2.7.2,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.在Ubuntu14.04下创建hadoop组和hadoop用户
增加hadoop用户组,同时在该组里增加hadoop用户,后续在涉及到hadoop的操作时,均使用该用户。
1、创建hadoop用户组
这里写图片描述

2、创建hadoop用户
sudo adduser -ingroup hadoop hadoop
回车后会提示输入新的UNIX密码,这是新建用户hadoop的密码,输入回车即可。
如果不输入密码,回车后会重新提示输入密码,即密码不能为空。
最后确认信息是否正确,如果没问题,输入 Y,回车即可。
这里写图片描述

3、为hadoop用户添加权限
输入:sudo gedit /etc/sudoers
回车,打开sudoers文件
给hadoop用户赋予和root用户同样的权限
这里写图片描述

创建hadoop用户

如果你安装Ubuntu的时候不是用的hadoop用户,那么需要增加一个名为hadoop的用户,并将密码设置为hadoop。

创建用户

sudo useradd hadoop
修改密码为hadoop,按提示输入两次密码

sudo passwd hadoop
给hadoop用户创建目录,方可登陆

sudo mkdir /home/hadoop
sudo chown hadoop /home/hadoop

可考虑为 hadoop 用户增加管理员权限,方便部署,避免一些权限不足的问题:

sudo adduser hadoop sudo
最后注销当前用户,使用hadoop用户进行登陆。

安装SSH server、配置SSH无密码登陆

Ubuntu默认安装了SSH client,还需要安装SSH server。

sudo apt-get install openssh-server
集群、单节点模式都需要用到SSH无密码登陆,首先设置SSH无密码登陆本机。

输入命令

ssh localhost
会有如下提示(SSH首次登陆提示),输入yes。

SSH首次登陆提示SSH首次登陆提示

然后按提示输入密码hadoop,这样就登陆到本机了。但这样的登陆是需要密码的,需要配置成无密码登陆。

先退出刚才的ssh,然后生成ssh证书:

exit # 退出 ssh localhost
cd ~/.ssh # 如果没有该目录,先执行一次ssh localhost
ssh-keygen -t rsa # 一直按回车就可以
cp id_rsa.pub authorized_keys
此时再用ssh localhost命令,就可以直接登陆了。
http://www.linuxidc.com/Linux/2015-02/113487.htm

四、安装hadoop
1.首先到https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/stable/下载hadoop-2.7.2.tar.gz
2.解压并放在你希望的目录中。我放到了/usr/local/hadoop
sudotarxzfhadoop2.7.2.tar.gz sudo mv hadoop-2.7.2 /usr/local/hadoop
3.要确保所有的操作都是在用户hdsuer下完成的:
sudochownRhduser:hadoop/usr/local/hadoop /.bashrc1.hadoophduser su - hduser
2..查看java安装路径
update-alternatives - -config java

完整的路径为: /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java
我们只取前面的部分 /usr/lib/jvm/java-7-openjdk-amd64
3.修改配置文件bashrc
$ sudo gedit ~/.bashrc

在文件末尾追加下面内容

HADOOP VARIABLES START

export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
export HADOOP_INSTALL=/usr/local/hadoop
export PATH= PATH: HADOOP_INSTALL/bin
export PATH= PATH: HADOOP_INSTALL/sbin
export HADOOP_MAPRED_HOME= HADOOPINSTALLexportHADOOPCOMMONHOME= HADOOP_INSTALL
export HADOOP_HDFS_HOME= HADOOPINSTALLexportYARNHOME= HADOOP_INSTALL
export HADOOP_COMMON_LIB_NATIVE_DIR= HADOOPINSTALL/lib/nativeexportHADOOPOPTS=Djava.library.path= HADOOP_INSTALL/lib”

HADOOP VARIABLES END

4.修改/usr/local/hadoop/etc/hadoop/hadoop-env.sh
sudogedit/usr/local/hadoop/etc/hadoop/hadoopenv.shJAVAHOMEexportJAVAHOME=/usr/lib/jvm/java7openjdkamd64wordcountwordcount1.hadoopinput cd /usr/local/hadoop/
mkdirinput2.README.txtinput sudo cp README.txt input
3.运行wordcount程序,并将输出结果保存在output文件夹下

每次重新执行wordcount程序的时候,都需要先把output文件夹删除!否则会出错

$ bin/hadoop jar share/hadoop/mapreduce/sources/hadoop-mapreduce-examples-2.7.2-sources.jar org.apache.hadoop.examples.WordCount input output

4.查看字符统计结果
$ cat output/*

七、伪分布模式配置
1.修改2个配置文件 core-site.xml 和 hdfs-site.xml,配置文件位于 /usr/local/hadoop/etc/hadoop/ 中
首先在hadoop目录下创建几个文件夹:
cd/usr/local/hadoop mkdir tmp
mkdirtmp/dfs mkdir tmp/dfs/data
mkdirtmp/dfs/namecoresite.xml sudo gedit etc/hadoop/core-site.xml
修改为以下配置:


hadoop.tmp.dir
file:/usr/local/hadoop/tmp
Abase for other temporary directories.


fs.defaultFS
hdfs://localhost:9000


修改hdfs-site.xml:
$ sudo gedit 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


2.执行NameNode 的格式化
./bin/hdfs namenode -format
注意!只有刚创建hadoop集群的时候才需要格式化,不能对一个运行中的hadoop文件系统(HDFS)格式化,否则会丢失数据!!
成功的话,会看到 “successfully formatted” 和 “Exitting with status 0” 的提示,若为 “Exitting with status 1” 则是出错。

3.启动hadoop
执行start-all.sh来启动所有服务,包括namenode,datanode.
startall.shError:Cannotfindconfigurationdirectory:/etc/hadoophadoopenv.shhadoop sudo gedit etc/hadoop/hadoop-env.sh
加上export HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop
修改后如下图:

sourceetc/hadoop/hadoopenv.sh start-all.sh

启动时可能会出现如下 WARN 提示:WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable。该 WARN 提示可以忽略,并不会影响正常使用
4.通过jps命令判断是否成功启动:

出现这种情况后,在计算机中搜索jps,由于我的java安装路径是:/opt/jdk1.8.0_91,所以jps位于:/opt/jdk1.8.0_91/bin
cd/opt/jdk1.8.091/bin ./jps
若成功启动则会列出如下进程: “NameNode”、”DataNode” 和 “SecondaryNameNode”

5.通过web界面查看hdfs信息
转到http://localhost:50070/即可查看
如果不能加载出http://localhost:50070/,则可能通过下面的方法解决:
先执行NameNode 的格式化
./bin/hdfsnamenodeformatY/NYY/NYY/NYstartall.sh start-all.sh
然后执行jps命令
cd/opt/jdk1.8.091/bin ./jps
再次转到网址http://localhost:50070/,就可以正常加载了。
6.停止运行hadoop
$ stop-all.sh
出现了no datanode to stop的提示:

解决方法:
在stop-all.sh之后,删除/tmp/dfs/data以及/tmp/dfs/name下的所有内容,如下图所示,均包含一个current文件夹:
因此只需删除current文件夹

删除之后,再次格式化namenode、启动所有服务start-all.sh、并停止stop-all.sh,就可以正常stop datanode了。

http://www.cnblogs.com/kinglau/p/3794433.html
http://blog.csdn.net/panglinzhuo/article/details/51317719

这篇关于Ubuntu14.04下单机、伪分布式配置Hadoop2.7.2的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/956369

相关文章

SpringBoot3.4配置校验新特性的用法详解

《SpringBoot3.4配置校验新特性的用法详解》SpringBoot3.4对配置校验支持进行了全面升级,这篇文章为大家详细介绍了一下它们的具体使用,文中的示例代码讲解详细,感兴趣的小伙伴可以参考... 目录基本用法示例定义配置类配置 application.yml注入使用嵌套对象与集合元素深度校验开发

C#使用StackExchange.Redis实现分布式锁的两种方式介绍

《C#使用StackExchange.Redis实现分布式锁的两种方式介绍》分布式锁在集群的架构中发挥着重要的作用,:本文主要介绍C#使用StackExchange.Redis实现分布式锁的... 目录自定义分布式锁获取锁释放锁自动续期StackExchange.Redis分布式锁获取锁释放锁自动续期分布式

IntelliJ IDEA 中配置 Spring MVC 环境的详细步骤及问题解决

《IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决》:本文主要介绍IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决,本文分步骤结合实例给大... 目录步骤 1:创建 Maven Web 项目步骤 2:添加 Spring MVC 依赖1、保存后执行2、将新的依赖

SpringBoot基于配置实现短信服务策略的动态切换

《SpringBoot基于配置实现短信服务策略的动态切换》这篇文章主要为大家详细介绍了SpringBoot在接入多个短信服务商(如阿里云、腾讯云、华为云)后,如何根据配置或环境切换使用不同的服务商,需... 目录目标功能示例配置(application.yml)配置类绑定短信发送策略接口示例:阿里云 & 腾

如何为Yarn配置国内源的详细教程

《如何为Yarn配置国内源的详细教程》在使用Yarn进行项目开发时,由于网络原因,直接使用官方源可能会导致下载速度慢或连接失败,配置国内源可以显著提高包的下载速度和稳定性,本文将详细介绍如何为Yarn... 目录一、查询当前使用的镜像源二、设置国内源1. 设置为淘宝镜像源2. 设置为其他国内源三、还原为官方

CentOS7更改默认SSH端口与配置指南

《CentOS7更改默认SSH端口与配置指南》SSH是Linux服务器远程管理的核心工具,其默认监听端口为22,由于端口22众所周知,这也使得服务器容易受到自动化扫描和暴力破解攻击,本文将系统性地介绍... 目录引言为什么要更改 SSH 默认端口?步骤详解:如何更改 Centos 7 的 SSH 默认端口1

Maven的使用和配置国内源的保姆级教程

《Maven的使用和配置国内源的保姆级教程》Maven是⼀个项目管理工具,基于POM(ProjectObjectModel,项目对象模型)的概念,Maven可以通过一小段描述信息来管理项目的构建,报告... 目录1. 什么是Maven?2.创建⼀个Maven项目3.Maven 核心功能4.使用Maven H

SpringBoot多数据源配置完整指南

《SpringBoot多数据源配置完整指南》在复杂的企业应用中,经常需要连接多个数据库,SpringBoot提供了灵活的多数据源配置方式,以下是详细的实现方案,需要的朋友可以参考下... 目录一、基础多数据源配置1. 添加依赖2. 配置多个数据源3. 配置数据源Bean二、JPA多数据源配置1. 配置主数据

Spring 基于XML配置 bean管理 Bean-IOC的方法

《Spring基于XML配置bean管理Bean-IOC的方法》:本文主要介绍Spring基于XML配置bean管理Bean-IOC的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一... 目录一. spring学习的核心内容二. 基于 XML 配置 bean1. 通过类型来获取 bean2. 通过

如何使用Nginx配置将80端口重定向到443端口

《如何使用Nginx配置将80端口重定向到443端口》这篇文章主要为大家详细介绍了如何将Nginx配置为将HTTP(80端口)请求重定向到HTTPS(443端口),文中的示例代码讲解详细,有需要的小伙... 目录1. 创建或编辑Nginx配置文件2. 配置HTTP重定向到HTTPS3. 配置HTTPS服务器