阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Ubuntu 16.04安装Hadoop2.6+Spark1.6+开发实例

426次阅读
没有评论

共计 4098 个字符,预计需要花费 11 分钟才能阅读完成。

Ubuntu16.04 安装 Hadoop2.6+Spark1.6,并安装 python 开发工具 Jupyter notebook,通过 pyspark 测试一个实例,調通整个 Spark+hadoop 伪分布式开发环境。

主要内容:配置 root 用户,配置 Hadoop,Spark 环境变量,Hadoop 伪分布式安装并测试实例,spark 安装并通过 Jupter notebook 进行开发实例,配置 Jupter notebook 兼容 Python2 和 python3 双内核共存开发。

默认已经正确安装了 JDK,并设置了 JAVA_HOME(安装 JDK 教程较多,不再赘述)

1. 配置环境变量

1.1. 进入 root 用户

1.1.1 root 用户初始为禁止登陆,通过重新设置密码达到 root 可登陆目的。

sudo passwd // 回车输入新的 root 账户密码两次
su // 以 root 登录 执行设计 opt 的文件
在本用户(root 用户和普通用户)下

ls -a

1.1.2. 为了使得当前 user 如 wxl(wangxiaolei)用户的变量在 root 用户中也能生效,需要修改 root 用户下的.bashrc 文件。方法如下。

su
vim ~/.bashrc
# 增加内容
source /etc/profile

重新启动 terminal/ 终端

1.2. 配置当前用户中 hadoop 和 spark 的环境变量(有的开发人员习惯先创建一个 Hadoop 新用户来做,其实这个是可有可无的)

vim /etc/profile.d/spark.sh

export SPARK_HOME=/opt/spark
export PATH=$PATH:$SPARK_HOME/bin:$PATH
export PYTHONPATH=$SPARK_HOME/ptython

vim /etc/profile.d/hadoopsnc.sh (hadoop Single node cluster)

export HADOOP_HOME/opt/hadoop
export CLASSPATH=".:$JAVA_HOME/lib:$CLASSPATH"
export PATH="$JAVA_HOME/:$HADOOP_HOME/bin:$PATH"
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native

1.3. 解决 localhost: Error: JAVA_HOME is not set and could not be found.

修改 /opt/hadoop/etc/hadoop/hadoop-env.sh

vim /opt/hadoop/etc/hadoop/hadoop-env.sh
# 增加
export JAVA_HOME=/opt/java

Ubuntu 16.04 安装 Hadoop2.6+Spark1.6+ 开发实例

2. 安装 Hadoop。在单机情景下,可以单例也可以伪分布式安装。本次详细介绍了伪分布式安装。

2.0.Hadoop 单机模式

bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.4.jar grep input output 'dfs[a-z.]+'

结果如图
Ubuntu 16.04 安装 Hadoop2.6+Spark1.6+ 开发实例

