前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Hadoop基础环境配置

Hadoop基础环境配置

原创
作者头像
JonyChiao
修改2018-12-27 14:19:32
5050
修改2018-12-27 14:19:32
举报
文章被收录于专栏:大数据学习记录
代码语言:txt
复制
进行大数据开发一般都离不开Hadoop环境,Hadoop慢慢也变成了一个生态环境的代名词,这里记录一下Hadoop本地伪分布式环境的搭建。

本地环境

操作系统 : manjaro-64bit 内存 : 8GB CPU : i7-4770S

前期准备

Hadoop2.7.6,下载链接。 JDK1.8,下载链接

配置工作

解压和配置环境变量

  1. 将hadoop-2.7.6.tar.gz和jdk-8u191-linux-x64.tar.gz拷贝到本地~/apps目录下(这里我习惯将软件安装到自己创建的~/apps文件夹下),然后解压:
代码语言:txt
复制
tar xzvf hadoop-2.7.6.tar.gz
tar xzvf jdk-8u191-linux-x64.tar.gz
  1. 配置HADOOP_HOME和JAVA_HOME环境变量,修改当前用户~/.bashrc(如果使用的是zsh就是修改~/.zshrc),在文件尾添加如下内容:
代码语言:txt
复制
# JDK
export JAVA_HOME=/home/jony/apps/jdk1.8.0_191
export PATH=$JAVA_HOME/bin:$PATH

# HADOOP_HOME
export HADOOP_HOME=/home/jony/apps/hadoop-2.7.6
export PATH=$HADOOP_HOME/bin:$PATH
  1. 使环境变量生效:

如果是bash环境下:

代码语言:txt
复制
source ~/.bashrc

如果是zsh环境:

代码语言:txt
复制
source ~/.zshrc

配置HDFS

  1. 配置hadoop-2.7.6/etc/hadoop/core-site.xml,添加默认文件路径,配置内容如下:
代码语言:txt
复制
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:50000</value>
    </property>
</configuration>

这里如果自己配置了hostname,可以使用自己配置的hostname替换localhost,默认使用localhost,端口信息也可以自己指定为未使用的端口。

  1. 配置hadoop-2.7.6/etc/hadoop/hdfs-site.xml,配置namenode和datanode相关属性:
代码语言:txt
复制
<configuration>
    <property>
        <name>dfs.namenode.rpc-address</name>
        <value>localhost:50000</value>
    </property>
    <property>
        <name>dfs.namenode.http-address</name>
        <value>localhost:50070</value>
    </property>
    <property>
        <name>dfs.datanode.address</name>
        <value>localhost:50010</value>
    </property>
    <property>
        <name>dfs.datanode.http.address</name>
        <value>localhost:50075</value>
    </property>
    <property>
        <name>dfs.datanode.ipc.address</name>
        <value>localhost:50020</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/home/jony/apps/hadoop-2.7.6/tmp/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/home/jony/apps/hadoop-2.7.6/tmp/data/0,/home/jony/apps/hadoop-2.7.6/tmp/data/1,/home/jony/apps/hadoop-2.7.6/tmp/data/2</value>
    </property>
</configuration>

这里dfs.namenode.name.dir和dfs.datanode.data.dir可以根据自己的喜好进行配置,dfs.namenode.name.dir用于确定将HDFS文件系统的元信息保存在什么目录下。如果这个参数设置为多个目录,那么这些目录下都保存着元信息的多个备份。dfs.datanode.data.dir用于确定将HDFS文件系统的数据保存在什么目录下。

  1. 初次运行HDFS前需要先格式化HDFS,使用如下命令即可:
代码语言:txt
复制
hdfs namenode -format
  1. 前台启动namenode和datanode
代码语言:txt
复制
hdfs namenode
hdfs datanode
  1. 使用浏览器查看HDFS,在浏览器输入localhost:50070,注意50070端口是hdfs-site.xml中配置的dfs.namenode.http-address的值。如果能够看到相关页面信息,就代表HDFS配置成功了。
  2. 使用后台启动HDFS的namenode和datanode,因为前台启动一般是做调试用,正常生产环境下都是后台启动的,后台启动和停止namenode和datanode的方式如下:
代码语言:txt
复制
sbin/hadoop-daemon.sh start namenode
sbin/hadoop-daemon.sh start datanode
代码语言:txt
复制
sbin/hadoop-daemon.sh stop namenode
sbin/hadoop-daemon.sh stop datanode
  1. 使用HDFS的一些shell命令操作HDFS:
  2. 查看HDFS目录:
