什么是单点伪分布集群
在本地或远程一台电脑上虚拟出几个电脑模拟生产环境下3台以上的服务器集群运行 hadoop,主要用于本地调试数据挖掘的脚本或学习 hadoop 之用。
安装 Java 环境
打开链接:
http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html
下载好之后双击 dmg 打开然后双击安装...
安装 HomeBrew
下面所有的命令都是在 mac 的 终端
程序运行(在 spotlight 搜索一下就有)
如果之前安装过就不用了
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
安装 Hadoop
执行命令
sudo chmod 777 /usr/local/sbin
不执行权限修改的话会报错
Error: The
brew link
step did not complete successfully
The formula built, but is not symlinked into /usr/local
Could not symlink sbin/distribute-exclude.sh
/usr/local/sbin is not writable.
接着执行命令:
brew install hadoop
配置 Hadoop
进入 hadoop 目录,2.7.2是你安装的版本号(不知道的可以用sudo hadoop version命令查看)
/usr/local/Cellar/hadoop/2.7.2/libexec/etc/hadoop/
网上有说配置免密钥登录的,可能就不用加sudo 运行本文的指令,你们可以试试;但是对于小白来说很容易踩坑;为了安全性我就不配置免密钥登录了
修改hadoop-env.sh
vim hadoop-env.sh
找到
export HADOOP_OPTS="$HADOOP_OPTS -Djava.net.preferIPv4Stack=true"
按下键盘上的 i 进入编辑模式(下面的编辑同理,看到左下角有 INSERT 文字代表进入成功)
将上面找到的那一行export 的东西删掉,把下面这一句粘贴上
export HADOOP_OPTS="$HADOOP_OPTS -Djava.net.preferIPv4Stack=true -Djava.security.krb5.realm= -Djava.security.krb5.kdc="
修改完成后点键盘左上角的 esc
键,然后输入 :wq
,按下键盘 rerurn
即可(这个操作的意思是保存操作并退出)。
修改core-site.xml
vim core-site.xml
找到
<configuration>
</configuration>
还是点击 i 进入编辑模式,在中间加入配置,最终效果如下:
<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>
修改完成后点键盘左上角的 esc
键,然后输入 :wq
,按下键盘 rerurn
即可(这个操作的意思是保存操作并退出)。
修改mapred-site.xml
目录里面没mapred-site.xml文件,只有一个mapred-site.xml.template ; 所以要先重命名文件。执行命令:
mv mapred-site.xml.template mapred-site.xml
vim mapred-site.xml
找到
<configuration>
</configuration>
还是点击 i 进入编辑模式,在中间加入配置,最终效果如下:
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9010</value>
</property>
</configuration>
修改完成后点键盘左上角的 esc
键,然后输入 :wq
,按下键盘 rerurn
即可(这个操作的意思是保存操作并退出)。
修改hdfs-site.xml
vim hdfs-site.xml
找到
<configuration>
</configuration>
还是点击 i 进入编辑模式,在中间加入配置,最终效果如下:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
修改完成后点键盘左上角的 esc
键,然后输入 :wq
,按下键盘 rerurn
即可(这个操作的意思是保存操作并退出)。
建立 hadoop 启动停止指令的别名方便操作
vim ~/.profile
点击 i 进入编辑模式,加入以下两行
第一行:
alias hstart="/usr/local/Cellar/hadoop/2.6.0/sbin/start-dfs.sh;/usr/local/Cellar/hadoop/2.6.0/sbin/start-yarn.sh"
第二行:
alias hstop="/usr/local/Cellar/hadoop/2.6.0/sbin/stop-yarn.sh;/usr/local/Cellar/hadoop/2.6.0/sbin/stop-dfs.sh"
修改完成后点键盘左上角的 esc
键,然后输入 :wq
,按下键盘 rerurn
即可(这个操作的意思是保存操作并退出)。使该配置生效还需要运行命令:
vim ~/.profile
格式化分布式文件存储系统 HDFS
sudo hdfs namenode -format
因为权限不足,所以不加 sudo 会出现:
Error: Could not find or load main class
org.apache.hadoop.hdfs.server.namenode.NameNode
对应中文系统的提示是:
错误: 找不到或无法加载主类 org.apache.hadoop.hdfs.server.namenode.NameNode
SSH 登录本地服务器
在 Mac 系统默认是禁止远程登录的,所以要在系统的 System Preferences > Sharing > Remote Login
选项打上勾,对应的中文路径是系统左上角的 系统偏好设置 > 共享 > 远程登录
选项打上勾。

ssh 登录本地计算机
ssh localhost
如果不做之前的系统配置会提示错误
ssh: connect to host localhost port 22: Connection refused
启动 hadoop 伪分布式集群
hstart
然后就是根据提示输入好多次密码,启动成功。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。