一、准备

  该准备工作在三台机器上都需要进行,首先使用 vmvare 创建 1 个虚拟机,这台虚拟机是 master,一会需要把 master 克隆出两台 slave

    

    

    

    

    

    

    

    

    

    

    点确定然后开启此虚拟机

    

    

    

    

    

    

    

    然后添加/boot 分区,大小为 1G,文件系统选 ext4

    

    然后添加 swap 分区,注意,swap 分区为内存的 2 倍,文件系统则选择为 swap

    

    然后点完成

    

    

    

    

    

    

    然后等待安装完成,然后点重启

    

    

    到此系统安装就完成了,然后设置网络

    

    

    点完确定后,然后再进去查看下网关

    

    

    点取消,记住这个网关

    1、我先换下主机名

[root@localhost ~]# hostnamectl set-hostname wangmaster
[root@localhost ~]# hostname wangmaster
[root@localhost ~]# exit

    2、重新登录,然后设置网卡

[root@wangmaster ~]# vi /etc/sysconfig/network-scripts/ifcfg-eno16777736
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=eno16777736
DEVICE=eno16777736
ONBOOT=yes //启用网卡
IPADDR=192.168.225.100 //设置 IP
NETMASK=255.255.255.0 //设置掩码
GATEWAY=192.168.225.2 //设置网关,就是记住的网关
DNS1=114.114.114.114 //设置 DNS
DNS2=114.114.114.115 //设置备用 DNS
[root@wangmaster ~]# systemctl restart network.service //重启网络

    3、设置网络 YUM 源

    

    选择远程登录工具登录操作 (可以用Xshell)

    

    点击文件传输按钮,进入Xftp软件,进行传输文件。

    

    将上面保存的文件传入/etc/yum.repos.d文件夹下。

        

[root@wangmaster ~]# cd /etc/yum.repos.d/
[root@wangmaster yum.repos.d]# ls
CentOS7-Base-.repo CentOS-Debuginfo.repo CentOS-Sources.repo
CentOS-Base.repo CentOS-fasttrack.repo CentOS-Vault.repo
CentOS-CR.repo CentOS-Media.repo
[root@wangmaster yum.repos.d]# mv CentOS-Base.repo CentOS-Base.repo.bak //使原来的 yum 失效
[root@wangmaster yum.repos.d]# yum clean all //清除 yum 缓存
已加载插件:fastestmirror
正在清理软件源: base extras updates
Cleaning up everything
[root@wangmaster yum.repos.d]# yum repolist //更新 yum 库
已加载插件:fastestmirror
base | 3.6 kB :
extras | 3.4 kB :
updates | 3.4 kB :
(/): base//x86_64/group_gz | kB :
(/): extras//x86_64/primary_db | kB :
(/): base//x86_64/primary_db | 5.6 MB :
(/): updates//x86_64/primary_db | 3.9 MB :
Determining fastest mirrors
源标识 源名称 状态
base//x86_64 CentOS- - Base - .com ,
extras//x86_64 CentOS- - Extras - .com
updates//x86_64 CentOS- - Updates - .com ,
repolist: ,
[root@wangmaster yum.repos.d]#
[root@wangmaster yum.repos.d]# yum install -y vim //安装 VIM 工具

    4、关闭 selinux

[root@wangmaster yum.repos.d]# vim /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three two values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are
pro
tected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted

    5、停止防火墙功能

[root@wangmaster ~]# systemctl stop firewalld.service 停止防火墙
[root@wangmaster ~]# systemctl disable firewalld.service 停止防火墙开机自启动
[root@wangmaster ~]# systemctl status firewalld 查看防火墙状态

    6、规划为 3 个虚拟机,分别为 master,slave1,slave2,在/etx/hosts 文件中修改

[root@wangmaster ~]# vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4
localhost4.localdomain4
:: localhost localhost.localdomain localhost6
localhost6.localdomain6 192.168.225.100 wangmaster
192.168.225.101 wangslave1
192.168.225.102 wangslave2

    然后重启虚拟机(一定要重启,因为 selinux 设置重启才生效)

    (注意:在所有三台虚拟机中都进行这样的修改,ip 地址根据实际情况进行修改)

    7、使用如下命令在线安装