代码语言:txt
复制
hadoop fs -ls /
  • 创建文件夹:
代码语言:txt
复制
hadoop fs -mkdir /user/jony
  • 将本地文件上传到HDFS:
代码语言:txt
复制
  将本地~/test.txt文件上传到HDFS的/user/jony目录下:

  hadoop fs -put ~/test.txt /user/jony

  or

  hadoop fs -copyFromLocal ~/test.txt /user/jony

  查看是否上传成功:

  hadoop fs -ls /user/jony/test.txt
  • 查看HDFS上文件的内容:
代码语言:txt
复制
  hadoop fs -text /user/jony/test.txt

或者

代码语言:txt
复制
  hadoop fs -cat /user/jony/test.txt
  • 从HDFS上将文件拷贝到本地:
代码语言:txt
复制
  hadoop fs -get /user/jony/test.txt ~/test\_hdfs.txt

  or

  hadoop fs -copyToLocal /user/jony/test.txt ~/test\_hdfs.txt

配置YARN

  1. 配置hadoop-2.7.6/etc/hadoop/yarn-site.xml,添加默认文件路径,配置内容如下:
代码语言:txt
复制
<configuration>
    <property>
        <name>yarn.resourcemanager.webapp.address</name>
        <value>localhost:8088</value>
    </property>
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>localhost</value>
    </property>
    <property>
        <name>yarn.nodemanager.log-dirs</name>
        <value>/home/jony/apps/hadoop-2.7.6/tmp/yarn/0/logs,/home/jony/apps/hadoop-2.7.6/tmp/yarn/1/logs,/home/jony/apps/hadoop-2.7.6/tmp/yarn/2/logs</value>
    </property>
    <property>
        <name>yarn.nodemanager.local-dirs</name>
        <value>/home/jony/apps/hadoop-2.7.6/tmp/yarn/0/local,/home/jony/apps/hadoop-2.7.6/tmp/yarn/1/local,/home/jony/apps/hadoop-2.7.6/tmp/yarn/2/local</value>
    </property>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
</configuration>

yarn.nodemanager.log-dirs表示yarn日志存放地址(可配置多个目录)。yarn.nodemanager.local-dirs表示中间结果存放位置,这个参数通常会配置多个目录,以分摊磁盘IO负载。yarn.nodemanager.aux-services一般要配置为mapreduce_shuffle才能运行MapReduce程序。

  1. 配置hadoop-2.7.6/etc/hadoop/mapred-site.xml,添加默认文件路径,配置内容如下:
代码语言:txt
复制
<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <property>
        <name>mapreduce.jobhistory.address</name>
        <value>localhost:10020</value>
    </property>
    <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>localhost:19888</value>
    </property>
</configuration>
  1. 配置本地ssh免密登录,启动YARN时需要:
  2. 创建rsa密钥:
代码语言:txt
复制
ssh-keygen -t rsa
  • 加入authorized_keys:
代码语言:txt
复制
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
  1. 启动resourcemanager和nodemanager:
代码语言:txt
复制
sbin/yarn-daemon.sh start resourcemanager
sbin/yarn-daemon.sh start nodemanager
  1. 在浏览器查看YARN,输入http://localhost:8088
  2. 运行计算Pi的MapReduce程序测试YARN:
代码语言:txt
复制
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.6.jar pi 5 10
  1. 关闭resourcemanager和nodemanager:
代码语言:txt
复制
sbin/yarn-daemon.sh stop resourcemanager
sbin/yarn-daemon.sh stop nodemanager

总结

到此Hadoop基本环境就配置完成了,主要是配置了HDFS和YARN,并运行了简单的MapReduce程序来测试YARN环境的搭建是否正确。

HDFS是分布式文件系统,是大数据基础的存储管理系统,用于管理分布式文件的存储,实现分布式文件的高可用、线性扩展。

YARN是资源调度管理系统,负责在任务运行时调度集群资源给任务使用。

Hadoop生态还有很多内容,这里先不展开,后续用到其他的工具时再单独记录。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 本地环境
  • 前期准备
  • 配置工作
    • 解压和配置环境变量
    • 配置HDFS
      • 配置YARN
      • 总结
      相关产品与服务
      大数据
      全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档