Hadoop运行环境搭建

更改为阿里的Centos7的yum源

#下载wget

yum -y install wget

#echo 下载阿里云的yum源配置  Centos-7.repo

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

yum clean all

yum makecache

环境配置

关闭防火墙

关闭防火墙:systemctl stop firewalld.service

禁用防火墙:systemctl disable firewalld.service

查看防火墙:systemctl status firewalld.service

关闭Selinux:vi /etc/selinux/config

将SELINUX=enforcing改为SELINUX=disabled

修改IP

善用Tab键

vi /etc/sysconfig/network-scripts/ifcfg-ens33

BOOTPROTO=static

ONBOOT=yes

IPADDR=192.168.X.51

GATEWAY=192.168.X.2

DNS1=8.8.8.8

NETMASK=255.255.255.0

vi /etc/resolv.conf

nameserver 8.8.8.8

重启网卡:servie network restart   Centos7

重启网卡:iptable service restart   Centos6

注:如果出现失败的情况,执行如下命令

systemctl stop NetworkManager

systemctl disable NetworkManager

然后重启网卡。servie network restart

修改主机名

hostnamectl set-hostname 主机名  ==> Centos 7

IP和主机名关系映射

vi /etc/hosts

192.168.1.51 master

192.168.1.52 slave1

192.168.1.53 slave2

在windows的C:\Windows\System32\drivers\etc路径下找到hosts并添加

192.168.1.51 master

192.168.1.52 slave1

192.168.1.53 slave2

连接Xshell

输入IP、用户名和密码

在opt目录下创建文件(此步可选)

创建chenchuan用户

adduser chenchuan

passwd chenchuan

设置chenchuan用户具有root权限

vi /etc/sudoers 92行 找到root    ALL=(ALL)       ALL

复制一行:chenchuan ALL=(ALL)       ALL

安装jdk

卸载现有jdk

(1) 查询是否安装java软件:

rpm -qa|grep java

(2) 如果安装的版本低于1.7,卸载该jdk:

rpm -e 软件包名字

在/opt目录下创建两个子文件

mkdir /opt/module /opt/software

解压jdk到/opt/module目录下

tar -zxvf jdk-8u144-linux-x64.tar.gz -C /opt/module/

配置jdk环境变量

vi /etc/profile

export JAVA_HOME=/opt/module/jdk1.8.0_144

export PATH=$PATH:$JAVA_HOME/bin

source /etc/profile

测试jdk安装成功

java -version

java version "1.8.0_144"

Hadoop运行模式

伪/完全分布式部署Hadoop

SSH无密码登录

生成公钥和私钥:ssh-keygen -t rsa

然后敲(三个回车),就会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)

将公钥拷贝到要免密登录的目标机器上

ssh-copy-id 主机名1

ssh-copy-id 主机名2

ssh-copy-id 主机名3

注:在另外两台机器上分别执行,共执行9遍

.ssh文件夹下的文件功能解释

(1)~/.ssh/known_hosts :记录ssh访问过计算机的公钥(public key)

(2)id_rsa :生成的私钥

(3)id_rsa.pub :生成的公钥

(4)authorized_keys :存放授权过得无秘登录服务器公钥

配置集群(表格版)

1) 集群部署规划:

bigdata111

bigdata112

bigdata113

HDFS

NameNode

SecondaryNameNode

DataNode

DataNode

DataNode

YARN

ResourceManager

NodeManager

NodeManager

NodeManager

2) 配置文件:

文件

配置

core-site.xml

<!-- 指定HDFS中NameNode的地址 -->

<property>

<name>fs.defaultFS</name>

<value>hdfs://master:9000</value>

</property>

<!-- 指定hadoop运行时产生文件的存储目录 -->

<property>

<name>hadoop.tmp.dir</name>

<value>/opt/module/hadoop-2.8.4/data/tmp</value>

</property>

hdfs-site.xml

<!--数据冗余数-->

<property>

<name>dfs.replication</name>

<value>3</value>

</property>

<!--secondary的地址-->

<property>

<name>dfs.namenode.secondary.http-address</name>

<value>slave1:50090</value>

</property>

<!--关闭权限-->

<property>

<name>dfs.permissions</name>

<value>false</value>

</property>

yarn-site.xml

<!-- reducer获取数据的方式 -->

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

<!-- 指定YARN的ResourceManager的地址 -->

<property>

<name>yarn.resourcemanager.hostname</name>

<value>slave1</value>

</property>

<!-- 日志聚集功能使能 -->

<property>

