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

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

185次阅读
没有评论

共计 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、短信等云产品特惠热卖中