一、 伪分布模式Pseudo-Distributed Operation

这里关于VM虚拟机的安装就不再介绍了,详细请看《VMware虚拟机的三种网络管理模式》一章介绍。这章只介绍hadoop伪分布模式的环境搭建

1、 设置静态IP

(1)   修改网卡配置:

$ vi /etc/sysconfig/network-scripts/ifcfg-eth0

(2)   重启网卡:

$ service network restart

(3)   验证一下:

$ ifconfig

2、 修改主机名:

(1)   修改当前会话中的主机名,执行命令hostname Hadoop (临时修改不推荐)

$ hostname hadoop

(2)   修改配置文件中的主机名,执行命令vi /etc/sysconfig/network

$ vi /etc/sysconfig/network

修改设置内容:

 HOSTNAME=hadoop (主机名命名为hadoop)

3、 Hostname和IP绑定

(1)  修改vi /etc/hosts,增加一行内容,如:

192.168.100.129 hadoop

(2)  验证一下:

$ ping hadoop

4、 关闭防火墙service iptables stop

查看防火墙是否关闭:

$ service iptables status

5、 关闭防火墙的自动运行(推荐彻底关闭)

chkconfig --list 查看服务的启动级别

chkconfig --list | grep iptables 查看防火墙的启动级别

chkconfig iptables off 关闭(彻底)

开启/关闭防火墙: chkconfig iptables on/off

$ chkconfig iptables off

6、 ssh(secure shell)免密码登录

(1)   检查ssh是否安装:rpm -qa | grep ssh 或者(rpm -qa | grep openssh)

(2)   安装:

CentOS安装yum install openssh-server

Ubuntu 安装apt-get install ssh

(3)   验证查看 ssh是否启动 /etc/init.d/sshd status 或者(service sshd status)

(4)   执行命令ssh-keygen -t rsa 产生密钥,位于~./.ssh文件夹中(没有则自动创建),输入命令后一直回车

$ ssh-keygen -t rsa

(5)   ssh在验证时要读取authorized_keys公钥文件的内容 ,执行命令

cp id_rsa.pub authorized_keys

(6)   验证:ssh localhost 或:ssh hadoop

$ ssh localhost

7、 下载安装jdk

(1)   一定要下载Oracle的官方jdk版本,这里实验的版本是jdk1.8.0_231,具体看hadoop的版本要求,否则会有不兼容的问题,下载地址:

https://download.oracle.com/otn/java/jdk/8u231-b11/5b13a193868b4bf28bcb45c792fce896/jdk-8u231-linux-x64.tar.gz

(2)   将jdk-8u231-linux-x64.tar.gz 解压到 /opt/modules目录下

(3)   解压命令:tar –zxvf jdk-8u231-linux-x64.tar.gz –C /opt/modules

(4)   执行命令vi /etc/profile设置JAVA_HOME环境变量,增加2行内容:

export JAVA_HOME=/opt/modules/jdk1.8.0_231

export PATH=$JAVA_HOME/bin:$PATH

(5)   执行命令source /etc/profile 让设置生效

(6)   验证:java –version

8、 下载安装hadoop

(1)   由于考虑到jdk和hadoop版本的兼容,下载时请看一下相关版本的要求,这里实验是hadoop-3.2.1,下载地址:

https://archive.apache.org/dist/hadoop/common/hadoop-3.2.1/hadoop-3.2.1.tar.gz

(2)   将hadoop-3.2.1.tar.gz 解压到 /opt/modules目录下

(3)   解压命令:tar –zxvf hadoop-3.2.1.tar.gz –C /opt/modules

(4)   执行命令vi /etc/profile设置JAVA_HOME和HADOOP_HOME环境变量,

增加1行内容:

export HADOOP_HOME=/opt/modules/hadoop-3.2.1

修改1行内容:

export PATH=$HADOOP_HOME/bin:$JAVA_HOME/bin:$PATH

(5)   执行命令source /etc/profile 让设置生效

(6)   验证:hadoop version

9、 配置hadoop环境变量:修改$HADOOP_HOME/etc/hadoop/hadoop-env.sh

export JAVA_HOME=/opt/modules/jdk1..0_231

10、配置$HADOOP_HOME/etc/hadoop/core-site.xml

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop:9000</value>
</property>
</configuration>

11、配置$HADOOP_HOME/etc/hadoop/hdfs-site.xml,文件分布式系统的name和data的目录

 <configuration>
<property>
<name>dfs.name.dir</name>
<value>/opt/data/hadoopfs/name</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/opt/data/hadoopfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>

12、配置$HADOOP_HOME/sbin/start-dfs.sh、stop-dfs.sh

文件开头增加:

HDFS_DATANODE_USER=root
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root

13、格式化hadoop

执行命令hadoop namenode –format

或者  $ bin/hdfs namenode -format

$ hadoop namenode –format

14、启动hadoop

(1)   执行$HADOOP_HOME/sbin/start-dfs.sh,会有三个进程启动:用jps命令查看一下服务进程

$ ./start-dfs.sh
$ jps
DataNode
SecondaryNameNode
NameNode

(2)   在浏览器输入:http://192.168.100.129:9870,可以看到hadoop分布式系统建立起来了。

15、 如果没有出现第14的结果,可能出现的问题有:

(1)   没有进行格式化

(2)   hostname与ip没绑定

(3)   配置文件xml未配置正确

(4)   环境变量

