本例在centos7上安装hadoop2.6.0。
1、准备虚拟机,安装jdk,下载安装软件
安装虚拟机可以参考:虚拟机安装linux、配置网络、连接xshell
安装jdk可以参考:linux安装jdk,详解
本文使用hadoop-2.6.0-cdh5.14.2,可用下载链接。其它的cdh版本的相关软件可到此选择下载:http://archive.cloudera.com/cdh5/cdh/5/。
我这里在/opt下创建了software和install文件夹用以存放下载的压缩包和解压后的文件
把下载的包放到software里后,进入software文件夹,加压文件到install文件夹中
cd /opt/software
tar zxf hadoop-2.6.0-cdh5.14.2.tar.gz -C /opt/install/
为了方便,我还把虚拟机的地址添加到**/etc/hosts**里了
2、修改配置文件
进入hadoop配置文件夹
cd /opt/install/hadoop-2.6.0-cdh5.14.2/etc/hadoop/
大致需要修改的文件如图
----在hadoop-env.sh内修改JAVA_HOME的路径
----在core-site.xml中添加配置
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop1:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/install/hadoop-2.6.0-cdh5.14.2/data/tmp</value>
</property>
fs.defaultFS指定文件系统位置,其实指定namenode接受心跳信息的端口。这里配置的就是本机ip:9000,因为我之前就在/etc/hosts文件已经添加过本机ip和对应主机名,所以直接写的hadoop1:9000
hadoop.tmp.dir指定hadoop运行时产生文件的存储目录。默认目录指向的是/tmp,而系统重启时会自动删除/tmp目录下的文件,就会导致之前的很多操作被删除,故重新设置文件夹给它
----在hdfs-site.xml里添加配置
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
dfs.replication指定存文件的副本数
----在yarn-site.xml里添加配置
<property>
<name>yarn.resourcemanager.localhost</name>
<value>localhost</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.scheduler.minimum-allocation-mb</name>
<value>2048</value>
</property>
yarn.resourcemanager.localhost指定yarn的站点名称
yarn.nodemanager.aux-services指定辅助节点管理的服务,这里设为mapreduce_shuffle,才可启用mapreduce
yarn.scheduler.minimum-allocation-mb指定单个任务可申请的最少物理内存量,默认值是1024MB。可自行根据处理情况设定,这里设的2g,一般用不到这么多,不需要设。
----以临时mapred配置为基础建立mapred-site.xml并添加配置
cp mapred-site.xml.template mapred-site.xml
vi mapred-site.xml
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
mapreduce.framework.name设为yarn,是设置映射化简模型框架为yarn,以指定MR运行在yarn上
3、配置环境变量
执行vi /etc/profile,为hadoop添加环境变量
#HADOOP_HOME
export HADOOP_HOME=/opt/install/hadoop-2.6.0-cdh5.14.2
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
export HADOOP_INSTALL=$HADOOP_HOME
执行source /etc/profile启用配置
4、启动
首先格式化NameNode,在hadoop对应的bin目录下执行hdfs namenode –format
cd /opt/install/hadoop-2.6.0-cdh5.14.2/bin
hdfs namenode -format
启动之前可以设置对自己的免密登录,以跳过输入密码的操作,具体操作可以看我的这篇博客:linux上,设置ssh免密登录,附原理说明
因为已经添加相关环境变量,这里直接执行start-all.sh即可启用hadoop
start-all.sh
之后执行jps可以看当前进程
想一次性全部关闭,可执行
stop-all.sh
这里也可以分布执行/opt/install/hadoop-2.6.0-cdh5.14.2/sbin目录下的start-hdfs.sh与start-yarn.sh分步的启动dfs和yarn,也能得到同样效果,这里不再演示了。
#到执行文件的目录下
cd /opt/install/hadoop-2.6.0-cdh5.14.2/sbin
#启动hdfs
./start-dfs.sh
#启动yarn
./start-yarn.sh
#关闭yarn
./stop-yarn.sh
#关闭hdfs
./stop-dfs.sh