文档章节

[翻译完成] 树莓派搭建hadoop集群

八宝粥
 八宝粥
发布于 2013/07/14 13:39
字数 824
阅读 10291
收藏 127

Hadoop是由Java实现的, 所以在树莓派上运行就和在其他x86平台上运行一样简单. 首先, 我们需要安装支持树莓派的JVM. 可以选用OpenJDK或者Oracle的JDK 8. 我个人推荐JDK8, 其速度稍微快些, 但是OpenJDK安装更容易些.

1. 安装Java

安装OpenJDK十分简单, 只要执行以下命令

pi@raspberrypi ~ $ sudo apt-get install openjdk-7-jdk
pi@raspberrypi ~ $ java -version
java version "1.7.0_07"
OpenJDK Runtime Environment (IcedTea7 2.3.2) (7u7-2.3.2a-1+rpi1)
OpenJDK Zero VM (build 22.0-b10, mixed mode)

另外, 我们可以选择安装Oracle的JDK 8.
可以从这获得: https://jdk8.java.net/fxarmpreview/index.html

pi@raspberrypi ~ $sudo tar zxvf jdk-8-ea-b36e-linux-arm-hflt-*.tar.gz -C /opt
pi@raspberrypi ~ $sudo update-alternatives --install "/usr/bin/java" 
"java" "/opt/jdk1.8.0/bin/java" 1 
pi@raspberrypi ~ $ java -version
java version "1.8.0-ea"
Java(TM) SE Runtime Environment (build 1.8.0-ea-b36e)
Java HotSpot(TM) Client VM (build 25.0-b04, mixed mode)

如果你两个都装了, 用以下命令来切换即可:

sudo update-alternatives --config java

2. 新增一个hadoop系统用户

pi@raspberrypi ~ $ sudo addgroup hadoop
pi@raspberrypi ~ $ sudo adduser --ingroup hadoop hduser
pi@raspberrypi ~ $ sudo adduser hduser sudo

3. 设置SSH

pi@raspberrypi ~ $ su - hduserhduser@raspberrypi ~ $ ssh-keygen -t rsa -P ""

这会生成一个匹配空密码的RSA密钥. 在与其他节点通讯时Hadoop将不再提示输入密码

hduser@raspberrypi ~$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

现在设置SSH允许用刚生成的密钥访问

hduser@raspberrypi ~$ ssh localhost

现在我们就应该可以不使用密码也可以登录了

4. 安装Hadoop
我们可以从http://www.apache.org/dyn/closer.cgi/hadoop/core下载hadoop

hduser@raspberrypi ~$ wget http://mirror.catn.com/pub/apache/hadoop/core/hadoop-1.1.2/hadoop-1.1.2.tar.gz
hduser@raspberrypi ~$sudo tar vxzf hadoop-1.1.2.tar.gz -C /usr/local
hduser@raspberrypi ~$cd /usr/local
hduser@raspberrypi /usr/local$ sudo mv hadoop-1.1.2 hadoop
hduser@raspberrypi /usr/local$ sudo chown -R hduser:hadoop hadoop

现在hadoop就安装好了. 编译home目录下的.bashrc文件, 将以下内容添加到其中

export JAVA_HOME=/usr/lib/jvm/java-6-openjdk-armhf
export HADOOP_INSTALL=/usr/local/hadoop
export PATH=$PATH:$HADOOP_INSTALL/bin

如果你用的是oracle的JDK, 相应的修改JAVA_HOME.

重启一下树莓派来验证安装是否成功:

hduser@raspberrypi ~$ hadoop version
Hadoop 1.1.2
Subversion https://svn.apache.org/repos/asf/hadoop/common/branches/
branch-1.1 -r 1440782
Compiled by hortonfo on Thu Jan 31 02:03:24 UTC 2013
From source with checksum c720ddcf4b926991de7467d253a79b8b

5. 配置Hadoop
注意: 这里的配置是hadoop单节点模式的最低配.

配置文件位于"/usr/local/hadoop/conf/", 我们需要修改core-site.xml, hdfs-site.xml, mapred-site.xml三个文件

core-site.xml

<configuration>
  <property>
    <name>hadoop.tmp.dir</name>
    <value>/fs/hadoop/tmp</value>
  </property>
  <property>
    <name>fs.default.name</name>
    <value>hdfs://localhost:54310</value>
  </property>
</configuration>

mapred-site.xml

<configuration>
  <property>
    <name>mapred.job.tracker</name>
    <value>localhost:54311</value>
  </property>
</configuration>

hdfs-site.xml

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

哦了, 即将完工, 还剩最后一步.

hduser@raspberrypi ~$ sudo mkdir -p /fs/hadoop/tmp
hduser@raspberrypi ~$ sudo chown hduser:hadoop /fs/hadoop/tmp
hduser@raspberrypi ~$ sudo chmod 750 /fs/hadoop/tmp
hduser@raspberrypi ~$hadoop namenode -format

注意:

如果选用的是JDK 8, 我们需要强制在JVM client模式下运行DataNode, 因为JDK 8还不支持server模式. 进入/usr/local/hadoop/bin目录中来编辑hadoop文件(请先备份). 使用nano进行修改的步骤如下:nano hadoop, ctrl-w输入“-server”进行查找. 我们需要删除“-server”这个参数, 然后保存退出就行了.

hadoop单节点系统就算是搭建完成了. 下面给一些有用的命令.

1. jps           // 输出本地VM标识符
2. start-all.sh  // 启动所有hadoop进程
3. stop-all.sh   // 停止所有hadoop进程

© 著作权归作者所有

八宝粥
粉丝 50
博文 24
码字总数 35970
作品 0
程序员
私信 提问
加载中

