大数据入门_大数据入门吧-程序员宅基地

技术标签: 大数据学习  虚拟化  hadoop  大数据  

刚开始接触大数据生态圈,经过两周的努力终于在自己实验室的机子上搭建成功了hadoop环境(伪分布模式),对于所有涉及到的知识全部是第一次学习和实践,包括虚拟机安装、虚拟化相关知识、虚拟机上安装Ubuntu系统、终端、控制台常用Linux命令、Xshell实现远程访问、文件互传(这个之前有用过)等。

PS:

Hadoop伪分布模式:

Hadoop在单节点上以伪分布的方式进行,Hadoop进程以分离的java进程运行,节点既作为NameNode也作为DataNode,同时读取的是HDFS的文件。其守护进程运行在本地机器上,模拟一个小规模的集群。

常用Linux命令可以参考我的另一篇博客:Linux命令,不是很全只是汇总最近用到的基本命令。

版本信息:

Hadoop 2.8.1

jdk1.8.0_144

Ubuntu14.04LTS

VMware-workstation14.04

以下大致讲述以下hadoop伪分布模式搭建过程(假设已经安装了虚拟机和Ubuntu操作系统):

1、新建hadoop用户(在此用户下搭建环境)并让用户拥有root权限

adduser hadoop

sudo vim /etc/sudoers

将文件修改为:
# User privilege specification
root ALL=(ALL) ALL
hadoop ALL=(ALL) ALL
保存退出,hadoop用户就拥有了root权限

2、安装SSH并配置SSH免密登录

安装SSH server

sudo apt-get install openssh-server

ssh免密登录:
先退出刚才的ssh,然后生成ssh证书:
exit                           # 退出 ssh localhost
cd ~/.ssh                      # 如果没有该目录,先执行一次ssh localhost
ssh-keygen -t rsa              # 一直按回车就可以
cp id_rsa.pub authorized_keys
此时再用ssh localhost命令,就可以直接登陆

3、安装JDK并配置环境变量

创建目录(目录可以自定):
sudo mkdir /usr/lib/jvm

将已经下载好的jdk解压至usr/lib/jvm

sudo tar -zxvf /home/hadoop/jdk-8u144-linux-x64.tar.gz -C /usr/lib/jvm/


修改环境变量:  
sudo vim ~/.bashrc
文件的末尾追加下面内容:
#set oracle jdk environment
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_144  ## 这里要注意目录要换成自己解压的jdk 目录
export JRE_HOME=${JAVA_HOME}/jre  
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib  
export PATH=${JAVA_HOME}/bin:$PATH


使环境变量马上生效
source ~/.bashrc

可以使用 java -version 验证是否安装成功

4、hadoop安装

将下载好的压缩文件解压至你想安装的目录(我的/usr/local,网上大多数都是安装在此目录下~~)

sudo tar -zxvf /home/hadoop/hadoop-2.8.1.tar.gz  -C /usr/local

cd /

cd /usr/local

sudo mv ./hadoop-2.8.1 hadoop #重命名为hadoop

sudo chown -R  hadoop ./hadoop #修改文件权限

查看hadoop是否可用,成功即显示版本信息

cd /usr/local/hadoop

./bin/hadoop version

5、hadoop伪分布模式配置

hadoop的配置文件位于/usr/local/hadoop/etc/hadoop中,需要修改3个配置文件core-site.xml、hdfs-site.xml和hadoop-env.sh

core-site.xml修改为如下所示:

<configuration>
<property>
             <name>hadoop.tmp.dir</name>
             <value>file:/usr/local/hadoop/tmp</value>
             <description>Abase for other temporary directories.</description>
        </property>
        <property>
             <name>fs.defaultFS</name>
             <value>hdfs://localhost:9000</value>
        </property>
</configuration>

hdfs-site.xml修改为如下所示:

<configuration>
<property>
             <name>dfs.replication</name>
             <value>1</value>
        </property>
        <property>
             <name>dfs.namenode.name.dir</name>
             <value>file:/usr/local/hadoop/tmp/dfs/name</value>
        </property>
        <property>
             <name>dfs.datanode.data.dir</name>
             <value>file:/usr/local/hadoop/tmp/dfs/data</value>
        </property>
