前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Hadoop伪分布式搭建

Hadoop伪分布式搭建

作者头像
用户1432189
发布2019-07-25 18:39:07
8730
发布2019-07-25 18:39:07
举报
文章被收录于专栏:zingpLiu

1 系统环境

  • 搭建的系统环境为centos7.5
代码语言:javascript
复制
root@localhost ~]# lsb_release -a
LSB Version:    :core-4.1-amd64:core-4.1-noarch
Distributor ID: CentOS
Description:    CentOS Linux release 7.5.1804 (Core) 
Release:    7.5.1804
Codename:   Core

2 修改主机名

2.1 主机名修改为hadoop1

代码语言:javascript
复制
[root@localhost ~]# hostnamectl set-hostname hadoop1

2.2 查看主机名

代码语言:javascript
复制
[root@localhost ~]# hostnamectl 
   Static hostname: hadoop1
         Icon name: computer-vm
           Chassis: vm
        Machine ID: a34d80dce9364980962f9d85ffb5e9c8
           Boot ID: d624e2a84dc34619bfa2fe90e88eb058
    Virtualization: vmware
  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 3.10.0-862.11.6.el7.x86_64
      Architecture: x86-64

2.3 确认是否修改成功

代码语言:javascript
复制
[root@localhost ~]# hostnamectl --static
hadoop1
  • 重新登陆后主机名已更改

3 添加hadoop用户

  • 本次用hadoop用户部署,需要添加hadoop用户,密码也设置为hadoop。
代码语言:javascript
复制
[root@hadoop1 ~]# sudo useradd -m hadoop -s /bin/bash
[root@hadoop1 ~]# sudo passwd hadoop
  • 登陆
代码语言:javascript
复制
[root@hadoop1 ~]# ssh hadoop@hadoop1
# 输入密码登陆成功

4 设置免密登陆

  • 注意:这里免密登陆指的是hadoop账户登陆的hadoop1,再ssh hadoop@hadoop1。一定要设置免密登录,个人理解和各个机器之间互信一样的道理。 4.1 生成密钥
代码语言:javascript
复制
[hadoop@hadoop1 ~]$ ssh-keygen -t rsa   # 三次回车
[hadoop@hadoop1 ~]$ ssh-copy-id hadoop@hadoop1  # 输入密码

4.2 修改/etc/hosts文件

代码语言:javascript
复制
[root@hadoop1 ~]# vim /etc/hosts

在第一行添加: 本机IP hadoop1 的映射,如下:

代码语言:javascript
复制
172.16.142.129 hadoop1
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

4.3 测试免密登陆成功

代码语言:javascript
复制
[hadoop@hadoop1 ~]$ ssh hadoop@hadoop1
Warning: Permanently added the ECDSA host key for IP address '172.16.142.129' to the list of known hosts.
Last login: Sun Jul 21 16:45:14 2019 from 172.16.142.129

5 安装jdk1.8

5.1 说明

  • 本次安装的是JDK1.8,具体版本为jdk-8u101-linux-x64.tar.gz,使用root安装

5.2 下载jdk-8u101-linux-x64.tar.gz

代码语言:javascript
复制
[root@hadoop1 ~]# wget https://dl.cactifans.com/jdk/jdk-8u101-linux-x64.tar.gz

5.3 解压到/usr/local/下

代码语言:javascript
复制
[root@hadoop1 ~]# tar -zxvf jdk-8u101-linux-x64.tar.gz -C /usr/local/

5.4 配置JDK环境变量

  • 编辑/etc/profile
代码语言:javascript
复制
[root@hadoop1 ~]# vim /etc/profile

添加如下内容:

代码语言:javascript
复制
export JAVA_HOME=/usr/local/jdk1.8.0_101
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib 
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin
  • 使配置立即生效
代码语言:javascript
复制
[root@hadoop1 ~]# source /etc/profile

5.5 查看java信息,验证安装成功

代码语言:javascript
复制
[root@hadoop1 ~]# java -version
java version "1.8.0_101"
Java(TM) SE Runtime Environment (build 1.8.0_101-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)

6 安装hadoop-2.7.6

6.1 说明

  • 本次安装的是hadoop-2.7.6,使用hadoop安装,所以先以hadoop用户登陆,ssh hadoop@hadoop1

6.2 下载

代码语言:javascript
复制
[hadoop@hadoop1 ~]$ wget http://apache.fayea.com/hadoop/common/hadoop-2.7.6/hadoop-2.7.6.tar.gz

6.3 解压到/home/hadoop/apps下

代码语言:javascript
复制
[hadoop@hadoop1 ~]$ mkdir -p ~/apps
[hadoop@hadoop1 ~]$ tar -zxvf hadoop-2.7.6.tar.gz -C /home/hadoop/apps

6.4 修改hadoop-env.sh

