Hadoop 可以部署成非分布式模式运行的一个java进程(主要用于本地调试),也可以可以在单节点上以所谓的伪分布式模式运,每一个Hadoop守护进程都作为一个独立的Java进程运行。下面主要说下Mac下面伪分布式的安装和启动
一、安装前准备。
java环境配置
jdk 安装包下载,解压和配置环境变量的配置。
如果第一次配置环境变量,创建一个.bash_profile的隐藏配置文件。若配置文件.bash_profile已存在,则直接vi编辑,添加java 环境变量信息。
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/
export CLASSPATH=.:$JAVA_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/:$PATH
Hadoop安装包下载,可以在Hadoop官网下载对应版本,解压到对应文文件夹。配置Hadoop 环境变量:
export HADOOP_HOME=/Users/pengjian/hadoop-2.8.51
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
Mac免密登陆设置(不然启动需要输密码),需要设置ssh localhost 免密登陆。和云服务设置类似。
1、生成rsa或者dsa 公私钥文件
ssh-keygen -t rsa
2、将 id_rsa.pub 添加到 authorized_keys 中
cat ~/.ssh/id_rsa.pub >> authorized_keys
设 authorized_keys 权限 chmod 600 authorized_keys
3、Mac 共享设置,进入“系统偏好设置”,找到“共享”,勾选“远程登录”。
- Hadoop 相关文件配置({hadoop_home}/etc/hadoop下面)
1、配置Hadoop的默认文件系统和指定namenode所在的机器,以及namenode存储的目录。
修改core-site.xml<configuration> <property> <name>hadoop.tmp.dir</name> <value>/Users/pengjian/hadoop-2.8.5/hdp-data</value> </property> <property> <name>fs.default.name</name> <value>hdfs://127.0.0.1:8000</value> </property> </configuration>
2、数据块副本系数,这里设置成1(其他数字且没对应的节点会报错)。
修改hdfs-site.xml。
<configuration> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration>
3、如不运行mapreduce 不需要启动JobTracker 等,也就不需要配置mapred相关的文件。
二、格式化namenode和启动
1、格式化namenode,在启动Hadoop前需要格式化Hadoop的文件系统HDFS。
进入Hadoop文件夹,执行下面命令:bin/hadoop namenode -format
2、启动Hadoop,进入 hadoop 文件夹中 sbin文件夹 下 执行 start-all.sh。
3、可以通过访问 web 页面查看正常,也可以通过Hadoop version
hdfs 页面:http://localhost:50070
mapreuce 页面:http://localhost:8088
如果有问题也可以访问日志文件,Hadoop文件中有对应的log文件夹,有对应namenode datanode manage等。
对于伪分布式而言,是在同一个节点中同时启动多个java进程,如datanode,namenode,manage等。如下:
下一篇我们将介绍hdfs的使用。