零基础小白在 mac 上配置 Hadoop 单点伪分布集群填坑过程

什么是单点伪分布集群

在本地或远程一台电脑上虚拟出几个电脑模拟生产环境下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
找到

还是点击 i 进入编辑模式,在中间加入配置,最终效果如下:

 hadoop.tmp.dir /usr/local/Cellar/hadoop/hdfs/tmp A base for other temporary directories. fs.default.name                                      hdfs://localhost:9000                             

修改完成后点键盘左上角的 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
找到

还是点击 i 进入编辑模式,在中间加入配置,最终效果如下:

mapred.job.tracker
localhost:9010

修改完成后点键盘左上角的 esc 键,然后输入 :wq ,按下键盘 rerurn 即可(这个操作的意思是保存操作并退出)。

修改hdfs-site.xml

vim hdfs-site.xml
找到

还是点击 i 进入编辑模式,在中间加入配置,最终效果如下:

dfs.replication
1

修改完成后点键盘左上角的 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
然后就是根据提示输入好多次密码,启动成功。

关键字:产品经理

版权声明

本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处。如若内容有涉嫌抄袭侵权/违法违规/事实不符,请点击 举报 进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部