前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Hadoop伪分布式集群安装部署

Hadoop伪分布式集群安装部署

作者头像
Spark学习技巧
发布2018-01-31 10:45:08
8640
发布2018-01-31 10:45:08
举报
文章被收录于专栏:Spark学习技巧

一、 准备环境

1, 安装简介

Java-- jdk-8u121-linux-x64.tar.gz

Hadoop--hadoop-2.7.4.tar.gz (jdk1.7会报错)

本系列教程所有jar包,请关注微信公众号 :Spark高级玩法,输入software获取。

二, 修改主机名

2.1查看主机名

hostname

2.2 修改/etc/sysconfig/network文件

修改前

修改后

2.3 立即生效

假如只是完成了步骤2.2,实际上只是修改了静态配置,重启的时候才会生效,要想立即生效,可以输入

2.4 修改/etc/hosts

3, 安装java

主要就是配置一下JAVA_HOME。在这之前,由于采用的系统往往都带有openjdk,所以要先卸载。

rpm -qa |grep java

rpm -e --nodeps [java]

然后,配置JAVA_HOME及命令系统环境变量

Java的解压路径

配置环境变量,vi /etc/profile

三、 安装hadoop

配置伪分布式集群,学习来用实际上很简单。跟着下面的步骤,保证能成功。

1, 配置hadoop-env.sh,yarn-env.sh,mepre-env.sh

主要是在这三个文件的开头加上JAVA_HOME,不配置的话他们会自动从环境变量里面获取。配置为了显示指定JAVA版本环境。

export JAVA_HOME=/opt/modules/jdk1.8.0_121

默认情况下是这样的:

2,配置core-site.xml

代码语言:js
复制
<property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/modules/hadoop-2.7.4/data/tmp</value>
    </property>
                <property>
        <name>fs.defaultFS</name>
        <value>hdfs://Luffy.OnePiece.com:8020</value>
</property>

这里之所以要配置,hostname而不是ip,主要是我们的ip,尤其是虚拟机的ip,会变动,所以为了避免频繁梗概配置文件,就采用hostname。

hadoop.tmp.dir 是hadoop文件系统依赖的基础配置,很多路径都依赖它。如果hdfs-site.xml中不配置namenode和datanode的存放位置,默认就放在这个路径中。先创建该目录:mkdir -p /opt/modules/hadoop-2.7.4/data/tmp/

3,配置hdfs-site.xml

代码语言:js
复制
<property>
    <name>dfs.replication</name>
    <value>1</value>
</property>

简单的学习,伪分布式只需要将副本数配置为1(只有一个datanode实例).

4,配置mapred-site.xml

代码语言:js
复制
<property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
</property>

Mapreduce的运行模式,常用的就是yarn(生产),local(测试)两种模式。

5,配置yarn-site.xml

代码语言:js
复制
<property>
    <name>yarn.resourcemanager.hostname</name>
    <value>Luffy.OnePiece.com</value>
</property>
<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property>

yarn.nodemanager.aux-services 这个属性,常用的还有spark_shuffle,后面讲到Spark的安装配置的时候我们会讲到。

6,配置slaves

此文件,可以配置也可以不配,不配的话需要逐台去启动从节点。

我们配置未前面说的修改后的主机名

Luffy.OnePiece.com

7,配置hadoop环境变量

其实,配置到6小步骤的时候,就可以启动伪分布式模式了,但是很多小白曾经在我博客上留言说,少配置了系统环境变量。就是由于命令sbin/yarn-daemon.sh start resourcemanager类似这些,都是需要使用绝对路径或者相对路径,而不是直接使用

yarn-daemon.sh。其实这样做的目的是方便多版本测试,否则你没测试一个版本都要重建环境变量(当然也可以使用同名链接的方式)。

代码语言:js
复制
vi /etc/profile
export HADOOP_HOME=/opt/modules/hadoop-2.7.4/
export HADOOP_PREFIX=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

生效:

重启,或者再root模式下执行source /etc/profile

四、 测试wc

1, 启动hdfs

格式化,hdfs,然后启动hdfs相关的服务

代码语言:js
复制
$hdfs namenode -format
$hadoop-daemon.sh start namenode
$hadoop-daemon.sh start datanode

jps查看进程

这个时候可以访问我们的hdfs的50070端口,前提是windows和linux网络是通畅的,使用主机名的话也要讲主机和ip映射C:WindowsSystem32driversetcHOSTS文件

在浏览器输入Luffy.OnePiece.com:50070

2,启动yarn

代码语言:js
复制
$yarn-daemon.sh start resourcemanager
$yarn-daemon.sh start nodemanager

3,跑wordcount案例

准备好数据

运行

代码语言:js
复制
yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.4.jar wordcount input/ output

console输出

Yarn的Web界面

结果

五,总结

hadoop伪分布式适合我们平时验证性学习,实际上也可以帮助我们快速学习入门其它的框架比如hive,hbase,spark等。搭建集群,我们学习用的机器一般是不允许的,所以此时采用hadoop伪分布式模式

推荐阅读:

1,hadoop系列之基础系列

2,hadoop系列之深入优化

3,SparkSql的优化器-Catalyst

4,大数据基础系列之kafka知识点和优点

5,Spark源码系列之foreach和foreachPartition的区别

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-11-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 浪尖聊大数据 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档