Hadoop版本:我们采用目前主流的版本:2.7.3
Hadoop介绍:目前最流行的分布式计算平台。
Hadoop安装:
Hadoop官方文档提供了3种安装模式:
- 单机安装:Hadoop所有服务都在一个JVM进程运行
- 单机伪分布式安装:Hadoop服务都在一台机器上每个独立JVM进程运行
- 完全分布式安装:在多个物理机或虚拟机分别安装Hadoop相关服务
这里我们将采用单机伪分布式安装模式,官方安装文档链接:https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/SingleCluster.html
1.配置ssh无密登录本机
执行如下命令:
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
最后执行:
ssh localhost
如果没有提示输入密码就成功了,ssh原理自己google一下吧。
2.准备安装包
- 安装包下载地址:
http://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-2.7.3/hadoop-2.7.3.tar.gz - 拷贝安装包到目录/Users/****
/apps,执行解压缩命令:
tar zxvf hadoop-2.7.3.tar.gz
3.创建hadoop相关目录
- tmp目录:
mkdir -p /Users/****/apps/data/hadoop/tmp
- 数据块目录:
mkdir -p /Users/****/apps/data/hadoop/hdfs/data
- namenode元文件目录:
mkdir -p /Users/**** /apps/data/hadoop/hdfs/namenode
4.配置环境变量
vim ~/.bash_profile
export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_71.jdk/Contents/Home/"
export M2_HOME=/Users/****/apps/apache-maven-3.3.9
export HADOOP_HOME=/Users/****/apps/hadoop-2.7.3
export PATH=$PATH:$JAVA_HOME/bin:$M2_HOME/bin:$HADOOP_HOME/bin
执行source使bash_profile文件修改立即生效:
source ~/.bash_profile
5.配置Hadoop相关文件
- 配置hadoop-env.sh的JAVA_HOME
vim $HADOOP_HOME/etc/hadoop/hadoop-env.sh
注释源文件中的:
#export JAVA_HOME=${JAVA_HOME}
添加:
export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_71.jdk/Contents/Home/"
- 配置yarn-env.sh的JAVA_HOME
vim $HADOOP_HOME/etc/hadoop/yarn-env.sh
在文件最末尾添加:
export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_71.jdk/Contents/Home/"
- 配置core-site.xml
vim $HADOOP_HOME/etc/hadoop/core-site.xml
修改内容为:
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
<description>HDFA的URI</description>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/Users/****/apps/data/hadoop/tmp</value>
<description>namenode临时文件夹</description>
</property>
</configuration>
- 配置hdfs-site.xml
vim $HADOOP_HOME/etc/hadoop/hdfs-site.xml
修改内容为:
<configuration>
<property>
<name>dfs.name.dir</name>
<value>/Users/****/apps/data/hadoop/hdfs/namenode
</value>
<description>namenode名字空间元数据存储目录
</description>
</property>
<property>
<name>dfs.data.dir</name>
<value>/Users/****/apps/data/hadoop/hdfs/data</value>
<description>datanode数据块的存储目录</description>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
<description>数据块副本个数,单机部署修改为1</description>
</property>
</configuration>
- 配置yarn-site.xml
vim $HADOOP_HOME/etc/hadoop/yarn-site.xml
修改内容为:
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
- 配置mapred-site.xml
cp $HADOOP_HOME/etc/hadoop/mapred-site.xml.template $HADOOP_HOME/etc/hadoop/mapred-site.xml
vim $HADOOP_HOME/etc/hadoop/mapred-site.xml
修改内容为:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
6.启动Hadoop
-
进入Hadoop安装目录:
hadoop-1.png - 格式化namenode
bin/hdfs namenode -format
- 启动NameNode和DataNode服务
sbin/start-dfs.sh &
- 启动ResourceManager 和 NodeManager服务
sbin/start-yarn.sh &
我们也可以通过:
sbin/start-all.sh &
一次启动NameNode、DataNode、ResourceManager和NodeManager。
最后我们执行jps命令查询Hadoop相关服务是否正确启动:
hadoop-2.png
如果看到上图的5个进程就代表安装成功了
- 使用hdfs和mapreduce
查看hdfs目录结构:
bin/hdfs dfs -ls /
hadoop-3.png
- 创建一个hdfs目录:
bin/hdfs dfs -mkdir /ad_log/
hadoop-4.png
- 再查看一下hdfs目录:
bin/hdfs dfs -ls /
hadoop-5.png
7.Hadoop的几个Web服务
- Namenode信息,地址:http://localhost:50070/
打开后可以看到Hadoop服务的全局信息:
hadoop-6.png
在这个页面的最后一个菜单下可以进入到HDFS:
hadoop-7.png
点击Browse the filesystem就进入了HDFS:
hadoop-8.png
我们可以看到刚才所创建的目录ad_log
- yarn的集群管理页面,地址:http://localhost:8088/cluster