在这个阴雨绵绵的下午,没有睡午觉的我带着一双惺忪的眼睛坐在了电脑前,泡上清茶,摸摸已是略显油光的额头(笑cry),,奋斗啊啊啊啊!!%>_<%

1.课程回顾。

1.1 Hadoop系统运行的软件系统:Linux操作系统(小红帽或Ubuntu)、SSH(Secure Shell主要用于远程管理Hadoop节点以及Hadoop节点间的安全共享访问)、Java

这里主要多说一点SSH,它是一种网络协议,用于计算机之间的加密登陆,如一个用户从本地计算机通过SSH协议登录一台远程计算机。详情请见[1]。

1.2 Hadoop系统的安装方式:单一方式(在一台装有Linux系统的单机上安装运行Hadoop系统),单机伪分布式方式(在一台装有Linux的单机上,用伪分布式方式,用不同的Java进程模拟分布式运行中的NameNode、DateNode、JobTracker等各类节点),集群分布模式(在一个真实的集群环境下安装运行Hadoop系统,集群的每个节点可以运行Linux)

2.安装Hadoop

下面步入正题,直播我安装Hadoop的全过程。。。

参考大神们的博客[2],说MAC安装Hadoop需要如下几个步骤:

      1)安装Homebrew

      2) SSH localhost

      3)安装Hadoop

2.1 安装Homebrew[3]

这里之所以安装Homebrew是因为Mac用Homebrew安装软件真真是简洁优雅,只需一条命令行代码。

1)安装Homebrew

打开终端(快捷键control+space 或者 直接在电脑右上角点击放大镜输入Terminal),复制粘贴如下语句或从官网找到最新版的Homebrew命令行:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

过程中会要求输入密码等,按照提示照做即可。

2)安装Homebrew-cask

打开终端,复制粘贴如下命令行:

brew tap phinze/homebrew-cask
brew install brew-cask

以下是我的显示结果,仅供参考(最后光标显示为原来的样子,表示安装成功):

那么,如何用Homebrew-cask安装及卸载软件呢,借用大神的一张图片[3],列的灰常清晰:

下面列出一些常用的cask命令:

brew cask search 列出所有可以被安装的软件
brew cask search drop 查找所有和 drop 相关的应用
brew cask info thunder 查看 迅雷 应用的信息,这货安装的可是最新版本的迅雷哦!
brew cask uninstall qq 卸载 QQ

更新软件:

brew cask uninstall qq && brew cask install qq #因为cask每次安装都是安装最新的版本

至此,Homebrew-cask安装及废话部分结束,开启下一步SSK的设置。

2.2 配置SSH localhost

  • 打开系统偏好设置-共享-远程登录(默认情况下关闭,将“远程登录打开即可”);
  • 生成密钥对,执行如下命令
    $ ssh-keygen -t rsa
  • 执行如下命令,将在当前用户目录中的.ssh文件夹中生成id_rsa文件并且以后可以不使用密码登录:
  • $ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
  • 使用下面命令,测试是否可以不适用密码登录:
  • $ ssh localhost

2.3 安装Hadoop

(*^__^*) 嘻嘻……这里就用到了之前安装的Homebrew-cask啦,这里仅仅输入一条命令行即可完成Hadoop的安装,是不是炒鸡easy嘞~当然,如果不安装Homebrew的话,直接用平常在Mac上安装其他软件的方法安装Hadoop也是可以的啦,就是从其官网上下载最新版本的Hadoop,然后安装即可。

这里采用Homebrew-cask的方式,命令行如下:

$ brew install hadoop

如果提示说未安装Java的话,说明你没有安装jdk,则按照它的命令提示,安装Java,然后再安装Hadoop。