[root@wangmaster ~]$ yum install –y wget
[root@wangmaster ~]$ yum install –y net-tools

    8、创建目录

[root@wangmaster ~]# mkdir /opt/bigdata

    9、将 jdk 拷贝到 192.168.225.100 的 opt 的 bigdata 目录

[root@wangmaster bigdata]# ls
hadoop-2.7..tar.gz jdk1..tar.gz
这里我提前在 bigdata 中传入了所需要的软件

    10、在 master 中创建用户 hadoop

[root@wangmaster bigdata]# useradd hadoop
[root@wangmaster bigdata]# id hadoop
uid=(hadoop) gid=(hadoop) 组=(hadoop)
[root@wangmaster ~]# passwd hadoop
更改用户 hadoop 的密码 。我设置的密码是 ,需要打两遍
新的 密码:
无效的密码: 密码少于 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@wangmaster ~]#

    11、使用户成为 sudoers,以 root 用户修改文件/etc/sudoers,修改方式如下:

[root@wangmaster bigdata]# vim /etc/sudoers
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
hadoop ALL=(ALL) ALL

    12、修改/opt/bigdata 文件夹的权限

[root@wangmaster ~]# chmod -R  /opt/bigdata
[root@wangmaster ~]# chown -R hadoop.hadoop /opt/bigdata
[root@wangmaster ~]# ll /opt
总用量
drwxrwxrwx. hadoop hadoop 月 : bigdata

    13、安装 JDK 运行环境

[hadoop@wangmaster bigdata]# tar -zxvf jdk1..tar.gz
[hadoop@wangmaster bigdata]# mv /opt/bigdata/jdk1. /opt/bigdata/
hadoop@wangmaster bigdata]# ls
hadoop-2.7..tar.gz jdk1. jdk1..tar.gz opt

    14、在修改/etc/profile 文件,配置 java 环境:

[root@wangmaster ~]$ vim /etc/profile
#java configuration
JAVA_HOME=/opt/bigdata/jdk1.
JAVA_BIN=/opt/bigdata/jdk1./bin
PATH=$PATH:$JAVA_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/jre/lib/rt.jar
export JAVA_HOME
export JAVA_BIN
export PATH
export CLASSPATH
[hadoop@wangmaster ~]# source /etc/profile
[hadoop@wangmaster bigdata]$ java -version
java version "1.8.0_111"
Java(TM) SE Runtime Environment (build 1.8.0_111-b14)
Java HotSpot(TM) -Bit Server VM (build 25.111-b14, mixed mode)
[hadoop@wangmaster bigdata]$ javac -version
javac 1.8.0_111

    (注:上图中,JAVA_HOME 为你安装的 JDK 路径)

    15、安装 hadoop

[hadoop@wangmaster bigdata]$ tar -zxvf hadoop-2.7..tar.gz
[hadoop@wangmaster bigdata]$ ll
总用量
drwxr-xr-x. hadoop hadoop 月 hadoop-2.7.
-rwxrwxrwx. hadoop hadoop 月 : hadoop-2.7..tar.gz
drwxrwxrwx. hadoop hadoop 月 : jdk1.
-rwxrwxrwx. hadoop hadoop 月 : jdk1..tar.gz

    16、在 hadoop 目录下建立 tmp 目录,并将权限设定为 777

[hadoop@wangmaster bigdata]$ cd hadoop-2.7.
[hadoop@wangmaster hadoop-2.7.]$ mkdir tmp
[hadoop@wangmaster hadoop-2.7.]$ chmod tmp
[hadoop@wangmaster hadoop-2.7.]$ mkdir dfs
[hadoop@wangmaster hadoop-2.7.]$ mkdir dfs/name
[hadoop@wangmaster hadoop-2.7.]$ mkdir dfs/data

 二、 Hadoop 安装与配置 

    Hadoop 是大数据生态圈的基石,下面首先以 Hadoop 的安装与配置开始。

    1、进入安装目录

[hadoop@wangmaster ~]$ cd /opt/bigdata/hadoop-2.7.

    2、环境配置