代码语言:javascript
复制
[hadoop@hadoop1 ~]$ cd /home/hadoop/apps/hadoop-2.7.6/etc/hadoop
[hadoop@hadoop1 hadoop]$ vim hadoop-env.sh 
  • 修改export JAVA_HOME=${JAVA_HOME}为
代码语言:javascript
复制
export JAVA_HOME=/usr/local/jdk1.8.0_101

6.5 修改core-site.xml

代码语言:javascript
复制
[hadoop@hadoop1 hadoop]$ vim core-site.xml
  • 添加如下配置
代码语言:javascript
复制
<configuration>
        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://hadoop1:9000</value>
        </property>
        <property>
                <name>hadoop.tmp.dir</name>
                <value>/home/hadoop/data/hadoopdata</value>
        </property>
</configuration>

如图所示:

6.6 修改hdfs-site.xml

代码语言:javascript
复制
[hadoop@hadoop1 hadoop]$ vim hdfs-site.xml

添加如下配置:

代码语言:javascript
复制
      <property>
                <name>dfs.namenode.name.dir</name>
                <value>/home/hadoop/data/hadoopdata/name</value>
                <description>为了保证元数据的安全一般配置多个不同目录</description>
        </property>

        <property>
                <name>dfs.datanode.data.dir</name>
                <value>/home/hadoop/data/hadoopdata/data</value>
                <description>datanode 的数据存储目录</description>
        </property>

        <property>
                <name>dfs.replication</name>
                <value>2</value>
                <description>HDFS 的数据块的副本存储个数, 默认是3</description>
        </property>    

如图所示:

6.7 修改mapred-site.xml

代码语言:javascript
复制
[hadoop@hadoop1 hadoop]$ cp mapred-site.xml.template mapred-site.xml
[hadoop@hadoop1 hadoop]$ vim mapred-site.xml

添加如下配置:

代码语言:javascript
复制
        <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
        </property>

6.8 修改yarn-site.xml

代码语言:javascript
复制
[hadoop@hadoop1 hadoop]$ vim yarn-site.xml 

添加如下配置:

代码语言:javascript
复制
     <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
                <description>YARN 集群为 MapReduce 程序提供的 shuffle 服务</description>
        </property>

如图所示:

6.9 Hadoop环境配置

  • 注意:由于是用hadoop用户登陆的,环境变量是~/.bashrc
代码语言:javascript
复制
[hadoop@hadoop1 hadoop]$ vim ~/.bashrc 
  • 添加如下配置:
代码语言:javascript
复制
# HADOOP_HOME
export HADOOP_HOME=/home/hadoop/apps/hadoop-2.7.6
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:
  • 配置立即生效
代码语言:javascript
复制
[hadoop@hadoop1 hadoop]$ source ~/.bashrc

6.10 查看Hadoop版本

代码语言:javascript
复制
[hadoop@hadoop1 hadoop]$ hadoop version
Hadoop 2.7.6
Subversion https://shv@git-wip-us.apache.org/repos/asf/hadoop.git -r 085099c66cf28be31604560c376fa282e69282b8
Compiled by kshvachk on 2018-04-18T01:33Z
Compiled with protoc 2.5.0
From source with checksum 71e2695531cb3360ab74598755d036
This command was run using /home/hadoop/apps/hadoop-2.7.6/share/hadoop/common/hadoop-common-2.7.6.jar

6.11 创建hdfs-site.xml里配置的路径

代码语言:javascript
复制
[hadoop@hadoop1 hadoop]$ mkdir -p /home/hadoop/data/hadoopdata/name
[hadoop@hadoop1 hadoop]$ mkdir -p /home/hadoop/data/hadoopdata/data

6.12 Hadoop的初始化

代码语言:javascript
复制
[hadoop@hadoop1 hadoop]$ hadoop namenode -format
  • 如图所示出现status 0即为初始化成功。

6.13 启动

代码语言:javascript
复制
[hadoop@hadoop1 hadoop]$ cd /home/hadoop/apps/hadoop-2.7.6
[hadoop@hadoop1 hadoop-2.7.6]$ sbin/start-dfs.sh
[hadoop@hadoop1 hadoop-2.7.6]$ sbin/start-yarn.sh

6.14 访问WebUI

  • 注意关闭防火墙
代码语言:javascript
复制
# 访问之前关闭防火墙
[root@hadoop1 ~]# systemctl stop firewalld
  • 浏览器访问http://IP:50070

7 安装scala(可选)

7.1 说明

  • 用root用户安装,版本为scala-2.12.0。

7.2 下载

代码语言:javascript
复制
[root@hadoop1 ~]# wget https://downloads.lightbend.com/scala/2.12.0/scala-2.12.0.tgz

7.2 解压至/usr/local/

代码语言:javascript
复制
[root@hadoop1 ~]# tar -zxvf scala-2.12.0.tgz -C /usr/local/

7.4 添加环境变量

代码语言:javascript
复制
[root@hadoop1 ~]# vim /etc/profile
  • 添加如下内容