安装完Hadoop后,需要配置一下才能成功安装[4]。(又是一项浩大的工程啊,路途中出现各种小问题,下面一一道来)

  • 在目录/usr/local/Cellar/hadoop/2.6.0/libexec/etc/hadoop下找到hadoop-env.sh文件中找到其中一行:(有木有盆友不造怎么进入目录啊。。就是打开Finder,然后找最上面工具栏有一个“前往”-->“前往文件夹”-->将路径复制进去即可)
  • export HADOOP_OPTS="$HADOOP_OPTS Djava.net.preferIPv4Stack=true"

    将其替换为:

  • export HADOOP_OPTS="$HADOOP_OPTS -Djava.net.preferIPv4Stack=true -Djava.security.krb5.realm= -Djava.security.krb5.kdc="
  • 在目录/usr/local/Cellar/hadoop/2.6.0/libexec/etc/hadoop下找到core-site.xml,插入如下代码:
  • <configuration>
    <property>
    <name>hadoop.tmp.dir</name>
    <value>/usr/local/Cellar/hadoop/hdfs/tmp</value>
    <description>A base for other temporary directories.</description>
    </property>
    <property>
    <name>fs.default.name</name>
    <value>hdfs://localhost:9000</value>
    </property>
    </configuration>
  • 在目录/usr/local/Cellar/hadoop/2.6.0/libexec/etc/hadoop下找到mapred-site.xml, 在其中添加:
  • <configuration>
    <property>
    <name>mapred.job.tracker</name>
    <value>localhost:</value>
    </property>
    </configuration>

    这里!!就是这里,我居然没有找到mapred-site.xml这个文件,只有一个mapred-site-template.xml文件,然后打不开,最后没办法只好从朋友那里copy了一个这样的文件,具体如下:(当然有该文件的朋友直接按照上面的修改就行了)

  • <?xml version="1.0"?>
    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
    <!--
    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License. See accompanying LICENSE file.
    --> <!-- Put site-specific property overrides in this file. --> <configuration>
    <property>
    <name>mapred.job.tracker</name>
    <value>localhost:</value>
    </property>
    </configuration>
  • 在目录/usr/local/Cellar/hadoop/2.6.0/libexec/etc/hadoop下找到hdfs-site.xml
  • <configuration>
    <property>
    <name>dfs.replication</name>
    <value></value>
    </property>
    </configuration>
  • 在运行后台程序前, 必须格式化新安装的HDFS, 并通过创建存储目录和初始化元数据创新空的文件系统, 执行下面命令:
  • $ hdfs namenode -format
    #生成类似下面的字符串:
    ...
    #此书省略大部分
    STARTUP_MSG: java = 1.6.0_65
    ************************************************************
    /************************************************************
    SHUTDOWN_MSG: Shutting down NameNode at Andrew-liudeMacBook-Pro.local/192.168.1.100
    ************************************************************/
  • 启动后台程序:在/usr/local/Cellar/hadoop/2.6.0/sbin目录下, 执行如下命令
  • $ start-dfs.sh  #启动HDFS
    $ stop-dfs.sh #停止HDFS,当然不是现在停止啦

    (PS:自我反省一下,我是小白我是小白我是小白%>_<%  这里列出几个常用的供自己及同样的小白补脑%>_<%%>_<%)

  • # shell命令有好多种,目前系统默认的应该是bash,但是大神们一致推荐崇尚的时zsh,那么怎么在两者之间切换呢?
    
    cat /etc/shells #将会显示所有的shell命令,目前小白我用过的只有bash跟zsh...然后根据显示输入命令即可转换shell
    ls #显示当前目录下所有子目录
    ls -i #显示当前目录下所拥有的子目录的访问权限
    cd Desktop/ #切换至当前目录下的Desktop
    cd ./path #切换到当前目录下得path目录
    cd ../path #切换到上层目录的path目录
    cd / #切换到根目录 # 一般情况下,ls与cd是交叉使用的,进入一个cd就用ls查看一下,然后才能进入下面一层子目录嘛

    这里我又遇到了一个超级严重的问题,无usr访问权限,反正自己谷歌了好久,具体步骤也有些混乱了,大概就是更改权限,这里只是说一下如何修改一个文件夹的访问权限,以后以不变应万变即可。右击想要更改权限的文件夹--》显示简介——》点击右下角的那个小锁——》输入密码——》更改权限——》改完后别忘记上锁。这样就OK啦。

哦,对还有一个问题,就是我输入 $start-dfs.sh后提示说命令无效,若出现这种情况,可将上述命令更改为

  • ./ start-dfa.sh

  显示如下式样说明启动成功~

   

    最后,在浏览器中输入 http://localhost:50070便可访问Hadoop页面。

    从下午三点钟折腾到现在,边记录,边安装,边查阅才把它安装完毕,光说不练嘴把式,动手动脑动起来~。

参考文献:

[1]. SSH原理与应用(一):远程登录——http://www.ruanyifeng.com/blog/2011/12/ssh_remote_login.html

[2]. Mac OS X Yosemite安装Hadoop 2.6记录——http://blog.csdn.net/yechaodechuntian/article/details/44312343

[3]. 简洁优雅的Mac OS X软件安装体验-homebrew-cask——http://ksmx.me/homebrew-cask-cli-workflow-to-install-mac-applications/

[4].在Mac OSX Yosemite上安装Hadoop——http://andrewliu.tk/2015/03/05/%E5%9C%A8Mac-OSX-Yosemite%E4%B8%8A%E5%AE%89%E8%A3%85Hadoop/

