技术标签: openhd 树莓派
Hadoop是由Java实现的, 所以在树莓派上运行就和在其他x86平台上运行一样简单. 首先, 我们需要安装支持树莓派的JVM. 可以选用OpenJDK或者Oracle的JDK 8. 我个人推荐JDK8, 其速度稍微快些, 但是OpenJDK安装更容易些.
1. 安装Java
安装OpenJDK十分简单, 只要执行以下命令
[email protected] ~ $ sudo apt-get install openjdk-7-jdk
[email protected] ~ $ 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
[email protected] ~ $sudo tar zxvf jdk-8-ea-b36e-linux-arm-hflt-*.tar.gz -C /opt
[email protected] ~ $sudo update-alternatives --install "/usr/bin/java"
"java" "/opt/jdk1.8.0/bin/java" 1
[email protected] ~ $ 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系统用户
[email protected] ~ $ sudo addgroup hadoop
[email protected] ~ $ sudo adduser --ingroup hadoop hduser
[email protected] ~ $ sudo adduser hduser sudo
3. 设置SSH
[email protected] ~ $ su - [email protected] ~ $ ssh-keygen -t rsa -P ""
这会生成一个匹配空密码的RSA密钥. 在与其他节点通讯时Hadoop将不再提示输入密码
[email protected] ~$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
现在设置SSH允许用刚生成的密钥访问
[email protected] ~$ ssh localhost
现在我们就应该可以不使用密码也可以登录了
4. 安装Hadoop
我们可以从http://www.apache.org/dyn/closer.cgi/hadoop/core下载hadoop
[email protected] ~$ wget http://mirror.catn.com/pub/apach ... hadoop-1.1.2.tar.gz
hdus[email protected] ~$sudo tar vxzf hadoop-1.1.2.tar.gz -C /usr/local
[email protected] ~$cd /usr/local
[email protected] /usr/local$ sudo mv hadoop-1.1.2 hadoop
h[email protected] /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.
重启一下树莓派来验证安装是否成功:
[email protected] ~$ 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>
hadoop.tmp.dir
/fs/hadoop/tmp
fs.default.name
hdfs://localhost:54310
< /configuration>
mapred-site.xml
< configuration>
mapred.job.tracker
localhost:54311
< /configuration>
hdfs-site.xml
< configuration>
dfs.replication
1
< /configuration>
哦了, 即将完工, 还剩最后一步.
[email protected] ~$ sudo mkdir -p /fs/hadoop/tmp
[email protected] ~$ sudo chown hduser:hadoop /fs/hadoop/tmp
[email protected] ~$ sudo chmod 750 /fs/hadoop/tmp
[email protected] ~$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进程
相关文章:
查了一下没有发现关于cJSON的函数api的使用文档,那就自己看源代码整理一份吧,这比单纯分析源代码貌似有用多了整理一份源代码的使用文档,就不得不首先看下各个函数的定义,防止漏掉一些API,同时也对撰写文档的内容有了大概的了解。cJSON_VersionCJSON_PUBLIC(const char*) cJSON_Version(void); 打印当前cJSON的版本使用:printf("Version: %s\n", cJSON_Version());cJSON_InitHooksC
0x00常见的web漏洞分类:SQL注入漏洞文件上传漏洞XSS 跨站脚本攻击CSRF 跨站请求伪造攻击文件包含漏洞命令执行漏洞代码注入攻击逻辑漏洞0x01SQL注入漏洞定义:通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。SQL注入基础-数据库基础:数据库结构 库(...
在上篇文章中我们已经对容器的第一个扩展点(BeanFactoryPostProcessor)做了一系列的介绍。其中主要介绍了Spring容器中BeanFactoryPostProcessor的执行流程。已经Spring自身利用了BeanFactoryPostProcessor完成了什么功能,对于一些细节问题可能说的不够仔细,但是在当前阶段我想要做的主要是为我们以后学习源码打下基础。所以对于这些问...
首先确保虚拟机是连接网络的,可以用ping命令检测一下看是否连通网络。采用nat网络的时候确保服务是开的。如果之前执行过apt-get update命令但是失败了,执行一下 rm -rf /var/lib/apt/lists/partial/* 和 sudo apt-get clean 命令,之后更换源,网上有很多可以试一下,这里推荐一下这个网址 htt...
动态操作 DOM获取(标签)元素 (在css中叫标签,在js中叫元素)用 document.getElen....../ children......等,来获取的元素是动态的数组,可以用 Array.from() 包一下变成静态的。或者直接用 querySelec...... 来获取。1 /*2 const let var 都可以,用co...
github在统计提交的时候,会判断邮箱是否跟github的登陆邮箱匹配,不匹配则不计算活跃度,即不生成小绿块。查看配置git config user.emailgit config user.name设置当前仓库的user.name/user.emailgit config user.email yourEmailNamegit config user.name yourName设置全局user.name/user.emailgit config --global use.
0. 背景本人最近喜欢上python,刚好又做audio相关的工作,就想用python做一个各种音频文件生成的小工具。运行效果如下图。但是想着给同事们都使用一下,但是别人不一定有python环境,就使用pyinstaller打包生成一个exe文件。谁知,exe文件30几M。惊吓。一顿搜索之后,开始了各种方案的尝试,什么pipenv,anaconda,UPX,mingw等等,一圈下来身心俱疲。柳...
Problem Description 吉哥这几天对队形比较感兴趣。 有一天,有n个人按顺序站在他的面前,他们的身高分别是h[1], h[2] ... h[n],吉哥希望从中挑出一些人,让这些人形成一个新的队形,新的队形若满足以下三点要求,则称之为完美队形: 1、挑出的人保持他们在原队形的相对顺序不变; 2、左右对称,假设有m个人形成新的队形,则第1个人和第m个人身
五类IP地址:打比方的话,网络号相当于小区号,主机号相当于楼栋号。A、B、C三类地址所包含的主机数量:C类地址的主机数太少,只有254个;A类地址主机数又太多。10.100.122.2/24IP地址中有一个斜杠,斜杠后面有个数字24.这种地址表示形式,就是无类型域间选路(CIDR)。32位地址中,前24位是网络号,后8位是主机号。10.100....
支付没问题,那就代表网上大部分所说的公钥问题是不存在的,其实这个问题是signType的问题,因为支付宝默认给我们的signType赋值的是RAS,这里我们将RAS改为RAS2就解决问题,我的问题就是改了这个就好了,当然不代表能解决所有应用未配置对应签名算法的公钥或者证书这个问题。...
1.后端配置nginx 开启 gzip访问规则2.前端配置WWW www = new WWW (Url); www类封装了针对不同平台不同的方法实现。会在ios和android自动添加header,gzip其实前端不需要做任何事情,nginx开启gzip即可。3.插件推荐BestHttp 5星推荐!支持Http , Websocket等协议。...
最近在学习java,可是在与数据库建立连接这块儿老出错。因此,在阅读JDBC官方帮助文档时,看到一些非常有用的资料,真有一点“柳暗花明又一村”的味道。希望能将自己的总结记录下来,分享给大家,共同努力,一起学习。 步入正题,下面介绍使用 Microsoft JDBC Driver for SQL Server 连接到SQL Server的几种方式,以及其实例。1、使用Driver