[hadoop@wangmaster hadoop-2.7.]$ cd etc/hadoop
[hadoop@wangmaster hadoop]$ vim yarn-env.sh
# some Java parameters
export JAVA_HOME=/opt/bigdata/jdk1.

    3、core 配置

[hadoop@wangmaster hadoop]$ vim core-site.xml
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/bigdata/hadoop-2.7./tmp</value>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://wangmaster:9000</value>
</property>
<property>
<name>hadoop.proxyuser.hadoop.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.hadoop.groups</name>
<value>*</value>
</property>

    4、hdfs 配置

[hadoop@wangmaster hadoop]$ vim hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value></value>
</property>
<property>
  <name>dfs.namenode.name.dir</name>
<value>/opt/bigdata/hadoop-2.7./dfs/name</value>
</property>
<property>
  <name>dfs.datanode.data.dir</name>
<value>/opt/bigdata/hadoop-2.7./dfs/data</value>
</property>
<property>
  <name>dfs.web.ugi</name>
<value>hdfs,hadoop</value>
</property>
<property>
  <name>dfs.permissions</name>
  <value>false</value>
</property>
</configuration>

    5、yarn 配置

[hadoop@wangmaster hadoop]$ vim yarn-site.xml
<configuration> <!-- Site specific YARN configuration properties -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>wangmaster</value>
</property> <property>
<name>yarn.resourcemanager.webapp.address</name>
<value>wangmaster:</value>
</property> <property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>wangmaster:</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>wangmaster:</value>
</property> <property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.web-proxy.address</name>
<value>wangmaster:</value>
</property> </configuration>

    6、mapreduce 配置

[hadoop@wangmaster hadoop]$ vim mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapred.job.tracker</name>
<value>wangmaster:</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>wangmaster:</value>
</property>
</configuration>

    7、slaves 配置(master、slave1 和 slave2 均作为 datanode)

[hadoop@wangmaster hadoop]$ vim slaves
wangmaster
wangslave1
wangslave2
master02
slave01
slave02
slave03

    8、配置系统环境

[root@wangmaster bin]# vim /etc/profile
末尾添加这两句
export HADOOP_HOME=/opt/bigdata/hadoop-2.7.
export PATH=$HADOOP_HOME/bin:$PATH

    使配置生效:

[hadoop@wangmaster hadoop]$ source /etc/profile 

    9、将虚拟机复制成 wangslave1 和 wangslave2 上。

    

    把 CentOS 64 位 Minimal 重名为 wangmaster,克隆 wangmaster,建立 wangslave1 和 wangslave2 节点,克隆教程

    首先给 wangmaster 关机

    

    

    

    复制过后的虚拟机不能直接使用,需要进行如下操作:

    

    

    

 [root@wangmaster ~]# vim /etc/sysconfig/network-scripts/ifcfg-eno16777736
HWADDR=::::BF: //修改这个里 mac 地址,改成刚才生成的
TYPE="Ethernet"
BOOTPROTO="static"
DEFROUTE="yes"
PEERDNS="yes"
PEERROUTES="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_PEERDNS="yes"
IPV6_PEERROUTES="yes"
IPV6_FAILURE_FATAL="no"
NAME="eno16777736"
DEVICE="eno16777736"
ONBOOT="yes"
IPADDR=192.168.225.101 //这里改成 wangslave1 的 ip 192.168.225.101
NETMASK=255.255.255.0
GATEWAY=192.168.225.2
DNS1=114.114.114.114
DNS2=114.114.114.115
[root@wangmaster ~]# systemctl restart network.service //重启网络

    然后修改主机名

[root@wangmaster ~]# hostnamectl set-hostname wangslave1
[root@wangmaster ~]# hostname wangslave1
[root@wangmaster ~]# exit
重新登录
测试 ping 自己
[root@wangslave1 ~]# ping wangslave1
PING wangslave1 (192.168.225.101) () bytes of data.
bytes from wangslave1 (192.168.225.101): icmp_seq= ttl= time=0.012ms

    根据上面操作,克隆出 wangslave2

    10、需要在 hadoop 用户下进行 master 和 slave 之间的免密

    Master 给自己和 slave1,slave2 发证书