安装单机Hadoop系统(完整版)——Mac的更多相关文章

  1. CentOS 6.5以上版本安装mysql 5.7 完整版教程(修订版)

    转载自:https://codeday.me/collect/20170524/21861.html 1: 检测系统是否自带安装mysql # yum list installed | grep my ...

  2. 新手之VM下安装centos版本Linux系统完整版!

    一.安装必备软件 1:下载好VM workstations虚拟机 2:下载好你要安装的centos版本. 如果没有,请自己先百度下载好~或者找我要. 二.开始安装 VM workstation部分 1 ...

  3. xshell连接vmware系统完整版

    设置静态ip需要修改文件一共有两个要修改的文件vi /etc/resolv.confvi /etc/sysconfig/network-scripts/ifcfg-eno16777736 第一个文件 ...

  4. CentOS7.3利用kubeadm安装kubernetes1.7.3完整版(官方文档填坑篇)

    安装前记: 近来容器对企业来说已经不是什么陌生的概念,Kubernetes作为Google开源的容器运行平台,受到了大家的热捧.搭建一套完整的kubernetes平台,也成为试用这套平台必须迈过的坎儿 ...

  5. Cent OS安装使用ffmpeg(完整版)

    Cent OS安装使用ffmpeg centos作为主流后台linux 系统,ffmpeg作为视频流解析的主力,尤其是ffmpeg配合opencv使用,则是视觉操作的基础 版本: ffmpeg3.1 ...

  6. docker安装单机hadoop

    安装环境 centos7. docker -ce(这个安装参考我的另外一篇博客 首先关闭防火墙 systemctl stop firewalld.service #停止firewall systemc ...

  7. centos6 yum安装mysql 5.6 (完整版)

    使用源代码编译安装mysql还是比较麻烦,一般来说设备安装时请网络同事临时开通linux上网,通过yum网络实现快速安装,或配置yum仓库进行内网统一安装. 通过网络快速安装过程如下 一.检查系统是否 ...

  8. 阿里云ECS服务安装 nginx+php+MariaDB完整版

    安装 Nginx想在 CentOS 系统上安装 Nginx ,你得先去添加一个资源库,像这样: vim /etc/yum.repos.d/nginx.repo使用 vim 命令去打开 /etc/yum ...

  9. SVN 添加账号密码的方法(Windows 系统完整版)

    前言: 本人新接了一个项目,目前该项目基本完工,现在想要将该项目上传至SVN上保管,然后设置并添加账号密码信息,以便于后期加入这个项目的小伙伴可以通过新增加的账号密码信息获取到SVN项目,以便后期项目 ...

随机推荐

  1. spark中数据倾斜解决方案

    数据倾斜导致的致命后果: 1 数据倾斜直接会导致一种情况:OOM. 2 运行速度慢,特别慢,非常慢,极端的慢,不可接受的慢. 搞定数据倾斜需要: 1.搞定shuffle 2.搞定业务场景 3 搞定 c ...

  2. 一个只有十行的精简MVVM框架(下篇)

    本文来自网易云社区. 让我们来加点互动 前面学生信息的身高的单位都是默认m,如果新增一个需求,要求学生的身高的单位可以在m和cm之间切换呢? 首先需要一个变量来保存度量单位,因此这里必须用一个新的Mo ...

  3. Machine Learning Basic Knowledge

    常用的数据挖掘&机器学习知识(点) Basis(基础): MSE(MeanSquare Error 均方误差),LMS(Least MeanSquare 最小均方),LSM(Least Squ ...

  4. hdu2553N皇后问题(dfs,八皇后)

    N皇后问题 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...

  5. NMAP-端口扫描

    1.时序选项 -T0 -> -T5 速度变快,但是准确性下降,nmap默认是T3 2.指定端口 3.扫描指定TCP和UDP端口 4.快速扫描常见100个端口 5.扫描常见的n的端口 6.TCP ...

  6. php 面试题

    1.通过哪一个函数,可以把错误转换为异常处理? A:set_error_handlerB:error_reportingC:error2exceptionD:catch 正确答案:A 答案分析:set ...

  7. [leetcode-784-Letter Case Permutation]

    Given a string S, we can transform every letter individually to be lowercase or uppercase to create ...

  8. Android开发随笔5

    昨天: 对界面的进一步设计补充 可以在界面之间的跳转 研究了对图标等的操作 今天: 实现对库的相关操作 学习视视频内容‘ 复习java的一些知识.

  9. TCP系列27—窗口管理&流控—1、概述

    在前面的内容中我们依次介绍了TCP的连接建立和终止过程和TCP的各种重传方式.接着我们在这部分首先关注交互式应用TCP连接相关内容如延迟ACK.Nagle算法.Cork算法等,接着我们引入流控机制(f ...

  10. 3DMAX贴图无法显示

    问题描述:我在点击"将材质指定给选定对象"按钮之后,模型只是变灰了,没有显示出我贴的图. 原因是:没有显示贴图. 我的解决方案:点击材质编辑器里面的"视口中显示敏感处理材 ...