</configuration>

hadoop-env.sh修改为如下所示:

# The java implementation to use.
export JAVA_HOME=${JAVA_HOME}

在JAVA-HOME后追加
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_144

配置完成后,执行NameNode的格式化:

相对路径 ./bin/hafs namenode  -format

接着开启NameNode和DataNode守护进程

./sbin/start-dfs.sh

启动成功后可以输入jps来判断是否成功启动。

成功启动后,可以访问web界面http://localhost:50070(注:如果是在虚拟中安装的hadoop并且想在本地机子中访问的话把localhost换成虚拟机的IP即可)。查看namenode和DataNode信息,还可以在线查看HDFS的文件。

新版的hadoop使用了新的MapReduce框架-YARN

YARN是从MapReduce中分离出来的,负责资源管理与任务调度。yarn运行于MapReduce之上,提供了高可用性、高扩展性。在启动hadoop后可以启动yarn来负责资源管理和任务调度。

首先修改配置文件mapred-site.xml,这边需要先进行重命名:

sudo mv ./etc/hadoop/mapred-site.xml.template ./etc/hadoop/mapred-site.xml
然后再进行编辑
sudo vim ./etc/hadoop/mapred-site.xml :
<configuration>
        <property>
             <name>mapreduce.framework.name</name>
             <value>yarn</value>
        </property>
</configuration>
接着修改配置文件 yarn-site.xml:
<configuration>
        <property>
             <name>yarn.nodemanager.aux-services</name>
             <value>mapreduce_shuffle</value>
            </property>
</configuration>
然后就启动 YARN 
./sbin/start-yarn.sh      # 启动YARN
./sbin/mr-jobhistory-daemon.sh start historyserver  # 开启历史服务器,才能在Web中查看任务运行情况
开启后通过 jps 查看,可以看到多了 NodeManager 和 ResourceManager 两个后台进程
启动 YARN后可以通过 Web 界面查看任务的运行情况:http://localhost:8088/cluster。localhost同上

至此,hadoop伪分布模式搭建成功。

一言以蔽之:最近沉迷于学习无法自拔。

如果您觉得写的还可以,请您打赏给撰稿人,打赏多少您随意,谢谢:


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u012284395/article/details/78006791

智能推荐

使用apipost工具快速生成在线接口文档_api接口文档生成 apipost-程序员宅基地

文章浏览阅读2.3k次。ApiPost是一个支持团队协作,并可直接生成文档的API调试、管理工具。它支持模拟POST、GET、PUT等常见请求,是后台接口开发者或前端、接口测试人员不可多得的工具 。使用者不仅可以利用apiopst调试接口,还可以书写相关注释(接口文档),方便的生成可读性好、界面美观的在线接口文档。本文主要包含以下内容:介绍ApiPost工具,它能做什么下载、安装的方法一些常用的操作介绍一些使用技巧前言:apipost能做什么?ApiPost是一个支持团队协作,并可直接生成文档的AP_api接口文档生成 apipost

anaconda 升级 python_anaconda 升级python3.7-程序员宅基地

文章浏览阅读2.1w次,点赞16次,收藏36次。环境:Windows10 python版本:3.7先更新condaconda upgrade conda# 如果上一步更新失败,执行这个命令即可conda update--force conda第二步更新anacondaconda update anaconda第三步,安装python,这个命令默认升级到最新版本conda install python如需指定版本conda install python=3.8..._anaconda 升级python3.7

android+5.1+内存泄漏,5个Android开发中比较常见的内存泄漏问题及解决办法-程序员宅基地

文章浏览阅读117次。android中一个对象已经不需要了,但是其他对象还持有他的引用,导致他不能回收,导致这个对象暂存在内存中,这样内存泄漏就出现了。内存泄漏出现多了,会是应用占用过多的没存,当占用的内存超过了系统分配的内存容量,就会出现内存溢出了导致应用Crash.了解了内存泄漏的原因及影响后,我们需要做的就是掌握常见的内存泄漏,并在以后的Android程序开发中,尽量避免它。下面搜罗了5个Android开发中比较..._安卓5 besthttp 内存泄漏