代码语言:javascript
复制
# Scala env
export SCALA_HOME=/usr/local/scala-2.12.0
export PATH=$SCALA_HOME/bin:$PATH
  • 配置立即生效
代码语言:javascript
复制
[root@hadoop1 ~]# source /etc/profile

7.5 查看scala版本

代码语言:javascript
复制
[root@hadoop1 ~]# scala -version

8 安装spark

8.1 说明

  • 用hadoop用户安装spark-2.4.3-bin-hadoop2.7.tgz。

8.2 下载

代码语言:javascript
复制
[hadoop@hadoop1 ~]$ wget http://apache.claz.org/spark/spark-2.4.3/spark-2.4.3-bin-hadoop2.7.tgz

8.3 解压

代码语言:javascript
复制
[hadoop@hadoop1 ~]$ tar -zxvf spark-2.4.3-bin-hadoop2.7.tgz -C ~/apps/
  • 创建软链
代码语言:javascript
复制
[hadoop@hadoop1 ~]$ cd ~/apps/
[hadoop@hadoop1 apps]$ ln -s spark-2.4.3-bin-hadoop2.7 spark

8.4 配置spark

代码语言:javascript
复制
[hadoop@hadoop1 apps]$ cd spark/conf
[hadoop@hadoop1 conf]$ cp spark-env.sh.template spark-env.sh
[hadoop@hadoop1 conf]$ vim spark-env.sh
  • 添加如下内容
代码语言:javascript
复制
export JAVA_HOME=/usr/local/jdk1.8.0_101
export SCALA_HOME=/usr/local/scala-2.12.0
export HADOOP_HOME=/home/hadoop/apps/hadoop-2.7.6
export HADOOP_CONF_DIR=/home/hadoop/apps/hadoop-2.7.6/etc/hadoop
export SPARK_MASTER_IP=hadoop1
export SPARK_MASTER_PORT=7077

8.5 配置环境变量

代码语言:javascript
复制
[hadoop@hadoop1 conf]$ vim ~/.bashrc
  • 输入如下内容
代码语言:javascript
复制
#SPARK_HOME
export SPARK_HOME=/home/hadoop/apps/spark
export PATH=$PATH:$SPARK_HOME/bin
  • 配置立即生效
代码语言:javascript
复制
[hadoop@hadoop1 conf]$ source ~/.bashrc 

8.6 启动spark

代码语言:javascript
复制
[hadoop@hadoop1 conf]$ ~/apps/spark/sbin/start-all.sh
  • 查看进程

8.7 访问WebUI

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-07-23 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 系统环境
  • 2 修改主机名
    • 2.1 主机名修改为hadoop1。
      • 2.2 查看主机名
        • 2.3 确认是否修改成功
        • 3 添加hadoop用户
        • 4 设置免密登陆
          • 4.2 修改/etc/hosts文件
            • 4.3 测试免密登陆成功
            • 5 安装jdk1.8
              • 5.1 说明
                • 5.2 下载jdk-8u101-linux-x64.tar.gz
                  • 5.3 解压到/usr/local/下
                    • 5.4 配置JDK环境变量
                      • 5.5 查看java信息,验证安装成功
                      • 6 安装hadoop-2.7.6
                        • 6.1 说明
                          • 6.2 下载
                            • 6.3 解压到/home/hadoop/apps下
                              • 6.4 修改hadoop-env.sh
                                • 6.5 修改core-site.xml
                                  • 6.6 修改hdfs-site.xml
                                    • 6.7 修改mapred-site.xml
                                      • 6.8 修改yarn-site.xml
                                        • 6.9 Hadoop环境配置
                                          • 6.10 查看Hadoop版本
                                            • 6.11 创建hdfs-site.xml里配置的路径
                                              • 6.12 Hadoop的初始化
                                                • 6.13 启动
                                                  • 6.14 访问WebUI
                                                  • 7 安装scala(可选)
                                                    • 7.1 说明
                                                      • 7.2 下载
                                                        • 7.2 解压至/usr/local/
                                                          • 7.4 添加环境变量
                                                            • 7.5 查看scala版本
                                                            • 8 安装spark
                                                              • 8.1 说明
                                                                • 8.2 下载
                                                                  • 8.3 解压
                                                                    • 8.4 配置spark
                                                                      • 8.5 配置环境变量
                                                                        • 8.6 启动spark
                                                                          • 8.7 访问WebUI
                                                                          相关产品与服务
                                                                          数据保险箱
                                                                          数据保险箱(Cloud Data Coffer Service,CDCS)为您提供更高安全系数的企业核心数据存储服务。您可以通过自定义过期天数的方法删除数据,避免误删带来的损害,还可以将数据跨地域存储,防止一些不可抗因素导致的数据丢失。数据保险箱支持通过控制台、API 等多样化方式快速简单接入,实现海量数据的存储管理。您可以使用数据保险箱对文件数据进行上传、下载,最终实现数据的安全存储和提取。
                                                                          领券
                                                                          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档