<name>yarn.log-aggregation-enable</name>

<value>true</value>

</property>

<!-- 日志保留时间设置7天(秒) -->

<property>

<name>yarn.log-aggregation.retain-seconds</name>

<value>604800</value>

</property>

mapred-site.xml

<!-- 指定mr运行在yarn上-->

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

</property>

<!--历史服务器的地址-->

<property>

<name>mapreduce.jobhistory.address</name>

<value>slave1:10020</value>

</property>

<!--历史服务器页面的地址-->

<property>

<name>mapreduce.jobhistory.webapp.address</name>

<value>slave1:19888</value>

</property>

hadoop-env.sh、yarn-env.sh、mapred-env.sh(分别在这些的文件中添加下面的路径)

export JAVA_HOME=/opt/module/jdk1.8.0_144(注:是自己安装的路径)

slaves

master、slave1、slave2(自己设置的主机名)

格式化Namenode:

hdfs namenode -format

为什么要格式化?

NameNode主要被用来管理整个分布式文件系统的命名空间(实际上就是目录和文件)的元数据信息,同时为了保证数据的可靠性,还加入了操作日志,所以,NameNode会持久化这些数据(保存到本地的文件系统中)。对于第一次使用HDFS,在启动NameNode时,需要先执行-format命令,然后才能正常启动NameNode节点的服务。

格式化做了哪些事情?

在NameNode节点上,有两个最重要的路径,分别被用来存储元数据信息和操作日志,而这两个路径来自于配置文件,它们对应的属性分别是dfs.name.dir和dfs.name.edits.dir,同时,它们默认的路径均是/tmp/hadoop/dfs/name。格式化时,NameNode会清空两个目录下的所有文件,之后,会在目录dfs.name.dir下创建文件

hadoop.tmp.dir 这个配置,会让dfs.name.dir和dfs.name.edits.dir会让两个目录的文件生成在一个目录里

启动集群的命令:

Namenode的主节点:sbin/start-dfs.sh

Yarn的主节点:sbin/stop-yarn.sh

注意:Namenode和ResourceManger如果不是同一台机器,不能在NameNode上启动 yarn,应该在ResouceManager所在的机器上启动yarn。

scp文件传输

实现两台远程机器之间的文件传输(master主机文件拷贝到slave1主机上)

scp -r [文件] 用户@主机名:绝对路径

注:伪分布式是一台、完全分布是三台

完全分布式

步骤:

1)克隆2台客户机(关闭防火墙、静态ip、主机名称)

2)安装jdk

3)配置环境变量

4)安装hadoop

5)配置环境变量

6)安装ssh

7)配置集群

8)启动测试集群

注:此配置直接使用虚拟机克隆伪分布式两台即可

自带官方wordcount案例

随意上传一个文本文件

上传命令:hadoop fs -put 文件名 /

执行命令:

hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.X.X.jar wordcount /入 /出

命令解析:

hadoop jar 路径的jar包 全类名 输入路径 输出路径

查看结果:

hadoop fs -cat 路径

Hadoop启动和停止命令:

以下命令都在$HADOOP_HOME/sbin下,如果直接使用,记得配置环境变量

启动/停止历史服务器

mr-jobhistory-daemon.sh start|stop historyserver

启动/停止总资源管理器

yarn-daemon.sh start|stop resourcemanager

启动/停止节点管理器

yarn-daemon.sh start|stop nodemanager

启动/停止 NN 和 DN

start|stop-dfs.sh

启动/停止 RN 和 NM

start|stop-yarn.sh

启动/停止 NN、DN、RN、NM

start|stop-all.sh

启动/停止 NN

hadoop-daemon.sh start|stop namenode

启动/停止 DN

hadoop-daemon.sh start|stop datanode