tomcat版本_appears to have started a thread named [activemq i-程序员宅基地

文章浏览阅读3k次。tomcat版本使用6.0.33的时候会出现很多问题,此版本引入了内存管理机制,很多jar包不符合标准。会出现如下等信息十一月 18, 2011 2:17:12 下午 org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc严重: The web application registered the JDBC driv_appears to have started a thread named [activemq inactivitymonitor worker] b

HCIA静态路由实验报告_路由实训目的-程序员宅基地

文章浏览阅读844次。HCIA静态路由实验报告实验日期: 2020年11月4日课程名称: HCIA实验名称: 静态路由HCIA一、实验目的熟练掌握华为静态路由配置命令二、实验内容三、概要设计1、划分地址,配置IP2、静态路由配置3、单臂路由配置4、NAT四、详细设计1、划分地址,配置IP2、静态路由1)静态路由2)路径备份(浮动静态路由)3)空接口防环3、单臂路由SW2同理..._路由实训目的

DataFrame求某列数据的均值,方差等统计数_dataframe计算某列平均值-程序员宅基地

文章浏览阅读1.1w次,点赞13次,收藏75次。DataFrame求某列数据的均值,方差等统计数_dataframe计算某列平均值

随便推点

.net用BouncyCastle进行签名&加解密_.net bouncycastle-程序员宅基地

文章浏览阅读1.4w次。.net用BouncyCastle进行签名&加解密_.net bouncycastle

sklearn.metrics.f1_score 使用方法-程序员宅基地

文章浏览阅读2.8w次,点赞14次,收藏74次。原网站:sklearn官网使用sklearn计算 F1 scoresklearn.metrics.f1_score(y_true, y_pred, labels=None, pos_label=1, average='binary', sample_weight=None, zero_division='warn')计算F1分数,也称为平衡F分数或F测度F1分数可..._metrics.f1_score

python 画子图+双坐标轴图_python 双坐标轴-程序员宅基地

文章浏览阅读1.5k次。python 画子图+双坐标轴图_python 双坐标轴

解决包含 GitHub Actions Workflow 的分支无法推送的问题_refusing to allow an oauth app to create or update-程序员宅基地

文章浏览阅读1.5k次。问题试图向 GitHub 推送一个分支的时候,出现错误 refusing to allow an OAuth App to create or update workflow {0} without workflow scope。这个错误是说,因为 OAuth 的应用没有指定 workflow 范围,所以无法推送带有更新 workflow 的分支。虽然我实际上没有对 workflow 做任何更新,但也被拒绝了。所以这个问题必须直接解决,绕不开。git.exe push self master:t/w_refusing to allow an oauth app to create or update workflow `.github/workflo

MySQL:向已有数据表中插入新的一列数据_mysql新增一列如何插入数据-程序员宅基地

文章浏览阅读6.9w次,点赞47次,收藏143次。一、需求有两个表格,test和test2如下所示:mysql&gt; select * from test;+------+------+------------+| data | id | timestamp |+------+------+------------+| 300 | 3 | 1536292800 || 200 | 2 | 1536292..._mysql新增一列如何插入数据

【100个 Unity小知识点】 | Unity中常用的几种单例写法_unity 单例写法-程序员宅基地

文章浏览阅读5.3w次,点赞32次,收藏51次。Unity 小科普老规矩,先介绍一下 Unity 的科普小知识:Unity是 实时3D互动内容创作和运营平台 。包括游戏开发、美术、建筑、汽车设计、影视在内的所有创作者,借助 Unity 将创意变成现实。Unity 平台提供一整套完善的软件解决方案,可用于创作、运营和变现任何实时互动的2D和3D内容,支持平台包括手机、平板电脑、PC、游戏主机、增强现实和虚拟现实设备。 也可以简单把 Unity 理解为一个游戏引擎,可以用来专业制作游戏! Unity 小知识点学习Unity中常用的几种单._unity 单例写法