评论(19)

gcd0318
gcd0318

引用来自“抢小孩糖吃”的评论

引用来自“gcd0318”的评论

引用来自“抢小孩糖吃”的评论

我看书上说建议最少CPU 双核 2.8以上,其他XXX,我就没尝试树梅派了,现在已经作为nas,jetty服务器 mysql服务器,干的事情够多了=。= ,说实话怕他烧了

跑mysql行吗?体验如何,效率什么的

体验比正常的慢的多,不过软件写好些 没有太多的延迟,毕竟800MHz的CPU 不过读写数据比较快 毕竟是SD卡 我买的class 10的

我打算单独一个派当数据库服务器,什么都不做…总可以了吧
抢小孩糖吃
抢小孩糖吃

引用来自“gcd0318”的评论

引用来自“抢小孩糖吃”的评论

我看书上说建议最少CPU 双核 2.8以上,其他XXX,我就没尝试树梅派了,现在已经作为nas,jetty服务器 mysql服务器,干的事情够多了=。= ,说实话怕他烧了

跑mysql行吗?体验如何,效率什么的

体验比正常的慢的多,不过软件写好些 没有太多的延迟,毕竟800MHz的CPU 不过读写数据比较快 毕竟是SD卡 我买的class 10的
gcd0318
gcd0318

引用来自“抢小孩糖吃”的评论

我看书上说建议最少CPU 双核 2.8以上,其他XXX,我就没尝试树梅派了,现在已经作为nas,jetty服务器 mysql服务器,干的事情够多了=。= ,说实话怕他烧了

跑mysql行吗?体验如何,效率什么的
gcd0318
gcd0318
根本没法实用,太慢了
vigiles
vigiles
楼主V5!这的确是难得的尝试!表示关注!
KenSun
KenSun
这个没什么意义吧,内存不够,io不理想
松鼠M
松鼠M
小霸王骑了吴琼
抢小孩糖吃
抢小孩糖吃
我看书上说建议最少CPU 双核 2.8以上,其他XXX,我就没尝试树梅派了,现在已经作为nas,jetty服务器 mysql服务器,干的事情够多了=。= ,说实话怕他烧了
wendal
wendal
就是验证一下可行性咯...
开源狂人
开源狂人
太牛逼,这也行啊?看来我的计算器也能装hadoop了。
树莓派部署Elasticsearch6集群

版权声明:欢迎转载,请注明出处,谢谢。 https://blog.csdn.net/boling_cavalry/article/details/89440971 今天在两个树莓派3B上部署了Elasticsearch6.7.1版本的集群,和在一般Linux服务器上...

博陵精骑
04/21
0
0
一个树莓派集群 (VAX)

在上个月的一篇博客文章里,我着眼于如何用树莓派仿真强大的ibm大型机,在本文中我来描述如何用一对树莓派来仿真可被配置用来组建VMScluster群集的VAX计算机。 这次被用来仿真的MicroVAX设备...

oschina
2015/01/04
19.6K
14
用Python让Raspberry Pi“动”起来

【编者按】本文是来自奥松机器人社区的投稿,作者为小强之工,真名贝振权,无线电、电子、嵌入式爱好者。 前段时间,接触了一款在开源硬件界被称为是“人气之王”的树莓派(Raspberry Pi)袖珍...

RagingTyphoon
2015/08/16
376
0
用树莓派构建你自己的微型服务器,可以外网访

第一,你得有一个路由器,否则下面的内容都无法实现了。 第二,你得申请一个免费的动态域名解析,由于我用的是TP-LINK的路由器,只支持花生壳,所以我申请了花生壳的动态域名解析。 申请花生...

maweitao
2014/07/25
23.4K
4
[翻译完成] 用红外遥控器遥控树莓派

概述 本篇教程将会讲解如何用一部红外遥控器来遥控操作树莓派上安装的影音中心. 在开始之前, 你需要按此教程把树莓派搭建为影音中心. 需要的零件 在搭建好了影音中心之后, 你需要去买些零件....

八宝粥
2013/07/25
16.1K
17

没有更多内容

加载失败,请刷新页面

加载更多

python学习10.04:Python list列表使用技巧及注意事项

前面章节介绍了很多关于 list 列表的操作函数,细心的读者可能会发现,有很多操作函数的功能非常相似。例如,增加元素功能的函数有 append() 和 extend(),删除元素功能的有 clear()、 remo...

太空堡垒185
32分钟前
4
0
新手插画学习的方法?教你如何自学?

插画学习的方法?教你如何自学? 从小喜欢画一些漫画头像随笔画,但是其实没有基础。个人偏好小清新手绘风的插画(如下图),每每看到都希望自己能画出这样的作品。 我其实很想说画这种美术功...

huihuajiaocheng
37分钟前
5
0
面试题

1、实现clone(); 涉及知识点: 1)、typeof 判断类型 2)、精确的判断类型:因为type null是object,type []是object,无法通过typeof来达到精确的判断 obj.toString()的结果和Object.prototyp...

gtandsn
48分钟前
5
0
CentOS 7 部署 tesseract-ocr

官方地址 github yum-config-manager --add-repo https://download.opensuse.org/repositories/home:/Alexander_Pozdnyakov/CentOS_7/ 若提示 yum-config-manager: command not found 执行以......

阿白
49分钟前
3
0
JAVA比较器中comparator的使用

一个专用的比较器Comparator Comparator是一个专用的比较器,当一个不支持自比较或者自比较函数不能满足要求时,可写一个比较器来完成两个对象之间大小的比较。Comparator体现了一种策略模式...

daxiongdi
49分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部