[hadoop@wangmaster ~]$ ssh-keygen
[hadoop@wangmaster ~]$ ssh-copy-id -i .ssh/id_rsa.pub hadoop@wangslave1
[hadoop@wangmaster ~]$ ssh-copy-id -i .ssh/id_rsa.pub hadoop@wangslave2
[hadoop@wangmaster ~]$ ssh-copy-id -i .ssh/id_rsa.pub hadoop@wangmaster
这步完成后,正常情况下就可以无密码登录本机了,即 ssh localhost,无需输入密码。

    然后 slave1 给 master 发证书

[hadoop@ wangslave1 ~]$ ssh-keygen
[hadoop@ wangslave1 ~]$ ssh-copy-id -i .ssh/id_rsa.pub hadoop@wangmaste

    然后 slave2 给 master 发证书 (略)

    11、首次启动之前格式化 hdfs:

[hadoop@wangmaster ~]$ hdfs namenode -format

    启动各组件

[hadoop@wangmaster ~]$ cd /opt/bigdata/hadoop-2.7./sbin

    全部启动:

[hadoop@wangmaster sbin]$ ./start-all.sh
验证
[hadoop@wangmaster sbin]$ jps
DataNode
NodeManager
Jps
SecondaryNameNode
ResourceManager
NameNode
[hadoop@wangslave1 ~]$ jps
NodeManager
Jps
DataNode
[hadoop@wangslave2 ~]$ jps
Jps
DataNode
NodeManager

    在浏览器里输入 http://192.168.225.100:50070 ,判断是否启动成功

    12、全部停止

[hadoop@wangmaster sbin]$ ./stop-all.sh

三、实验

    1、使用

[hadoop@wangmaster ~]$ hadoop fs -mkdir /wang
[hadoop@wangmaster ~]$ cd /opt/bigdata/hadoop-2.7.
[hadoop@wangmaster hadoop-2.7.]$ hadoop fs -put LICENSE.txt /wang
[hadoop@wangmaster ~]$ hadoop fs -ls /wang

    2、实验,进行 wordcount 程序(可选)。一个统计文本单词个数的程序,它会统计放入文件夹内的文本的总共单词的出现个数

[hadoop@wangmaster hadoop-2.7.]$ hadoop fs -ls /wang 查看
Found items
-rw-r--r-- hadoop supergroup -- :
/wang/LICENSE.txt
[hadoop@wangmaster hadoop-2.7.]$ cd
/opt/bigdata/hadoop-2.7./share/hadoop/mapreduce
[hadoop@wangmaster mapreduce]$ hadoop jar
hadoop-mapreduce-examples-2.7..jar wordcount /wang /output 执行程序
[hadoop@wangmaster mapreduce]$ hadoop fs -ls /output 查看程序运行的输出文件
Found items
-rw-r--r-- hadoop supergroup -- :
/output/_SUCCESS
-rw-r--r-- hadoop supergroup -- :
/output/part-r- [hadoop@wangmaster mapreduce]$ hadoop fs -cat
/output/part-r- 查看结果

