Mac下配置Hadoop环境
下载Hadoop(我下载的是2.8.0版本)
下载后,使用
tar -zxvf tar包名
解压tar包,解压完成后有这样一个文件出现
修改Hadoop的配置文件
需要修改的配置文件在Hadoop安装路径下的 etc/hadoop中
需要修改的文件包括
- hadoop-env.sh
- core-site.xml
- hdfs-site.xml
- mapred-site.xml
- yarn-site.xml
hadoop-env.sh修改内容如下
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home export HADOOP_CONF_DIR=/Users/FengZhen/Desktop/Hadoop/hadoop-2.8.0/etc/hadoop
在对应的位置找到这两行配置,并修改为本机中的路径。
core-site.xml的配置修改如下
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> <!--用来指定hadoop运行时产生文件的存放目录 自己创建--> <property> <name>hadoop.tmp.dir</name> <value>/Users/FengZhen/Desktop/Hadoop/hadoop-2.8.0/tmp</value> </property> </configuration>
hdfs-site.xml的配置修改如下
<configuration> <property> <!--指定hdfs保存数据副本的数量,包括自己,默认为3--> <!--伪分布式模式,此值必须为1--> <name>dfs.replication</name> <value>1</value> </property> <!--不是root用户也可以写文件到hdfs--> <property> <name>dfs.permissions</name> <value>false</value> <!--关闭防火墙--> </property> </configuration>
mapred-site.xml的配置修改如下
<configuration> <property> <!--指定mapreduce运行在yarn上--> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
yarn-site.xml的配置修改如下
<configuration> <!-- Site specific YARN configuration properties --> <property> <name>yarn.resourcemanager.hostname</name> <value>localhost</value> </property> <property> <!--NodeManager获取数据的方式--> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration>
配置Hadoop环境变量
在 .bash_profile 文件中配置Hadoop环境变量,使用vim打开该文件,进入编辑模式
vim ~/.bash_profile
在该文件中添加
export HADOOP_HOME=/Users/FengZhen/Desktop/Hadoop/hadoop-2.8.0 此处为Hadoop的安装路径
export PATH=$PATH:$HADOOP_HOME/bin
添加完成后保存退出。
使用source命令使该文件中的修改立即生效
source ~/.bash_profile
到此所有的配置已经完成,接下来执行该命令格式化namenode
hadoop namenode -format
格式化成功之后,即可启动Hadoop,在Hadoop安装目录下有个/sbin目录,目录下有个start-all.sh,执行该文件
./start-all.sh
启动过程中会需要输入几次密码,输入即可。
启动结束后在shell输入命令 jps 可输出所有java进程及其pid
至此,Hadoop环境配置成功。
此时执行以下命令
hadoop fs -mkdir /testdata 在hdfs根目录下创建一个文件夹 testdata
hadoop fs -ls / 可查看根目录下的文件及文件夹
结束。。