hadoop伪分布式(单机版)安装,Linux

一、下载

1、hadoop官网下载:https://archive.apache.org/dist/hadoop/common/

进入stable文件夹里下载,这是稳定版本。

[DIR] stable/ 
本文的版本是 hadoop-2.7.2.tar.gz 

2、jdk下载,JDK7及以上,本文用jdk8-64位

二、版本区别

2.5之前的版本,hadoop官网提供的都是32位编译的安装包。我们环境都是Linux64位的,需要用64位机子重新编译。
从2.5版本起,hadoop提供的都是64位编译的安装包,32位用不了。64位hadoop需要64位JDK7.0及以上和64位Linux。

-------在已安装了Linux 64位,下载了JDK8x64,HADOOPx64的环境下开始-------

三、添加用户hadoop

1、添加用户
首先以root登录Linux。用adduser命令添加一个普通用户,命令如下:
	#adduser hadoop//添加一个名为hadoop的用户,该用户随意取#passwd hadoop //修改密码Changing password for user hadoop.New UNIX password:     //在这里输入新密码Retype new UNIX password:  //再次输入新密码passwd: all authentication tokens updated successfully.

2、赋予hadoop,root权限
方法一:
修改 /etc/sudoers 文件,找到下面一行,把前面的注释(#)去掉
## Allows people in group wheel to run all commands
%wheel    ALL=(ALL)    ALL

然后修改用户,使其属于root组(wheel),命令如下:
#usermod -g root hadoop
修改完毕,用hadoop帐号登录,用命令 sudo ,即可获得root权限进行操作。
--------------------------------------
方法二:
修改 /etc/sudoers 文件,找到下面一行,在root下面添加一行,如下所示:
## Allow root to run any commands anywhere
root    ALL=(ALL)     ALL
hadoopALL=(ALL)     ALL

修改完毕,用hadoop帐号登录,用命令 sudo ,即可获得root权限进行操作。

四、修改主机名

hadoop登录
  sudo vim /etc/sysconfig/network
        NETWORKING=yes
        HOSTNAME=hello110    ###

  sudo hostname hello110 让修改生效,无需重启。

(修改了/etc/sysconfig/network必须重启才生效。hostname hello110是只对当前状态有效,一旦重新启动虚拟机,主机名未变。

五、修改主机名和IP的映射关系

        vim /etc/hosts

192.168.255.128(本机linuxIP地址)    hello110

六、关闭防火墙

#查看防火墙状态
        service iptables status
        #关闭防火墙
        service iptables stop
        #查看防火墙开机启动状态
        chkconfig iptables --list
        #关闭防火墙开机启动
        chkconfig iptables off

hadoop是公司内部使用,在公司内部网络,不与外网通,所以直接关掉防火墙好了,省的一个个去关闭hadoop的端口。

七、安装JDK

1、上传jdk安装包

alt+p 后出现sftp窗口,然后命令:put  windows上jdk安装包的路径\jdk安装包全名。上传到执行命令时hadoop用户所在的文件下。

2、解压jdk
        #创建文件夹
        mkdir /home/hadoop/app
        #解压
        tar -zxvf  jdk-8u73-linux-x64.tar.gz -C /home/hadoop/app

3、将java添加到环境变量中
        sudo vim /etc/profile
        #在文件最后添加
        export JAVA_HOME=/home/hadoop/app/jdk-8u73
        export PATH=$PATH:$JAVA_HOME/bin

4、 刷新配置
        source /etc/profile

八、安装hadoop

1、上传hadoop

tar -zxvf hadoop的压缩包 -C /home/hadoop/app

2、配置hadoop

hadoop2.x的配置文件$HADOOP_HOME/etc/hadoop需要修改5个配置文件

    第一个:hadoop-env.sh
        vim hadoop-env.sh
        #第27行
        export JAVA_HOME=/usr/java/jdk1.7.0_65

# The java implementation to use.
#export JAVA_HOME=${JAVA_HOME} sometime can not get.zengmg 这个${JAVA_HOME}有时候会拿不到,所以配置成固定的
export JAVA_HOME=/home/hadoop/app/jdk1.8.0_73/

不要配置成 /home/hadoop/app/jdk1.8.0_73/bin 了
----------------------------------------------------------------------------
    第二个:core-site.xml

        <!-- 指定HADOOP所使用的文件系统schema(URI),HDFS的老大(NameNode)的地址 -->
        <property>
            <name>fs.defaultFS</name>
            <value>hdfs://hello110:9000/</value>
</property>
这里最后的/ 可有可无,但是最好有。
<!-- 指定hadoop运行时产生文件的存储目录
hadoop公共进程在运行的时候会产生一些数据,这些数据需要目录来存放。
我们可以笼统地配置一个,让Namenote,Datanote自己去在这个文件夹下建子文件夹
但是生产上Namenote单独对一个目录,Datanote单独对一个目录,而且这个目录是单独磁盘挂载点,方便扩容
 -->
        
    <property>
            <name>hadoop.tmp.dir</name>
            <value>/home/hadoop/hadoop-2.4.1/tmp</value>
           <!--这里的tmp文件要手动创建,并且赋予全部权限  chmod 777  文件名
该文件用于保存NameNode的数据-->
    </property>
---------------------------------------------------------------------------------------------------
    第三个:hdfs-site.xml   hdfs-default.xml 
        <!-- 指定HDFS副本的数量 -->
        <property>
            <name>dfs.replication</name>
            <value>1</value>    
    </property>
群集时一般配置3个最合适。如果只有一台机子,配置1吧,多了无益,而且会报错。
-------------------------------------------------------------------------------------------------
    第四个:mapred-site.xml (mv mapred-site.xml.template mapred-site.xml)
        mv mapred-site.xml.template mapred-site.xml   修改文件名

        vim mapred-site.xml
        <!-- 指定mr运行在yarn上 -->
        <property>
            <name>mapreduce.framework.name</name>
            <value>yarn</value>
    </property>
---------------------------------------------------------------------------------------------------
    第五个:yarn-site.xml
        <!-- 指定YARN的老大(ResourceManager)的地址 -->
        <property>
            <name>yarn.resourcemanager.hostname</name>
            <value>hello110</value>
    </property>
        <!-- reducer获取数据的方式 -->
    <property>
            <name>yarn.nodemanager.aux-services</name>
            <value>mapreduce_shuffle</value>
     </property>
---------------------------------------------------------------------------------------------------------------------------------

3、将hadoop添加到环境变量

    vim /etc/proflie
        export JAVA_HOME=/usr/java/jdk1.7.0_65
        export HADOOP_HOME=/home/hadoop/hadoop-2.4.1/
        export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

:$HADOOP_HOME/bin 是 hadoop 的一些常用脚本
:$HADOOP_HOME/sbin  是启动关闭hadoop的一些脚本

    source /etc/profile

九、启动hadoop


    1、格式化namenode(是对namenode进行初始化)
        hdfs namenode -format (  hadoop namenode -format  )

    2、启动hadoop
        先启动HDFS
        sbin/start-dfs.sh

    3、再启动YARN
        sbin/start-yarn.sh

十、验证是否启动成功


        使用jps命令验证

        27408 NameNode
        28218 Jps
        27643 SecondaryNameNode
        28066 NodeManager
        27803 ResourceManager
        27512 DataNode 
-------------第一次的时候用的是2.4.1版本非稳定版,我jdk用了64位的jdk8。hadoop2.4.1的时候是32位的,导致不能启动 datanode,后来下载了最新稳定版hadoop2.7.1,解决了。

十一、上传文件测试


        http://192.168.255.128:50070 (HDFS管理界面)
        http://192.168.255.128:8088 (MR管理界面)

体验:将jdk压缩包上传到hadoop里面,命令如下
hadoop fs -put jdk.......  hdfs://hello110:9000 错误的命令
报错:-put: Pathname  from hdfs://hello110:9000 is not a valid DFS filename.

正确的命令:
hadoop fs -put jdk.......  hdfs://hello110:9000/    
 最后的/ 不能少啊,报错的原因是,无法访问说,网络连接不上说,让我折腾了好久说





本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/539747.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

城轨的两类时钟系统均同步于_基于两台SDS3000示波器同步产生“8通道”示波器...

在很多应用场合需要4通道以上的示波器&#xff0c;但是市面上极大部分示波器最多只有四通道&#xff0c;而且没有外部输入的同步时钟接口。 有什么快捷的方法获得更多通道功能的示波器&#xff1f; 最简便的方法是:将两台示波器的辅助输入信号作为触发源&#xff0c;同时连接到…

Linux设置ssh免密码登录

一、SSH来源 对于需要远程管理其它机器&#xff0c;一般使用远程桌面或者telnet。linux一般只能是telnet。但是telnet的缺点是通信不加密&#xff0c;存在不安全因素&#xff0c;只适合内网访问。 为解决这个问题&#xff0c;推出了通信加密通信协议&#xff0c;即SSH&#x…

解析json数据_Retrofit同时解析JSON和XML数据格式

前言Android开发中&#xff0c;我们会经常遇到前端需要解析两种数据格式(json和xml),比如自己服务器返回的是json格式的数据&#xff0c;我们做微信登录的时候&#xff0c;微信返回的格式又是xml格式的。我们可以通过自己编写Retrofit的ConverterFactory来做到可以同时解析两种…

jenkins+svn+maven+ssh 部署配置详细记录

2019独角兽企业重金招聘Python工程师标准>>> 先简单记录一下&#xff0c;后面再慢慢完善。 1、环境 jdk 1.7.0_45 maven 3.1.1 jenkins 2.3.21 jdk和maven的安装就不必多说了&#xff0c;主要是jenkins的安装需要说下&#xff0c;jenkins有war包和yum还有rpm等安装方…

Oracle 创建 DBLink 的方法

原文出处&#xff1a;http://blog.csdn.net/davidhsing/article/details/6408770 ------------------- 1、如果需要创建全局 DBLink&#xff0c;则需要先确定用户有创建 dblink 的权限&#xff1a; [c-sharp] view plaincopy print?select * from user_sys_privs where privi…

c++ 复制构造函数_C++学习刷题8--复制构造函数和赋值运算符重载函数

一、前言本部分为C语言刷题系列中的第8节&#xff0c;主要讲解这几个知识点&#xff1a;复制构造函数和赋值运算符重载函数。欢迎大家提出意见、指出错误或提供更好的题目&#xff01;二、知识点讲解知识点1&#xff1a;复制构造函数1、当依据一个已存对象创建一个新对象时&…

ORACLE使用WITH AS和HINT MATERIALIZE优化SQL解决FILTER效率低下

原文&#xff1a;http://blog.csdn.net/liangweiwei130/article/details/37882503 ------------------------------------------------- 在做项目的过程中&#xff0c;一个页面使用类似如下的SQL查询数据&#xff0c;为了保密和使用方便&#xff0c;我把项目中有关的表名和字段…

面试题333

2019独角兽企业重金招聘Python工程师标准>>> 面试题333 博客分类&#xff1a; java 1、spring的缓存,mybatis缓存2、介绍下dubbo。A服务调用B服务&#xff0c;B服务又调用C服务,这种情况怎么办3、JVM监控工具有哪些&#xff0c;区别又是什么&#xff08;如能追上各个…

xpath选择当前结点的子节点

2019独角兽企业重金招聘Python工程师标准>>> xpath选择当前结点的子节点 博客分类&#xff1a; 搜索引擎&#xff0c;爬虫 在通过selenium使用xpath选择节点的时候&#xff0c;可能会遇到这么一种情况&#xff1a;在指定的当前节点下搜索满足要求的节点。 node dri…

Spark 独立部署模式

2019独角兽企业重金招聘Python工程师标准>>> Spark 独立部署模式 博客分类&#xff1a; spark 除了在 Mesos 或 YARN 集群上运行之外, Spark 还提供一个简单的独立部署的模块。你通过手动开始master和workers 来启动一个独立的集群。你也可以利用我们提供的脚本 .…

spring boot 1.5.4 定时任务和异步调用(十)

1 Spring Boot定时任务和异步调用 我们在编写Spring Boot应用中经常会遇到这样的场景&#xff0c;比如&#xff1a;我需要定时地发送一些短信、邮件之类的操作&#xff0c;也可能会定时地检查和监控一些标志、参数等。 spring boot定时任务spring-boot-jsp项目源码&#…

MySQL左连接还有过滤条件_MySQL左连接问题,右表做筛选,左表列依然在?

问 题原料两张表&#xff0c;一张user表&#xff0c;一张user_log表(这个例子举的不好)CREATE TABLE user (id int(11) NOT NULL AUTO_INCREMENT,name varchar(20) DEFAULT NULL,PRIMARY KEY (id)) ENGINEInnoDB DEFAULT CHARSETutf8;CREATE TABLE user_log (id int(10) NOT NU…

你真的了解iOS怎么取属性的吗?

你真的了解iOS怎么取属性的吗&#xff1f; 本文来自CocoaChina粉丝FlyOceanFish投稿如果iOS中谈到取属性&#xff0c;相信大家都会夸夸其谈&#xff0c;不就是get方法吗&#xff1f;或者大谈kvc取属性的机制。不得不说这些也是对的。这时大家可能就疑惑了&#xff0c;那你还要说…

10年老兵给程序员的10条建议!

2019独角兽企业重金招聘Python工程师标准>>> 程序员虽然薪资待遇好&#xff0c;但是也得付出努力&#xff0c;技术好才行。特别是对于刚刚进入编程工作的新手程序员和正在学习编程的同学来说&#xff0c;一写代码就报错&#xff0c;出bug。作为一个工作了10年的老兵…

2017阿里技术年度精选(全)

2019独角兽企业重金招聘Python工程师标准>>> 2017年&#xff0c;在技术发展的历史上&#xff0c;一定是个特别的一年&#xff1a;柯洁与AlphaGo的惊世大战&#xff0c;无人咖啡店开放体验&#xff0c;AI设计师“鲁班”横空出世、三年投入千亿的达摩院正式成立…… 这…

查询Oracle正在执行的sql语句,锁表,解锁

原文出处&#xff1a;http://blog.csdn.net/jlds123/article/details/6572559 ----------------------- --查询Oracle正在执行的sql语句及执行该语句的用户 [sql] view plaincopy SELECT b.sid oracleID, b.username 登录Oracle用户名, b.serial#, …

xampp for mac mysql_xampp for mac下载-Xampp Mac版下载 V7.3.2-PC6苹果网

Xampp for mac是目前时下最流行的PHP开发环境&#xff0c;XAMPP是完全免费且易于安装的Apache发行版&#xff0c;其中包含MySQL、PHP和Perl。XAMPP开放源码包的设置让安装和使用出奇容易。整合型的Apache套件。XAMPP包括Apache、MySQL、PHP、PERL&#xff0c;直接解压缩&#x…

15.2. important

<para><important>Text goes here.</important></para>重要Text goes here.原文出处&#xff1a;Netkiller 系列 手札 本文作者&#xff1a;陈景峯 转载请与作者联系&#xff0c;同时请务必标明文章原始出处和作者信息及本声明。

linux python2.7 scipy_scipy.sparse.linalg.sp为Linux系统上的大型稀疏矩阵解决了令人惊讶的行为...

我正在计算一个线性系统Ax b的解决方案&#xff0c;其中A具有一个大的(通常200,000行和相关的密集矩阵的列)稀疏矩阵和ba稀疏矩阵&#xff0c;大约100列。当我在Windows系统上运行代码(Python2.7&#xff0c;scipy0.14.0)时&#xff0c;以下命令fromscipy.sparse.linalgimport…

简简单单的代码让你轻松学会 动态代理

原文出处&#xff1a;http://weixiaolu.iteye.com/blog/1477774 -------------------------------------------------------------------------- 简简单单的代码让你轻松学会动态代理 前言&#xff1a; 最近一直在分析hadoop的RPC机制。在hadoop中&#xff0c;DataNode和Na…