cat output/*

Tip:再次运行例子时候需要手动删除 output 文件,否则报错
删除 output 文件

rm -rf output

2.1. 伪分布式模式

进入 hadoop 解压路径中

cd /opt/hadoop

2.2. 源码修改

vim etc/hadoop/core-site.xml

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>

vim etc/hadoop/hdfs-site.xml

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>

2.3. 初始化节点

Tip 如果出错,可以删除生成的文件在 /tem 路径下

rm -rf /tmp/hadoop-wxl

注意:因为 format 在 /tmp 目录下,所以每次重启机器这些文件会丢失,所以。。。每次开机都需要 format 一次。
初始化 namenode

bin/hdfs namenode -format

Ubuntu 16.04 安装 Hadoop2.6+Spark1.6+ 开发实例

2.4. 启动 hdfs

sbin/start-dfs.sh

查看是否正常启动

jps

Ubuntu 16.04 安装 Hadoop2.6+Spark1.6+ 开发实例

若启动成功,访问 web 端 http://localhost:50070

Ubuntu 16.04 安装 Hadoop2.6+Spark1.6+ 开发实例

2.5.YARN 的伪分布式

2.5.1. 源码修改

创建一个 mapred-site.xml,这里采用源文件备份的 mapred-site.xml。

cp etc/hadoop/mapred-site.xml.template etc/hadoop/mapred-site.xml

vim etc/hadoop/mapred-site.xml

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

vim etc/hadoop/yarn-site.xml

<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
</configuration>

2.5.2 开启 YARN

sbin/start-yarn.sh

查看是否全部正常启动命令 jps,如图
Ubuntu 16.04 安装 Hadoop2.6+Spark1.6+ 开发实例

也可以在 web 端查看,地址 http://localhost:8088/cluster
Ubuntu 16.04 安装 Hadoop2.6+Spark1.6+ 开发实例

2.6. 运行例子:

bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.4.jar grep input output 'dfs[a-z.]+'
bin/hdfs dfs -get output output
bin/hdfs dfs -cat output/*

Ubuntu 16.04 安装 Hadoop2.6+Spark1.6+ 开发实例

Ubuntu 16.04 安装 Hadoop2.6+Spark1.6+ 开发实例

Ubuntu 16.04 安装 Hadoop2.6+Spark1.6+ 开发实例

Ubuntu 16.04 安装 Hadoop2.6+Spark1.6+ 开发实例

2.7. 关闭 YARN/dfs

sbin/stop-dfs.sh
sbin/stop-yarn.sh

3. 安装 spark

3.1. 解压,移动到 /opt 路径下

cd /home/wxl/Downloads
tar -zxf spark-1.6.2-bin-hadoop2.6.tgz
sudo mv spark-1.6.2-bin-hadoop2.6 /opt/spark

在 /opt/spark/conf 的文件,将 spark-env.sh.template 复制为 spark-env.sh
增加

export JAVA_HOME=/opt/java

即可。
可以看到 spark 配置比较简单,只需要解压,放置指定路径皆可。

3.2. 通过小例子的 shell 测试

3.2.1. 开启 pyspark

./bin/pyspark

Ubuntu 16.04 安装 Hadoop2.6+Spark1.6+ 开发实例

3.2.2.pyspark 在 shell 中开发

lines =sc.textFile("README.md")
lines.count()
lines.first()
exit() # 或者 ctrl+c

可以看到每次 shell 打印一堆 info 信息,为了较少信息输出,建立 log 机制
cp conf/log4j.properties.template conf/log4j.properties
将 log4j.properties 文件中的 log4j.rootCategory=INFO, console
修改为 log4j.rootCategory=WARN, console

Ubuntu 16.04 安装 Hadoop2.6+Spark1.6+ 开发实例

3.3.pyspark 在 jupyter notebook 中开发

启动

IPYTHON_OPTS="notebook" /opt/spark/bin/pyspark

Ubuntu 16.04 安装 Hadoop2.6+Spark1.6+ 开发实例

输入测试例子,shift+enter 是运行本单元格并且建立新行,依次输入

lines =sc.textFile("README.md")
lines.count()
lines.first()

Ubuntu 16.04 安装 Hadoop2.6+Spark1.6+ 开发实例
至此,整个环境搭建和开发过程总结完毕,愉快的开发吧!
注意:Spark 支持的 python 版本是 python2.7.x,也支持 python3.4+。但是在开发程序时候,朋友请保证注意 pyhton 版本,如果程序和使用内核不同的话,jupyter notebook 内核则会报错。
Ubuntu 16.04 安装 Hadoop2.6+Spark1.6+ 开发实例

下面关于 Hadoop 的文章您也可能喜欢,不妨看看:

Ubuntu14.04 下 Hadoop2.4.1 单机 / 伪分布式安装配置教程  http://www.linuxidc.com/Linux/2015-02/113487.htm

CentOS 安装和配置 Hadoop2.2.0  http://www.linuxidc.com/Linux/2014-01/94685.htm

Ubuntu 13.04 上搭建 Hadoop 环境 http://www.linuxidc.com/Linux/2013-06/86106.htm

Ubuntu 12.10 +Hadoop 1.2.1 版本集群配置 http://www.linuxidc.com/Linux/2013-09/90600.htm

Ubuntu 上搭建 Hadoop 环境(单机模式 + 伪分布模式)http://www.linuxidc.com/Linux/2013-01/77681.htm

Ubuntu 下 Hadoop 环境的配置 http://www.linuxidc.com/Linux/2012-11/74539.htm

单机版搭建 Hadoop 环境图文教程详解 http://www.linuxidc.com/Linux/2012-02/53927.htm

更多 Hadoop 相关信息见Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13

本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-08/134101.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计4098字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7987944
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞定

多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞定

多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞...
安装Black群晖DSM7.2系统安装教程(在Vmware虚拟机中、实体机均可)!

安装Black群晖DSM7.2系统安装教程(在Vmware虚拟机中、实体机均可)!

安装 Black 群晖 DSM7.2 系统安装教程(在 Vmware 虚拟机中、实体机均可)! 前言 大家好,...
把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地 大家好,我是星哥,今天教大家在飞牛 NA...
星哥带你玩飞牛NAS硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话?

星哥带你玩飞牛NAS硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话?

星哥带你玩飞牛 NAS 硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话? 前言 在选择 NAS 用预...
我用AI做了一个1978年至2019年中国大陆企业注册的查询网站

我用AI做了一个1978年至2019年中国大陆企业注册的查询网站

我用 AI 做了一个 1978 年至 2019 年中国大陆企业注册的查询网站 最近星哥在 GitHub 上偶然...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
零成本上线!用 Hugging Face免费服务器+Docker 快速部署HertzBeat 监控平台

零成本上线!用 Hugging Face免费服务器+Docker 快速部署HertzBeat 监控平台

零成本上线!用 Hugging Face 免费服务器 +Docker 快速部署 HertzBeat 监控平台 ...
自己手撸一个AI智能体—跟创业大佬对话

自己手撸一个AI智能体—跟创业大佬对话

自己手撸一个 AI 智能体 — 跟创业大佬对话 前言 智能体(Agent)已经成为创业者和技术人绕...
星哥带你玩飞牛NAS硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话?

星哥带你玩飞牛NAS硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话?

星哥带你玩飞牛 NAS 硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话? 前言 在选择 NAS 用预...
开源MoneyPrinterTurbo 利用AI大模型,一键生成高清短视频!

开源MoneyPrinterTurbo 利用AI大模型,一键生成高清短视频!

  开源 MoneyPrinterTurbo 利用 AI 大模型,一键生成高清短视频! 在短视频内容...
星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的NAS中!

星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的NAS中!

星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的 NAS 中! 大家对「数据安全感」的需求越来越高 ...