CentOS 7下搭建伪分布式hadoop2.10.2

注:本文章仅为记录本人安装过程,如有不足之处欢迎大家指正。

文章目录

  • 一、安装前提
  • 二、配置SSH免密登陆
    • 1.查看是否安装有ssh
    • 2.生成密钥文件
    • 3.拷贝密钥
    • 4.测试是否配置成功
  • 三、下载解压并配置环境变量
    • 1.切换至指定目录下(下列代码以本人常用路径为例)
    • 2.下载hadoop2.10.2.tar.gz
    • 3.解压并删除压缩包
    • 4.配置环境变量
  • 三、修改配置文件
    • 1.修改core-site.xml文件
    • 2.修改hadoop-env.sh文件
    • 3.修改hdfs-site.xml文件
  • 四、配置YARN(伪分布式可跳过,直接第五步)
    • 1.修改mapred-site.xml文件
    • 2.修改yarn-site.xml文件
  • 五、格式化NameNode,测试启动
    • 1.格式化namenode
    • 2.启动守护进程
    • 3.启动YARN(伪分布式不启动 YARN 也可以)
    • 4.启动关闭命令示例
      • (1).分步启动
      • (2).分步关闭
      • (3).一键启动
      • (4).一键关闭
  • 总结


一、安装前提

需已安装jdk,使用如下命令查看java版本以及安装位置

# 查看java版本
java -version

示例图片

# 查看jdk安装位置
echo $JAVA_HOME

示例图片
具体安装教程可参考另一篇文章:

CentOS 7下安装jdk

二、配置SSH免密登陆

如不配置免密,每次启动hadoop都要输入几次密码,很麻烦,配置后则无需密码

1.查看是否安装有ssh

rpm -qa | grep ssh

CentOS 7下搭建伪分布式hadoop2.10.2_第1张图片
一般CentOS带有ssh,如果没有的话使用如下命令分别安装即可

# ssh服务
yum -y install openssh-server

# ssh客户端
yum -y install openssh-clients

2.生成密钥文件

ssh-keygen -t rsa

执行命令后连按三次回车即可,红框标注处为密钥生成位置
CentOS 7下搭建伪分布式hadoop2.10.2_第2张图片

3.拷贝密钥

由于搭建的是伪分布式,所以拷贝给本机就行

ssh-copy-id docker

这个docker是我的本机名,也可以替换为本机ip地址

CentOS 7下搭建伪分布式hadoop2.10.2_第3张图片
询问是否确认继续连接时输入yes再回车,要求输入密码时输入后再回车(输入的密码不可见)

4.测试是否配置成功

ssh docker

可以看到直接ssh已经不用输入密码了
示例图片

这里输入命令exit退出ssh终端
示例图片

三、下载解压并配置环境变量

1.切换至指定目录下(下列代码以本人常用路径为例)

cd /usr/local/

2.下载hadoop2.10.2.tar.gz

此处使用的清华镜像,也可替换为其他镜像源

wget https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-2.10.2/hadoop-2.10.2.tar.gz

如果没有wgt,使用如下命令安装即可:

yum -y install wget

也可以通过Xftp等工具直接上传至该目录下
示例图片

3.解压并删除压缩包

tar -zxvf ./hadoop-2.10.2.tar.gz && rm -rf ./hadoop-2.10.2.tar.gz

示例图片

4.配置环境变量

vi /etc/profile

在该文件中加入如下代码并保存

# hadoop environment
export HADOOP_HOME=/usr/local/hadoop-2.10.2 #(参照自身路径)
export JAVA_LIBRARY_PATH=/usr/local/hadoop-2.10.2/lib/native
export HADOOP_INSTALL=$HADOOP_HOME
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

使环境变量生效

source /etc/profile

查看hadoop版本信息

hadoop version

示例图片

三、修改配置文件

1.修改core-site.xml文件

# 切换路径
cd /usr/local/hadoop-2.10.2/etc/hadoop

# 编辑文件
vi core-site.xml

将如下代码填入configuration标签中

<property>
    <name>fs.defaultFS</name>
    <!-- 这里填的是你自己的ip,端口默认-->
    <value>hdfs://192.168.217.128:9000</value>
