从零开始搭建大数据平台系列之(2.1)—— Apache Hadoop 2.x 伪分布式环境搭建

版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/gongxifacai_believe/article/details/81567269

JDK 版本:jdk 1.7.0_67
Apache Hadoop 版本:Hadoop 2.5.0

1、安装目录准备

~]$ cd /opt/

opt]$ sudo mkdir /opt/modules
opt]$ sudo chown beifeng:beifeng modules

opt]$ sudo mkdir softwares
opt]$ sudo chown beifeng:beifeng softwares/

2、安装 JDK

(1)解压 JDK

softwares]$ tar  -zxf  jdk-7u67-linux-x64.tar.gz  -C  /opt/modules/

(2)配置环境变量

在配置文件 /etc/profile 中配置如下环境变量:

#JAVA_HOME
export JAVA_HOME=/opt/modules/jdk1.7.0_67
export PATH=$PATH:$JAVA_HOME/bin

3、Apache Hadoop 2.x 伪分布式环境搭建

(1)解压 Hadoop

softwares]$ tar -zxf hadoop-2.5.0.tar.gz -C /opt/modules/

(2)删除 share/doc/ 目录下的全部内容,里面是英文文档,比较占用存储空间

hadoop-2.5.0]$ rm -rf /opt/modules/hadoop-2.5.0/share/doc/

(3)创建目录 data/tmp/,该目录存放 NameNode 和 DataNode 的块文件、镜像文件和日志文件

hadoop-2.5.0]$ mkdir -p data/tmp/

(4)修改配置文件,配置 Hadoop 基本组件

Hadoop 的配置文件存放在 /opt/modules/hadoop-2.5.0/etc/hadoop/ 目录下。

1.   在 hadoop-env.sh、mapred-env.sh、yarn-env.sh 配置文件中指定 JDK 的安装路径:

export JAVA_HOME=/opt/modules/jdk1.7.0_67

2.   在 core-site.xml 配置文件中指定 NameNode 所在机器位置及交互端口号,另外也是指定使用的是 HDFS 文件系统:

<property>
    <name>fs.defaultFS</name>
    <value>hdfs://bigdata-senior.ibeifeng.com:8020</value>
</property>

3.   在 hdfs-site.xml 配置文件中指定副本数个数,默认为 3 个:

<property>
    <name>dfs.replication</name>
    <value>1</value>
</property>

4.   在 core-site.xml 配置文件中更改 Hadoop 默认的临时目录位置,用于存放块文件和元数据文件:

<property>
    <name>hadoop.tmp.dir</name>
    <value>/opt/modules/hadoop-2.5.0/data/tmp</value>
</property>

5.   在 slaves 配置文件中指定从节点位置(主机名),包括 DataNode 和 NodeManager:

6.   更改 mapred-site.xml 文件名称,指定 MR 运行在 yarn 上:

<property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
</property>

7.   修改配置文件 yarn-site.xml,设置 yarn 的相关服务和 ResourceManager 所在的主机名:

<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property>
<property>
    <name>yarn.resourcemanager.hostname</name>
    <value>bigdata-senior.ibeifeng.com</value>
</property>

(5)配置 Hadoop 历史服务器

在配置文件 mapred-site.xml 中如下配置:

<property>
    <name>mapreduce.jobhistory.address</name>
    <value>bigdata-senior.ibeifeng.com:10020</value>
</property>
<property>
    <name>mapreduce.jobhistory.webapp.address</name>
    <value>bigdata-senior.ibeifeng.com:19888</value>
</property>

(6)配置 Hadoop 日志聚集

在配置文件 yarn-site.xml 中如下配置:

<property>
    <name>yarn.log-aggregation-enable</name>
    <value>true</value>
</property>
<property>
    <name>yarn.log-aggregation.retain-seconds</name>
    <value>106800</value>
</property>

(7)配置 HDFS 用户权限检查

在配置文件 hdfs-site.xml 中如下配置:

<property>
    <name>dfs.permissions.enabled</name>
    <value>false</name>
</property>

在配置文件 core-site.xml 中如下配置:

<property>
    <name>hadoop.http.staticuser.user</name>
    <value>beifeng</value>
</property>

(8)配置 SecondaryNameNode

在配置文件 hdfs-site.xml 中如下配置:

 <property>
     <name>dfs.namenode.secondary.http-address</name>
     <value>bigdata-senior.ibeifeng.com:50090</value>
 </property>

(9)配置 SSH 免密码登陆

~]$ cd home/beifeng/.ssh
.ssh]$ ssh-keygen -t rsa

即生成 id_rsa 和 id_rsa.pub 文件,其中 id_rsa 是私钥,id_rsa.pub 是公钥。

.ssh]$ ssh-copy-id bigdata-senior.ibeifeng.com

即生成 authorized_keys 和 known_hosts 文件,其中 authorized_keys 是向远程主机发送的用户公钥,known_hosts 是记录文件,有记录文件就不需要再输入密码了。

4、格式化 NameNode

格式化 NameNode,对于元数据进行初始化,否则无法读取元数据:

hadoop-2.5.0]$ bin/hdfs namenode -format

注:不要多次格式化 NameNode,如需再次格式化,需要先删除 data/tmp/ 下的所有文件。

5、启动 Hadoop 服务组件

(1)启动 NameNode:

hadoop-2.5.0]$ sbin/hadoop-daemon.sh start namenode

(2)启动 DataNode:

hadoop-2.5.0]$ sbin/hadoop-daemon.sh start datanode

(3)启动 ResourceManager:

hadoop-2.5.0]$ sbin/yarn-daemon.sh start resourcemanager

(4)启动 NodeManager:

hadoop-2.5.0]$ sbin/yarn-daemon.sh start nodemanager

(5)启动 SecondaryNameNode:

hadoop-2.5.0]$ sbin/hadoop-daemon.sh start secondarynamenode

(6)启动 HistoryServer:

hadoop-2.5.0]$ sbin/mr-jobhistory-daemon.sh start historyserver

6、停止 Hadoop 服务组件

(1)停止 NameNode:

hadoop-2.5.0]$ sbin/hadoop-daemon.sh stop namenode

(2)停止 DataNode:

hadoop-2.5.0]$ sbin/hadoop-daemon.sh stop datanode

(3)停止 ResourceManager:

hadoop-2.5.0]$ sbin/yarn-daemon.sh stop resourcemanager

(4)停止 NodeManager:

hadoop-2.5.0]$ sbin/yarn-daemon.sh stop nodemanager

(5)停止 SecondaryNameNode:

hadoop-2.5.0]$ sbin/hadoop-daemon.sh stop secondarynamenode

(6)停止 HistoryServer:

hadoop-2.5.0]$ sbin/mr-jobhistory-daemon.sh stop historyserver

猜你喜欢

转载自blog.csdn.net/gongxifacai_believe/article/details/81567269