hadoop安装文档的更多相关文章

  1. Apache Hadoop 集群安装文档

    简介: Apache Hadoop 集群安装文档 软件:jdk-8u111-linux-x64.rpm.hadoop-2.8.0.tar.gz http://www.apache.org/dyn/cl ...

  2. _00024 尼娜抹微笑伊拉克_云计算ClouderaManager以及CHD5.1.0群集部署安装文档V1.0

    笔者博文:妳那伊抹微笑 itdog8 地址链接 : http://www.itdog8.com(个人链接) 博客地址:http://blog.csdn.net/u012185296 博文标题:_000 ...

  3. Azkaban使用安装文档

    Azkaban使用安装文档 Azkaban简介 Azkaban的是什么 Azkaban是由Linkedin公司推出的一个批量工作流任务调度器,用于在一个工作流内以一个特定的顺序运行一组工作和流程.Az ...

  4. Hadoop 部署文档

    Hadoop 部署文档 1 先决条件 2 下载二进制文件 3 修改配置文件 3.1 core-site.xml 3.2 hdfs-site.xml 3.3 mapred-site.xml 3.4 ya ...

  5. hadoop2.2.0_hbase0.96_zookeeper3.4.5全分布式安装文档下载

    本文档主要内容有: 1.hadoop 2.2.0 集群安装与部署 2.HBase 0.96 集群安装与部署 3.Zookeeper 3.4.5集群安装部署 备注:安装文档可能有所遗漏,后续将持续更新. ...

  6. ORACLE LINUX 6.3 + ORACLE 11.2.0.3 RAC + VBOX安装文档

    ORACLE LINUX 6.3 + ORACLE 11.2.0.3 RAC + VBOX安装文档 2015-10-21 12:51 525人阅读 评论(0) 收藏 举报  分类: Oracle RA ...

  7. Oracle 11g 单实例安装文档

    这里介绍在Red Hat Enterprise Linux Server release 5.7 (Tikanga)下安装ORACLE 11.2.0.1.0的过程,本文仅仅是为了写这样安装指导文档而整 ...

  8. linkedin开源的kafka-monitor安装文档

    linkedin开源的kafka-monitor安装文档 linkedin 开源的kafka-monitor的安装使用可以参考官方的readme:流程介绍的已经比较清楚,但是还是有一些地方需要修正.让 ...

  9. oracle database 12c R1 安装文档

    INSTALLORACLE DATABASE 12C 完整的安装文档下载地址: http://download.csdn.net/detail/royjj/5665869 OS:ORALCE LINU ...

随机推荐

  1. [转]轻松理解AOP思想(面向切面编程)

    原文链接 Spring是什么 先说一个Spring是什么吧,大家都是它是一个框架,但框架这个词对新手有点抽象,以致于越解释越模糊,不过它确实是个框架的,但那是从功能的角度来定义的,从本质意义上来讲,S ...

  2. 关于java程序在运行时出现a java exception has occured时解决方法

    错误截图: 出现情况原因分析: 1.环境没有配置好,配置java环境变量: 参考 检查是否正确,java javac,可以尝试重新 2.查看使用的jdk版本是否存在版本问题: 例如jdk1.7对中文的 ...

  3. mybatis 多参数传递

    参考: 1. MyBatis传入多个参数的问题 http://www.cnblogs.com/mingyue1818/p/3714162.html2. MyBatis报错 Parameter '0' ...

  4. Linux软Raid--mdadm命令

    mdadm:为软RAID提供管理界面,RAID设备可命名为/dev/md0./dev/md1./dev/md2./dev/md3等 命令的语法格式:mdadm[mode] <raiddevice ...

  5. 【PAT甲级】1037 Magic Coupon (25 分)

    题意: 输入一个正整数N(<=1e5),接下来输入N个整数.再输入一个正整数M(<=1e5),接下来输入M个整数.每次可以从两组数中各取一个,求最大的两个数的乘积的和. AAAAAccep ...

  6. MYSQL 查询指定日期后的15天

    SELECT s.id, s.exhi_id, s.commission, s.order_main_id, s.create_date, s.fen_xiao_id, s.state, s.upda ...

  7. Ubuntu18.04下Qt5.9.8连接mysql数据库失败的解决办法

    问题: 连接mysql数据库时,出现如下 提示: QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QSQ ...

  8. springcloud-zuul进阶篇

    一 前言 经过zuul初级篇(博客或者公主号springcloud专栏可以找到)的学习,读者都懂得如何简单的使用zuul进行路由网关配置,在进阶篇中你将获得zuul核心功能过滤器的基本使用,通过zuu ...

  9. uniGUI之学习方法(18)

    官方例子D:\Program Files\FMSoft\Framework\uniGUI\Demos\Desktop 在Design里Main上右键,View as Form看到变化的属性. 看出变化 ...

  10. spark bulkload hbase笔记

    1. 现有的三方包不能完全支持 - 官方:hbase-spark,不能设置 timestamp - unicredit/hbase-rdd:接口太复杂,不能同时支持多个 family 2. HFile ...