CentOS安装Hadoop集群

CentOS安装Hadoop集群

一:下载Hadoop,解压,目录介绍

1:下载地址

http://archive.apache.org/dist/hadoop/common

2:上传到服务器并解压

tar -zxvf hadoop-2.8.2.tar.gz 

3:目录介绍

bin:Hadoop最基本的管理脚本和使用脚本的目录,这些脚本是sbin目录下管理脚本的基础实现,用户可以直接使用这些脚本管理和使用Hadoop。

etc:Hadoop配置文件所在的目录,包括core-site.xml、hdfs-site.xml、mapred-site.xml等从Hadoop1.0继承而来的配置文件和yarn-site.xml等Hadoop2.0新增的配置文件。

include:对外提供的编程库头文件(具体动态库和静态库在lib目录中),这些头文件均是用C++定义的,通常用于C++程序访问HDFS或者编写MapReduce程序。

lib:该目录包含了Hadoop对外提供的编程动态库和静态库,与include目录中的头文件结合使用。

libexec:各个服务对用的shell配置文件所在的目录,可用于配置日志输出、启动参数(比如JVM参数)等基本信息。

sbin:Hadoop管理脚本所在的目录,主要包含HDFS和YARN中各类服务的启动/关闭脚本。

share:Hadoop各个模块编译后的jar包所在的目录。

二:配置Hadoop

1:进入配置文件目录

我的hadoop放在/apps/hadoop/下

cd /apps/hadoop/hadoop-2.8.2/etc/hadoop

2:修改java环境

vi hadoop-env.sh

export JAVA_HOME=/apps/java/jdk1.8        //修改java环境变量

3:修改核心文件

vi core-site.xml

<!--指定hadoop所使用的文件系统SCHEMA(URI),HDFS的老大NameNode的地址-->
<property>
    <name>fs.defaultFS</name>
    <value>hdfs://192.168.209.100:9000</value>
</property>
<!--指定hadoop运行时产生文件的储存目录-->
<property>
    <name>hadoop.tmp.dir</name>
    <value>/apps/hadoop/hadoop-2.8.2/tmp</value>
</property>

4:修改hdfs文件

vi hdfs-site.xml 

<!--指定hdfs副本数量-->
<property>
    <name>dfs.replication</name>
    <value>3</value>
</property>
<property>
    <name>dfs.secondary.http.address</name>
    <value>192.168.209.100:50090</value>
</property>

5:修改mapred文件

hadoop里面只有mapred-site.xml.template模板,需要我们手动复制一个mapred-site.xml

cp mapred-site.xml.template mapred-site.xml

修改文件

vi mapred-site.xml

<!--指定mapred运行在哪里-->
<property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
</property>
<property>  
    <name>mapreduce.jobhistory.address</name>  
    <value>192.168.209.100:10020</value>  
</property>

6.修改yarn文件

vi yarn-site.xml 

<!--指定yarn的老大(ResourceManager)-->
<property>
    <name>yarn.resourcemanager.hostname</name>
    <value>192.168.209.100</value>
</property>
<!--reducer获取数据的方式-->
<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property>

7.配置环境变量

vi /etc/profile

JAVA_HOME=/apps/java/jdk1.8
JRE_HOME=$JAVA_HOME/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
HADOOP_HOME=/apps/hadoop/hadoop-2.8.2
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export JAVA_HOME JRE_HOME CLASS_PATH HADOOP_HOME PATH

三:启动Haddop

1:格式化namenode

hadoop namenode -format            //第一次启动时使用

//自动生成的地址
/apps/hadoop/hadoop-2.8.2/tmp/dfs/name/current/  

2.启动namenode

hadoop-daemon.sh start namenode        //HDFS启动
hadoop-daemon.sh stop namenode        //HDFS关闭

3.启动datanode

hadoop-daemon.sh start datanode        //HDFS启动
hadoop-daemon.sh stop datanode        //HDFS关闭

4.启动secondarynamenode

hadoop-daemon.sh start secondarynamenode    //HDFS启动
hadoop-daemon.sh stop secondarynamenode        //HDFS关闭

启动成功后:

http://192.168.209.100:50070        //HDFS管理界面
http://192.168.209.100:8088            //MR管理界面(yarn)

5.上传文件到HDFS根目录

hdfs dfs -put install.log /

6.创建快捷启动

6.1:修改slaves文件(此文件位于hadoop安装目录下的/etc/hadoop里)
//我的hadoop安装目录为/apps/hadoop/hadoop-2.8.2
cd /apps/hadoop/hadoop-2.8.2/etc/hadoop

//修改slaves文件
vi slaves

//将slaves里面的内容删除掉,修改成自己的所有hadoop服务器ip
192.168.209.100
192.168.209.101
192.168.209.102

//将slaves拷贝到其他服务器
scp -r slaves root@192.168.209.101:/apps/hadoop/hadoop-2.8.2/etc/hadoop/
scp -r slaves root@192.168.209.102:/apps/hadoop/hadoop-2.8.2/etc/hadoop/

6.2:一键启动

进入hadoop安装目录下的sbin目录

//我的hadoop安装目录为/apps/hadoop/hadoop-2.8.2
cd /apps/hadoop/hadoop-2.8.2/sbin

./start-dfs.sh         //HDFS启动
./stop-dfs.sh         //HDFS关闭

7.yarn启动

./start-yarn.sh        //yarn启动
./stop-yarn.sh        //yarn关闭

8.测试计算

//我的hadoop安装目录为/apps/hadoop/hadoop-2.8.2
cd /apps/hadoop/hadoop-2.8.2/share/hadoop/mapreduce

//计算圆周率(第1个100指的是要运行100次map任务,第2个数字指的是每个map任务,要投掷多少次,2个参数的乘积就是总的投掷次数。)
hadoop jar hadoop-mapreduce-examples-2.8.2.jar pi 5 10

微信公众号,欢迎扫码关注