安装单机Hadoop系统(完整版)——Mac
在这个阴雨绵绵的下午,没有睡午觉的我带着一双惺忪的眼睛坐在了电脑前,泡上清茶,摸摸已是略显油光的额头(笑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的更多相关文章
- CentOS 6.5以上版本安装mysql 5.7 完整版教程(修订版)
转载自:https://codeday.me/collect/20170524/21861.html 1: 检测系统是否自带安装mysql # yum list installed | grep my ...
- 新手之VM下安装centos版本Linux系统完整版!
一.安装必备软件 1:下载好VM workstations虚拟机 2:下载好你要安装的centos版本. 如果没有,请自己先百度下载好~或者找我要. 二.开始安装 VM workstation部分 1 ...
- xshell连接vmware系统完整版
设置静态ip需要修改文件一共有两个要修改的文件vi /etc/resolv.confvi /etc/sysconfig/network-scripts/ifcfg-eno16777736 第一个文件 ...
- CentOS7.3利用kubeadm安装kubernetes1.7.3完整版(官方文档填坑篇)
安装前记: 近来容器对企业来说已经不是什么陌生的概念,Kubernetes作为Google开源的容器运行平台,受到了大家的热捧.搭建一套完整的kubernetes平台,也成为试用这套平台必须迈过的坎儿 ...
- Cent OS安装使用ffmpeg(完整版)
Cent OS安装使用ffmpeg centos作为主流后台linux 系统,ffmpeg作为视频流解析的主力,尤其是ffmpeg配合opencv使用,则是视觉操作的基础 版本: ffmpeg3.1 ...
- docker安装单机hadoop
安装环境 centos7. docker -ce(这个安装参考我的另外一篇博客 首先关闭防火墙 systemctl stop firewalld.service #停止firewall systemc ...
- centos6 yum安装mysql 5.6 (完整版)
使用源代码编译安装mysql还是比较麻烦,一般来说设备安装时请网络同事临时开通linux上网,通过yum网络实现快速安装,或配置yum仓库进行内网统一安装. 通过网络快速安装过程如下 一.检查系统是否 ...
- 阿里云ECS服务安装 nginx+php+MariaDB完整版
安装 Nginx想在 CentOS 系统上安装 Nginx ,你得先去添加一个资源库,像这样: vim /etc/yum.repos.d/nginx.repo使用 vim 命令去打开 /etc/yum ...
- SVN 添加账号密码的方法(Windows 系统完整版)
前言: 本人新接了一个项目,目前该项目基本完工,现在想要将该项目上传至SVN上保管,然后设置并添加账号密码信息,以便于后期加入这个项目的小伙伴可以通过新增加的账号密码信息获取到SVN项目,以便后期项目 ...
随机推荐
- 【BZOJ4818】序列计数(动态规划,生成函数)
[BZOJ4818]序列计数(生成函数) 题面 BZOJ 题解 显然是求一个多项式的若干次方,并且是循环卷积 或者说他是一个\(dp\)也没有问题 发现项数很少,直接暴力乘就行了(\(FFT\)可能还 ...
- c++继承详解:共有(public)继承,私有继承(private)继承,保护(protected)继承
公有继承(public)继承.私有继承(private).保护继承(protected)是常用的三种继承方式. 1.公有继承(public) 公有继承的特点是基类的公有成员和保护成员作为派生类的成员时 ...
- mySql——case when else ....demo
DROP PROCEDURE IF EXISTS Pro_query_change_charge_by_layer_report; CREATE PROCEDURE Pro_query_change_ ...
- hdu1203I NEED A OFFER!(01背包)
I NEED A OFFER! Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)T ...
- BehaviorDesigner学习
行为树: 行为树设计师插件是一个专门为unity设计的AI插件. 学习用!!!插件地址:链接:http://pan.baidu.com/s/1dF2okPN 密码:b43m 通过继承Behavior中 ...
- 【聚合报告】- 秒懂jmeter
- 下拉网页div自动浮在顶部
<!DOCTYPE html> <html> <head> <title></title> <style type="tex ...
- org.apache.spark.launcher.Main源码分析
public static void main(String[] argsArray) throws Exception { //org.apache.spark.launcher.Main chec ...
- sparkML原始数据转换成label-features方法
数据1:kaggle-旧金山犯罪分类数据 格式如下: Dates,Category,Descript,DayOfWeek,PdDistrict,Resolution,Address,X,Y -- :: ...
- 【RL系列】Multi-Armed Bandit笔记补充(一)
在此之前,请先阅读上一篇文章:[RL系列]Multi-Armed Bandit笔记 本篇的主题就如标题所示,只是上一篇文章的补充,主要关注两道来自于Reinforcement Learning: An ...