Android(HTC G7) 安装 Hadoop 伪分布

2019-03-28 12:57|来源: 网络

在HTC G7 上运行 Ubuntu for Android。并安装jdk1.7 arm 和 Hadoop
期间遇到了ssh问题,等各种问题,对于需要安装Ubuntu系统的手机,首先需要获得root 权限,简单的方法是使 用fastboot 重新刷机,如CyanogenMod 提供的ROM。

  • 为了方便使用手机上需要安装(apk):

Android Terminal Emulator (终端模拟器) :
Android VNC Viewer:
ubuntu的镜像及运行脚本:
bootscript.sh:Ubuntu 的启动脚本 点这里下载
ubuntu.sh :Ubuntu 的安装脚本 点这里下载
Ubuntu 12.04 的映像文件:用于安装 Ubuntu 的映像文件 选择下载: FullSmallCore

  • full 映像包含了完整的 Ubuntu 系统,其中包括 Unity 桌面,还有很多如GIMP等常用软件,非常齐全。需要 3.5G 以上空间。
  • small 映像包含了的基本的 Ubuntu 系统,其中包括 LXDE 桌面,需要 2G 以上空间。
  • core 映像包含了基础的 Ubuntu 系统,不过这个没有GUI的,也就是没有桌面只有命令行。

hadoop安装文件和jdk:
jdk 要选择则arm 版本的,
hadoop 的版本则跟老师使用的相同即可

  • 安装前的准备:

手机端运行vnc server

PC端使用vncviewer连接

切换到terminal Emulator 如下:

  • 安装ubuntu :

上面下载的就是待安装的 Ubuntu 12.04 的映像文件,然后我们安装还需要安装脚本,也就是上面说的 ubuntu.sh ,还有安装后的启动脚本 bootscript.sh 。有了这些文件后我们在手机的SD卡的根目录,新建一个文件夹取名为 ubuntu ,然后把这里我们刚才下载好的文件放到这个文件夹里面,到这里 ubuntu 文件夹里就分别有 ubuntu.img、ubuntu.sh、bootcript.sh 这三个文件了。
首先,打开 终端模拟器(Terminal) ,在光标处输入 “cd /sdcard/ubuntu”(不包括引号,注意cd后有空格)然后回车,这样就来到了刚才我们在SD卡里面新建的目录了
然后我们可以输入命令 “ls” 然后回车,我们就可以看到当前目录下的所有文件了,看一下里面是不是我们需要的三个文件
接下来我们就要开始运行 ubuntu.sh 这个安装脚本了,但在这之前我们需要使用 root 用户来运行这个脚本,在终端中使用命令 “su” 来切换至 root 用户权限,如果弹出授权信息点击下一步允许就行了,或者直接用 一键ROOT 来开启终端重复上面操作,成功后如图之前的“$”变成了“#”,这就说明已经获得Root权限了,如图:
然后运行安装脚本,输入命令 “sh ubuntu.sh”,进行安装,如图:
然后脚本为你建立了一个名字为“ubuntu”的帐号,这里提示你需要为你的帐号设置一个密码,这个密码会在以后你操作 Ubuntu 的时候一些授权应用到,比如我在这里设置密码为:“ubuntu”,这里注意的是在终端里面输入密码是不会显示出来的,你看见光标没有动静,但实际上你已经输入进去了。回车后提示再次输入密码以保证你两次密码一样
密码设置完成后,提示是否启动VNC服务和SSH服务,我们只要输入“y”然后回车,开启了这两个服务后我们才能通过远程连接来连上系统;
然后提示我们输入设备屏幕的尺寸,我的屏幕是854×480的,所以我输入“852×480”(小米手机注意:小米手机是854×480的,但是后面用Android VNC 连接的时候有问题,在右边会显示一条线,所以小米手机用户最好设置成“852×480”,其他手机没有测试过,在设置的时候请注意!)。注意:这里两个数字之间的不是乘号,而是字母“xyz”的“x”,输错了不能远程连接的;
提示已经启动了一个新的桌面,提示是否保存你刚才的设置为默认设置,只要输入“y”即可,

  • 查看SSH是否通畅

 

启动之后ubuntu的 SSH如果启动成功则可以通过

一、安装Jdk