Hadoop运行环境搭建的更多相关文章

  1. CentOS下Hadoop运行环境搭建

    1.安装ssh免密登录 命令:ssh-keygen overwrite(覆盖写入)输入y 一路回车 将生成的密钥发送到本机地址 ssh-copy-id localhost (若报错命令无法找到则需要安 ...

  2. 啃掉Hadoop系列笔记(02)-Hadoop运行环境搭建

    一.新增一个普通用户bigdata

  3. Hadoop系列003-Hadoop运行环境搭建

    本人微信公众号,欢迎扫码关注! Hadoop运行环境搭建 1.虚拟机网络模式设置为NAT 2.克隆虚拟机 3.修改为静态ip 4. 修改主机名 5.关闭防火墙 1)查看防火墙开机启动状态 chkcon ...

  4. Hadoop基础教程-运行环境搭建

    一.Hadoop是什么 一个分布式系统基础架构,由Apache基金会所开发.用户可以在不了解分布式底层细节的情况下,开发分布式程序.充分利用集群的威力进行高速运算和存储. Hadoop实现了一个分布式 ...

  5. Hadoop之环境搭建

    初学Hadoop之环境搭建   阅读目录 1.安装CentOS7 2.安装JDK1.7.0 3.安装Hadoop2.6.0 4.SSH无密码登陆 本文仅作为学习笔记,供大家初学Hadoop时学习参考. ...

  6. 【HADOOP】| 环境搭建:从零开始搭建hadoop大数据平台(单机/伪分布式)-下

    因篇幅过长,故分为两节,上节主要说明hadoop运行环境和必须的基础软件,包括VMware虚拟机软件的说明安装.Xmanager5管理软件以及CentOS操作系统的安装和基本网络配置.具体请参看: [ ...

  7. 分享知识-快乐自己:大数据(hadoop)环境搭建

    大数据 hadoop 环境搭建: 一):大数据(hadoop)初始化环境搭建 二):大数据(hadoop)环境搭建 三):运行wordcount案例 四):揭秘HDFS 五):揭秘MapReduce ...

  8. Hadoop分布环境搭建步骤,及自带MapReduce单词计数程序实现

    Hadoop分布环境搭建步骤: 1.软硬件环境 CentOS 7.2 64 位 JDK- 1.8 Hadoo p- 2.7.4 2.安装SSH sudo yum install openssh-cli ...

  9. Hadoop —— 单机环境搭建

    一.前置条件 Hadoop的运行依赖JDK,需要预先安装,安装步骤见: Linux下JDK的安装 二.配置免密登录 Hadoop组件之间需要基于SSH进行通讯. 2.1 配置映射 配置ip地址和主机名 ...

随机推荐

  1. 异常CLRDBG_NOTIFICATION_EXCEPTION_CODE( 0x04242420)的抛出过程

    新建一个c#控制工程,就用自动生成的代码,不用补任何代码,如下: using System; using System.Collections.Generic; using System.Linq; ...

  2. 洛谷p1458顺序的分数题解

    抱歉,您们的蒟蒻yxj不知道怎么插入链接qwq就只好粘个文本的了qwq:https://www.luogu.org/problemnew/show/P1458 没错,是个黄题,因为你们的小蒟蒻只会这样 ...

  3. 深入js系列-类型(开篇)

    思考 作为一个编程人员,你可能从来没仔细思考过,为什么这么多高级语言会有类型这东西. 实际上,类型有点类似生活中的类别,我们日常生活,早已经把这个概念理解到了,切肉和切水果会用不同的刀. 语言级别的类 ...

  4. CF1120D Power Tree(构造题,差分,最小生成树)

    很有趣的一道题. 首先可以对每个叶子进行编号.按照DFS到的顺序即可.(假设从 $1$ 到 $k$) 然后对每个点求出它管辖的所有叶子的编号.因为是DFS序所以这一定是个区间.设点 $u$ 的这个区间 ...

  5. Codeforces Round 561(Div 2)题解

    这是一场失败的比赛. 前三题应该是随便搞的. D有点想法,一直死磕D,一直WA.(赛后发现少减了个1……) 看E那么多人过了,猜了个结论交了真过了. 感觉这次升的不光彩……还是等GR3掉了洗掉这次把, ...

  6. mysql 包含查找

    #从表iot_company选择,company_name字段包含10091015的项SELECT id FROM iot_company WHERE company_name LIKE " ...

  7. React - 组件:函数组件

    目录: . 组件名字首字母一定是大写的 . 返回一个jsx . jsx依赖React,所以组件内部需要引入React . 组件传参 a. 传递. <Component list={ arrDat ...

  8. udev只能修改Linux 网口名称,无法修改/dev目录下的设备名称

    NAME The name to use for a network interface. The name of a device node cannot be changed by udev, o ...

  9. Hyperledger Fabric 1.4 快速环境搭建

    自己的硕士研究方向和区块链有关,工程上一直以IBM的Hyperledger Fabric为基础进行开发,对该项目关注也有两年了.目前迎来了Hyperledger Fabric v1.4,这也是Fabr ...

  10. spring&pom两种获取profile的方式

    一.原理: 1.实现ApplicationContextAware(当一个类实现了ApplicationContextAware这个接口之后,这个类就可以通过setApplicationContext ...