</property>
<property>
    <name>hadoop.tmp.dir</name>
    <!-- 这里填的是你自定义的hadoop工作的目录-->
    <value>/usr/local/hadoop-2.10.2/tmp</value>
</property>

<property>
    <name>hadoop.native.lib</name>
    <value>false</value>
    <description>Should native hadoop libraries, if present, be used.
    </description>
</property>

CentOS 7下搭建伪分布式hadoop2.10.2_第4张图片

2.修改hadoop-env.sh文件

vi hadoop-env.sh

CentOS 7下搭建伪分布式hadoop2.10.2_第5张图片
找到该条JAVA_HOME环境变量并将箭头标识的${JAVA_HOME}改为自己的java路径,如:

#将该句修改为自己java路径
export JAVA_HOME=/usr/local/jdk1.8.0_202

3.修改hdfs-site.xml文件

vi hdfs-site.xml

将如下代码填入configuration标签中

<property>
        <name>dfs.replication</name>
	<!--副本数量,单机版设置为1即可-->
        <value>1</value>
    </property>

    <property>
        <name>dfs.secondary.http.address</name>
	<!--这里是你自己的ip,端口默认-->
        <value>192.168.217.128:50090</value>
</property>

CentOS 7下搭建伪分布式hadoop2.10.2_第6张图片

四、配置YARN(伪分布式可跳过,直接第五步)

1.修改mapred-site.xml文件

# 通过模板文件生成mapred-site.xml文件
cp mapred-site.xml.template ./mapred-site.xml

# 修改
vi mapred-site.xml

将如下代码填入configuration标签中

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

CentOS 7下搭建伪分布式hadoop2.10.2_第7张图片

2.修改yarn-site.xml文件

vi yarn-site.xml

将如下代码填入configuration标签中

<property>
    <name>yarn.resourcemanager.hostname</name>
    <!-- 自己的ip端口默认 -->
    <value>192.168.217.128</value>
</property>
<!-- reducer获取数据的方式 -->
<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property>

CentOS 7下搭建伪分布式hadoop2.10.2_第8张图片

五、格式化NameNode,测试启动

1.格式化namenode

切换路径

cd /usr/local/hadoop-2.10.2/sbin/

执行格式化

hadoop namenode -format

出现如下输出则成功
CentOS 7下搭建伪分布式hadoop2.10.2_第9张图片

2.启动守护进程

./start-dfs.sh

如果出现是否继续连接,输入yes回车即可
CentOS 7下搭建伪分布式hadoop2.10.2_第10张图片

使用命令jps查看进程,可以看到如下4个进程则启动成功
CentOS 7下搭建伪分布式hadoop2.10.2_第11张图片

这个时候可以打开浏览器查看 NameNode 和 Datanode 信息,还可以在线查看 HDFS 中的文件,地址为http://虚拟机或服务器ip:50070
CentOS 7下搭建伪分布式hadoop2.10.2_第12张图片
如果无法访问的话有可能是防火墙问题,关闭防火墙即可

3.启动YARN(伪分布式不启动 YARN 也可以)

./start-yarn.sh

再次使用命令jps查看进程可以发现多了如下两个进程
CentOS 7下搭建伪分布式hadoop2.10.2_第13张图片

4.启动关闭命令示例

由于前面已经配置了环境变量,所有不需要再进入hadoop所在目录执行启动或关闭命令,在任意位置可直接输入命令。
hadoop官方推荐使用分步命令进行启动关闭操作

(1).分步启动

# 先启动hadoop,一般的学习环境下只需要NameNode和DataNode即可
start-dfs.sh

# 再启动yarn(伪分布式可不启动)
start-yarn.sh

(2).分步关闭

# 先关闭yarn
stop-yarn.sh

# 再关闭hadoop
stop-dfs.sh

(3).一键启动

start-all.sh

(4).一键关闭

stop-all.sh

参考连接:
https://dblab.xmu.edu.cn/blog/190/
https://www.linuxidc.com/Linux/2017-11/148349.htm/


总结

本文章仅为记录本人安装过程,如有不足之处欢迎大家指正。

你可能感兴趣的:(Linux环境搭建记录,centos,hadoop,linux,大数据)