a) 下载JDK ARM 版本,并上传本地的jdk安装文件

adb push jdk-7u21-linux-arm-sfp.gz /mnt/sdcard

复制jkd到usr/src:cp /sdcard/jdk-7u21-linux-arm-sfp.gz /usr/src

解压 jdk-7u21-linux-arm-sfp.gz:tar zxvf jdk-7u21-linux-arm-sfp.gz


配置环境变量:

  1. export JAVA_HOME=/usr/jdk
  2. export PATH=$PATH:${JAVA_HOME}/bin
复制代码


查看jdk是否配置正确:

  • Hadoop安装:

Hadoop的安装 参考 http://www.linuxidc.com/Linux/2012-02/53106.htm

  • 运行效果:

a) 格式化namenode

b) 启动hadoop

c) 测试

  1.   ./hadoop fs -mkdir iput
复制代码



  1.   ./hadoop fs -rmr iput
复制代码

参考资料:

Android 手机上安装并运行 Ubuntu 12.04:http://www.linuxidc.com/Linux/2013-05/84014.htm

遇到Ubuntu ssh 无法启动问题参考: http://www.linuxidc.com/Linux/2013-07/87950.htm

遇到ssh无法免密钥 参考:http://www.linuxidc.com/Linux/2013-07/87951.htm

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

相关问答

更多
  • 先回答你标题的提问:hadoop完全分布式:3个及以上的实体机或者虚拟机组件的机群。hadoop伪分布式:一个节点看了以上两点相信你已经明白了,“用vm多装几个unbuntu配置完全分布式,然后做实验”这是完全可行的。实际上我们通常也是这么做的,当然可能要求你的电脑cpu和内存足够支撑你这一计划。一点建议:如果你要开发基于Hadoop的分布式程序,伪分布式足够你实验了。如果你要做很多其他事情,比如玩玩cm,玩玩oozie,玩玩hbase,建议装多个虚拟机。
  • 先回答你标题的提问:hadoop完全分布式:3个及以上的实体机或者虚拟机组件的机群。hadoop伪分布式:一个节点看了以上两点相信你已经明白了,“用vm多装几个unbuntu配置完全分布式,然后做实验”这是完全可行的。实际上我们通常也是这么做的,当然可能要求你的电脑cpu和内存足够支撑你这一计划。一点建议:如果你要开发基于Hadoop的分布式程序,伪分布式足够你实验了。如果你要做很多其他事情,比如玩玩cm,玩玩oozie,玩玩hbase,建议装多个虚拟机。
  • 当然可以了。hive只是一个数据仓库的工具。运行一些HQL语句。不一定非得分布式。
  • 启动hdfs,mr和yarn服务看是否能够正常启动,然后用hadoop fs -ls /是否能够正常执行
  • 启动hdfs,mr和yarn服务看是否能够正常启动,然后用hadoop fs -ls /是否能够正常执行
  • 你可以输入JPS查看一下进程 一般你的master上是namenode secondarynamenode 和jobtracker三个进程 你的slaves上 有各自的datanode 和tasktracker两个进程 你看看是不是有各自进程都启动起来了 启动起来了就是分布式 如果只有一台机子有进程 那你就重新把那些配置文件再设置一下
  • 伪分布式 是指集群中就一台机器, 数据依然是存在HDFS上的 。只是你的主节点和从节点都是同一台机器而已。备份数量选择为1。 全分布式 是指集群就是 多台机器。
  • 确保你已经从源码构建Nutch,即不要使用只能在本地模式下工作的二进制版本。 一旦你编译完毕 蚂蚁干净的运行 转到运行时/ deploy / bin并像往常一样运行脚本。 注意,您需要在重新编译之前修改conf文件。 Make sure you have built Nutch from source i.e. don't use the binary release which works only in local mode. Once you've compile with ant clean run ...
  • 要知道您是以独立还是伪分布模式运行hadoop,请验证您的配置文件。 以下信息可能有帮助。 To know if you are running hadoop in Standalone or Pseudo distributed mode, verify your configuration files. Below information might help.
  • 修改/etc/hosts以包含主机名环回映射: 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 127.0.1.1 is-joshbloom-hadoop ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 您的问题是您的机器不知道如何解析主机名is-joshbloom-hadoop到特定 ...