Ubuntu16.04安装Hadoop2.6+Spark1.6+开发实例
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.0 配置SSH
ssh免密匙登录
sudo apt-get install ssh
sudo apt-get install rsync
ssh-keygen -t rsa //一路回车就好
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
ssh localhost //不需要输入密码时即成功
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="$SPARK_HOME/bin:$PATH"
export PYTHONPATH="$SPARK_HOME/python"
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
2.安装Hadoop。在单机情景下,可以单例也可以伪分布式安装。本次详细介绍了伪分布式安装。
2.0.Hadoop单机模式
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.4.jar grep input output 'dfs[a-z.]+'
结果如图
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
2.4.启动hdfs
sbin/start-dfs.sh
查看是否正常启动
jps
若启动成功,访问web端http://localhost:50070
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,如图
也可以在web端查看,地址http://localhost:8088/cluster
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/*
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
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
3.3.pyspark在jupyter notebook 中开发
启动Spark 1.6 的开发工具 jupyter notebook
IPYTHON_OPTS="notebook" /opt/spark/bin/pyspark
Tip:如果是spark 2.0+版本运行以下启动jupyter notebook命令(更新于20160825)
PYSPARK_DRIVER_PYTHON=jupyter PYSPARK_DRIVER_PYTHON_OPTS='notebook' /opt/spark-2.0.0-bin-hadoop2.7/bin/pyspark
输入测试例子,shift+enter是运行本单元格并且建立新行,依次输入
lines =sc.textFile("README.md")
lines.count()
lines.first()
至此,整个环境搭建和开发过程总结完毕,愉快的开发吧!
注意:Spark支持的python版本是python2.7.x,也支持python3.4+。但是在开发程序时候,朋友请保证注意pyhton版本,如果程序和使用内核不同的话,jupyter notebook内核则会报错。
Ubuntu16.04安装Hadoop2.6+Spark1.6+开发实例的更多相关文章
- Ubuntu16.04安装TFTP服务,完成开发板下载文件
1.安装TFTP服务 $ sudo apt-get install tftp-hpa tftpd-hpa 2.建立传递目录 $ mkdir tftp $ sudo chmod 777 tftp/ -R ...
- 阿里云学生服务器搭建网站-Ubuntu16.04安装php开发环境
阿里云学生服务器搭建网站(2)-Ubuntu16.04安装php开发环境 优秀博文:https://www.linuxidc.com/Linux/2016-10/136327.htm https:/ ...
- Ubuntu16.04安装后开发环境配置和常用软件安装
Ubuntu16.04安装后1.安装常用软件搜狗输入法+编辑器Atom+浏览器Chome+视频播放器vlc+图像编辑器GIMP Image Editor安装+视频录制软件RcordMyDesktop安 ...
- Ubuntu16.04安装TensorFlow及Mnist训练
版权声明:本文为博主原创文章,欢迎转载,并请注明出处.联系方式:460356155@qq.com TensorFlow是Google开发的开源的深度学习框架,也是当前使用最广泛的深度学习框架. 一.安 ...
- ubuntu16.04 安装 mysql-level
ubuntu16.04 安装 mysql-level 1.下载 mysql-level(直接去官网下载rpm包,我的mysql-server是5.7.9.你下载自己对应的就可以了) 下载连接 2.rp ...
- ubuntu16.04安装jdk/mysql/tomcat (使用apt-get命令)
安装jdk 更新系统安装包缓存,并且安装OpenJDK8 sudo apt-get update sudo apt-get install openjdk-8-jdk 检查jdk版本 java -ve ...
- ubuntu16.04安装jdk,tomcat
ubuntu16.04安装jdk,tomcat 最近装了一下tomcat,网上的教程很多,我也试了很多次,但是有一些教程关于tomcat配置是错误的,让我走上了歧途.差点重装系统,还好王总及时出手帮助 ...
- Ubuntu16.04 安装openjdk-7-jdk
Ubuntu16.04 安装openjdk-7-jdk sudo apt-get install openjdk-7-jre 或者sudo apt-get install openjdk-7-jdk ...
- Ubuntu16.04安装GTK3主题:OSX-Arc
Ubuntu16.04安装GTK3主题:OSX-Arc GTK3主题:OSX-Arc描述: 前几个月,Gnome3.20升3.22的时候,出现了大量主题崩溃的现象,其中包括Arc.Flatabulou ...
随机推荐
- django bug 与陷阱
环境:ubuntu,python3.4 1.QueryDict 陷阱 :以下语句语句是取每行的头元素,其中line应该是一个列表.问题是,line在实际运行中已经不是列表,而变成了列表中的头元素. 错 ...
- LeetCode74.搜索二维矩阵
74.搜索二维矩阵 描述 编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值.该矩阵具有如下特性: 每行中的整数从左到右按升序排列. 每行的第一个整数大于前一行的最后一个整数. 示例 示 ...
- mysql 命令连接
远程登陆MySQL,同时指定对应的端口和ip. 假设远程的ip为:10.154.0.43 端口为:1341 输入如下命令: mysql -h 10.154.0.43 -P 1341 -u root - ...
- 使用Maven运行Java main的3种方式使用Maven运行Java main的3种方式
maven使用exec插件运行java main方法,以下是3种不同的操作方式. 一.从命令行运行 1.运行前先编译代码,exec:java不会自动编译代码,你需要手动执行mvn compile来完成 ...
- spark SQL编程
1.编程实现将 RDD 转换为 DataFrame源文件内容如下(包含 id,name,age): 1,Ella,362,Bob,293,Jack,29 请将数据复制保存到 Linux 系统中,命名为 ...
- CI 框架中的日志处理 以及 404异常处理
最近在整理项目中的日志问题,查了一些关于 “CI 框架中的日志处理 以及 404异常处理” 的东西,顺便记录一下: 关于错误日志: 1. 在CI框架中的 system/core/CodeIgniter ...
- linux下——java——new Font("Times New Roman", 0, 18)验证码图片变成字符
j'ava部署到了tomcat,发现了一个问题,我们登录的验证码出现了乱码,和字符 然而在windows服务器上,或者说我们本地的开发环境上面,则没有这种现象, 这是为什么? 查看源码,发现有一段代码 ...
- jvm双亲委派模型
其实,双亲委派模型并不复杂.自定义类加载器也不难!随便从网上搜一下就能搜出一大把结果,然后copy一下就能用.但是,如果每次想自定义类加载器就必须搜一遍别人的文章,然后复制,这样显然不行.可是自定义类 ...
- DP Intro - OBST
http://radford.edu/~nokie/classes/360/dp-opt-bst.html Overview Optimal Binary Search Trees - Problem ...
- (转)10 分钟内快速构建能够承载海量数据的 nginx 日志分析与报警平台
10 分钟内快速构建能够承载海量数据的 nginx 日志分析与报警平台 原文:https://blog.qiniu.com/archives/8713