(5)   ssh免密登录没有配置成功

下一章内容:完全分布模式Fully-Distributed Operation

详细的Hadoop的入门教程-伪分布模式Pseudo-Distributed Operation的更多相关文章

  1. 详细的Hadoop的入门教程-完全分布模式Fully-Distributed Operation

    1. 前面在伪分布模式下已经创建了一台机器,为了统一命名,hostname更名为hadoop01.然后再克隆2台机器:hadoop02. hadoop03:将第一台机器hadoop01上的伪分布停止, ...

  2. 详细的Hadoop的入门教程-单机模式 Standalone Operation

    一. 单机模式Standalone Operation 单机模式也叫本地模式,只适用于本地的开发调试,或快速安装体验hadoop,本地模式的安装比较简单,下载完hadoop安装包就可以直接运行. 1. ...

  3. 最详细的github快速入门教程

    一:下载github 二:安装GitHub 下载之后点击 进行安装过程,安装之后桌面上会有两个图标,如下图 三:新建项目 GitHub是图形界面模式,Git Shell是命令行模式,在Windows系 ...

  4. 【Hadoop环境搭建】Centos6.8搭建hadoop伪分布模式

    阅读目录 ~/.ssh/authorized_keys 把公钥加到用于认证的公钥文件中,authorized_keys是用于认证的公钥文件 方式2: (未测试,应该可用) 基于空口令创建新的SSH密钥 ...

  5. Hadoop伪分布模式配置

    本作品由Man_华创作,采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可.基于http://www.cnblogs.com/manhua/上的作品创作. 请先按照上一篇文章H ...

  6. 最新hadoop入门教程汇总篇(附详细图文步骤)

    关于hadoop的分享此前一直都是零零散散的想到什么就写什么,整体写的比较乱吧.最近可能还算好的吧,毕竟花了两周的时间详细的写完的了hadoop从规划到环境安装配置等全部内容.写过程不是很难,最烦的可 ...

  7. Spark新手入门——2.Hadoop集群(伪分布模式)安装

    主要包括以下三部分,本文为第二部分: 一. Scala环境准备 查看 二. Hadoop集群(伪分布模式)安装 三. Spark集群(standalone模式)安装 查看 Hadoop集群(伪分布模式 ...

  8. Ubuntu上搭建Hadoop环境(单机模式+伪分布模式) (转载)

    Hadoop在处理海量数据分析方面具有独天优势.今天花了在自己的Linux上搭建了伪分布模式,期间经历很多曲折,现在将经验总结如下. 首先,了解Hadoop的三种安装模式: 1. 单机模式. 单机模式 ...

  9. Hbase入门教程--单节点伪分布式模式的安装与使用

    Hbase入门简介 HBase是一个分布式的.面向列的开源数据库,该技术来源于 FayChang 所撰写的Google论文"Bigtable:一个结构化数据的分布式存储系统".就像 ...

随机推荐

  1. NLP学习(5)----attention/ self-attention/ seq2seq/ transformer

    目录: 1. 前提 2. attention (1)为什么使用attention (2)attention的定义以及四种相似度计算方式 (3)attention类型(scaled dot-produc ...

  2. Navicat Premium永久激活方式

    今天安装完Navicat Premium,运行时出现只能用14天的信息,所以就比较生气,只能用14天,那我还下你干啥,所以就查教程,弄了个破解工具,最后大功告成,应该是可以永久使用了,具体的教程看下 ...

  3. centos 用户名密码忘记了怎么办?

    进入互动式命令行 打开虚拟机,进入模式选择界面,即有两个模式的主界面,然后在时间结束前按e, 进入编辑选项菜单 按↓键定位到类似 linux16 /vmlinuz-3.10.0-123.el7.x86 ...

  4. P1908 逆序对-(cdq分治)

    https://www.luogu.org/problem/P1908 沿用归并排序的思想求逆序对. 坑1:结果爆int型,需要用longlong 坑2:相对于归并排序,在比较的时候多了一个等号 举例 ...

  5. mybatis学习3

    parameterType(输入类型) 传递简单类型::使用#{}占位符,或者${}进行sql拼接 传递pojo对象: Mybatis使用ognl表达式解析对象字段的值,#{}或者${}括号中的值为p ...

  6. Django 1.11 网站分页设计

    参考网址:https://www.cnblogs.com/kongzhagen/p/6640975.html

  7. 《深度学习框架PyTorch:入门与实践》读书笔记

    https://github.com/chenyuntc/pytorch-book Chapter2 :PyTorch快速入门 + Chapter3: Tensor和Autograd + Chapte ...

  8. 熟悉 rsync 的功能及其特点

    提要 熟悉 rsync 的功能及其特点 掌握 rsync 语法及常用选项的功能 掌握 rsync 命令的三种基本使用方法 掌握如何筛选 rsync 的传输目标 掌握使用 rsync 进行镜像和增量备份 ...

  9. 使用Java将搜狗词库文件(文件后缀为.scel)转为.txt文件

    要做一个根据词库进行筛选主要词汇的功能,去搜狗下载专业词汇词库时,发现是.scel文件,且通过转换工具(http://tools.bugscaner.com/sceltotxt/)转换为txt时报错如 ...

  10. JS中 (function(){...})()立即执行函数

    (function(){...})() (function(){...}()) 这是两种js立即执行函数的常见写法. 基本概念: 函数声明:function fname(){...}; 使用funct ...