完全遍布式安装

By admin in 美高梅手机版4858 on 2019年4月27日

作者们必要先下载并解压jdk,注意jdk的下载地址是隔叁差伍改换的,由此请不要直接用上面包车型大巴地址下载,下载时请先查看一下地址。

小编们须求先下载并解压jdk,注意jdk的下载地址是时常转移的,因而请不要直接用上边的地方下载,下载时请先查看一下地方。

一. 设置景况

正文使用三台CentOS六.4虚拟机模拟完全遍布式情况。

壹. 装置蒙受

美高梅手机版4858 ,正文使用叁台CentOS陆.4虚拟机模拟完全布满式境况。
前多个经过和hadoop壹.x安装一样

一. 开立java的设置路线

一. 成立java的装置路线

壹.一. 安装情况

项目 参数
主操作系统   Windows 10 64 bit,8GB内存
虚拟软件  VMware® Workstation 12 Pro 12.5.2
虚拟机操作系统 CentOS6.5 64位 512MB内存
虚拟机数量 3
jdk版本 java version "1.8.0_131"
安装的hadoop版本 hadoop-1.2.1

一.一. 装置景况

项目 参数
主操作系统   Windows 10 64 bit,8GB内存
虚拟软件  VMware® Workstation 12 Pro 12.5.2
虚拟机操作系统 CentOS6.5 64位 512MB内存
虚拟机数量 3
jdk版本 java version "1.8.0_131"
安装的hadoop版本 hadoop-2.7.4
[root@tiny1 grid]# mkdir /usr/java
[root@tiny1 grid]# cd /usr/java
[root@tiny1 grid]# mkdir /usr/java
[root@tiny1 grid]# cd /usr/java

壹.2. 集群景况

完全遍布式安装。集群包蕴多少个节点:一个namenode、三个datanode

主机名称 主机IP 节点类型 hadoop账号
tiny1 192.168.132.101 namenode grid
tiny2 192.168.132.102 datanode grid
tiny3 192.168.132.103 datanode grid

在我们的测试机上,大家选用三台虚拟机来效仿linux。我们下文中称之为tiny一、tiny二、tiny三

一.二. 集群意况

集群包括多少个节点:2个namenode、1个datanode

主机名称 主机IP 节点类型 hadoop账号
tiny01 192.168.132.101 namenode grid
tiny02 192.168.132.102 datanode grid
tiny03 192.168.132.103 datanode grid

在大家的测试机上,大家利用3台虚拟机来模拟linux。我们下文中称之为tiny01、tiny02、tiny0三

2. 下载jdk
点击Java SE Development Kit 8
Downloads,点击同意后下载jdk-8u141-linux-x64.tar.gz(不一致的版本也足以用平等的办法),复制下来下载链接
然后选用wget 下载链接的诀要下载jdk

2. 下载jdk
点击Java SE Development Kit 8
Downloads,点击同意后下载jdk-8u141-linux-x64.tar.gz(分裂的版本也足以用平等的方式),复制下来下载链接
接下来利用wget 下载链接的办法下载jdk

2. 配置hosts文件

作者们希望多个主机之间都能够采纳主机名称的措施互相拜访而不是IP,大家必要在hosts中计划其余主机的host。因而大家在三个主机的/etc/hosts下均实行如下配置:
1. 打开hosts文件

[root@tiny1 ~]# vi /etc/hosts

二. 布置主机host

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.132.101 tiny1
192.168.132.102 tiny2
192.168.132.103 tiny3

3. 将安排发送到别的主机(同时在其余主机上安排)

[root@tiny1 etc]# scp /etc/hosts root@tiny2:/etc/hosts
[root@tiny1 etc]# scp /etc/hosts root@tiny3:/etc/hosts

4. 测试

[root@tiny1 root]$ ping tiny1
[root@tiny1 root]$ ping tiny2
[root@tiny1 root]$ ping tiny3

2. 配置hosts文件

咱俩盼望多个主机之间都能够使用主机名称的不二等秘书技相互访问而不是IP,大家供给在hosts中配备别的主机的host。因而大家在四个主机的/etc/hosts下均进行如下配置:
1. 打开hosts文件

[root@tiny01 ~]# vi /etc/hosts

2. 铺排主机host

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.132.101 tiny01
192.168.132.102 tiny02
192.168.132.103 tiny03

三. 将安顿发送到别的主机(同时在任何主机上布置)

[root@tiny01 ~]# scp /etc/hosts root@tiny02:/etc/hosts
[root@tiny01 ~]# scp /etc/hosts root@tiny03:/etc/hosts

4. 测试

[root@tiny01 ~]$ ping tiny01
[root@tiny01 ~]$ ping tiny02
[root@tiny01 ~]$ ping tiny03

例如:

例如:

三.创设hadoop运营账号

我们在有着的主机下均创建1个grid账号用来运营hadoop
始建grid账号的一声令下如下

[root@tiny1 ~]# useradd grid
[root@tiny1 ~]# # 通过手动输入修改密码
[root@tiny1 ~]# passwd --stdin grid
更改用户 grid 的密码 。
123456
passwd: 所有的身份验证令牌已经成功更新。

测试:

[root@tiny1 ~]# su admin
[admin@tiny1 root]$ su grid
密码:
[grid@tiny1 root]$

三.白手起家hadoop运转账号

大家在富有的主机下均创造三个grid账号用来运作hadoop
,并将其加多至sudoers中
始建grid账号的下令如下

[root@tiny01 ~]# useradd grid
[root@tiny01 ~]# # 通过手动输入修改密码
[root@tiny01 ~]# passwd --stdin grid
更改用户 grid 的密码 。
123456
passwd: 所有的身份验证令牌已经成功更新。

增添grid组到sudo中,在其间增添下边一行:

[root@tiny01 ~]# visudo
%grid   ALL=(ALL)       NOPASSWD:ALL

改行意思为,组:grid内的用户同意免密码使用sudo命令
测试:

[root@tiny01 ~]# su admin
[admin@tiny01 root]$ su grid
密码:
[grid@tiny01 root]$
wget http://download.oracle.com/otn-pub/java/jdk/8u121-b13/e9e7ea248e2c4826b92b3f075a80e441/jdk-8u121-linux-x64.tar.gz?AuthParam=1488850152_387f1ee536313aeb1ffd212acd203c87
wget http://download.oracle.com/otn-pub/java/jdk/8u121-b13/e9e7ea248e2c4826b92b3f075a80e441/jdk-8u121-linux-x64.tar.gz?AuthParam=1488850152_387f1ee536313aeb1ffd212acd203c87

四. 安装SSH免密码登录

有关ssh免密码的装置,需求每两台主机之间设置免密码,自身的主机与友好的主机之间也须求安装免密码。
那项操作大家必要在hadoop用户下施行。

[root@tiny1 ~]# su grid
[grid@tiny1 ~]# ssh-keygen -t rsa
[grid@tiny1 ~]# ssh-copy-id tiny1
[grid@tiny1 ~]# ssh-copy-id tiny2
[grid@tiny1 ~]# ssh-copy-id tiny3

大家在每一台主机上施行如上命令。大家的安装结果如下,在每壹台主机grid用户中的~/.ssh/authorized_keys文件中,其内容均为:

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAs5s4u1SHzkeqHHMozFWyqFj/qKwn57Gm8tpvOxSRY+5xqdEonJGvQ71AF+EOvttz/qBgEGB3UX2jp7YVIcKcc9WDoJXrb2NuBKbnP0zywDCsVQj/4KC7rQzG7YF2x8xueuDrW8nSxmNF1cYfENtYKpIITtL3cwAaVBBgwZJFTj9QN8/cMorG5aclMCETeklpUhGkSZ5Ccjc0FfGNKhnQntPqPVMBbDaSrJ31T7eONlIRymBJufAengHWYFGkEm/mnktxeDxDpVgLSEhbvwRUOeQUZzGfRcpdWwGFyQNoPTfCYKPpaQsJT7tCB97VY6aAZiaNqoN0kLEvKVAYLyhaJQ== grid@tiny1

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAs0uMn5wpUJNqxi++3i2WQu9KSv7Mj2Za4yu/8pXGFDxIEJCNEgREnfSAdrmpftRjp083RV3842zp2fqpbcE335fma7VbIcSqq20cQhWFyB1dZFP+H+f4+RbC5g31Hk5YG+DDY5dEm2B3RLDpLt0FukJcc0smN56ZwQ3JUXxe9ip8slTvtMr2ptvSg86cy+Eu7Gwt+7XHCNYIrxCzv7YQ0WilzvEpHP09wRp/K15HFHh+mTimxN2z4QERNMg77hNYEdEVrOVIhMztgakuhhSkpbyskkQuTeiyvKTLd/QL4iSFjt7dB1nieVFWCRP2yY2AsjD8nbHarBrgYojS/kslCw== grid@tiny2

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAy4h+XIl/IR8/QxtCxW8xl8QOqqZQWlL+rsI2zlhgTb+6dN4B6CE+u3/SrU8c8tLJSAXuRTg+MohIABrKRpFuu8VCLHw27JZ21c9KXpncAe+wkv3vagbH1lfxyYnBGn5XY6MEhNTx7nyBL7O55GNA92kD+JIEGvVF+NUq8yBJDBqeVFoFPU6FARI3OJi1Hlh47+gjIAIp2SP8QEhvjm+katL4+KtGgyHMkw8OYYzW6t6wjzmqgIRdzkIZI0Q0ChC8wAl8wkhwYXnbdw6m4pgSnVJ0zBhQZ5ovCHF3FR0OsrXpoe/2tpjT4LG04khTpqt2T4PC36No3dhcd/9wAw4+4Q== grid@tiny3

4. 设置SSH免密码登入

至于ssh免密码的安装,需求每两台主机之间设置免密码,自身的主机与和煦的主机之间也要求安装免密码。
那项操作大家要求在hadoop用户下进行。

[root@tiny01 ~]# su grid
[grid@tiny01 ~]# ssh-keygen -t rsa
[grid@tiny01 ~]# ssh-copy-id tiny01
[grid@tiny01 ~]# ssh-copy-id tiny02
[grid@tiny01 ~]# ssh-copy-id tiny03

笔者们在每一台主机上实施如上命令。大家的装置结果如下,在每1台主机grid用户中的~/.ssh/authorized_keys文件中,其剧情均为:

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAs5s4u1SHzkeqHHMozFWyqFj/qKwn57Gm8tpvOxSRY+5xqdEonJGvQ71AF+EOvttz/qBgEGB3UX2jp7YVIcKcc9WDoJXrb2NuBKbnP0zywDCsVQj/4KC7rQzG7YF2x8xueuDrW8nSxmNF1cYfENtYKpIITtL3cwAaVBBgwZJFTj9QN8/cMorG5aclMCETeklpUhGkSZ5Ccjc0FfGNKhnQntPqPVMBbDaSrJ31T7eONlIRymBJufAengHWYFGkEm/mnktxeDxDpVgLSEhbvwRUOeQUZzGfRcpdWwGFyQNoPTfCYKPpaQsJT7tCB97VY6aAZiaNqoN0kLEvKVAYLyhaJQ== grid@tiny01

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAs0uMn5wpUJNqxi++3i2WQu9KSv7Mj2Za4yu/8pXGFDxIEJCNEgREnfSAdrmpftRjp083RV3842zp2fqpbcE335fma7VbIcSqq20cQhWFyB1dZFP+H+f4+RbC5g31Hk5YG+DDY5dEm2B3RLDpLt0FukJcc0smN56ZwQ3JUXxe9ip8slTvtMr2ptvSg86cy+Eu7Gwt+7XHCNYIrxCzv7YQ0WilzvEpHP09wRp/K15HFHh+mTimxN2z4QERNMg77hNYEdEVrOVIhMztgakuhhSkpbyskkQuTeiyvKTLd/QL4iSFjt7dB1nieVFWCRP2yY2AsjD8nbHarBrgYojS/kslCw== grid@tiny02

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAy4h+XIl/IR8/QxtCxW8xl8QOqqZQWlL+rsI2zlhgTb+6dN4B6CE+u3/SrU8c8tLJSAXuRTg+MohIABrKRpFuu8VCLHw27JZ21c9KXpncAe+wkv3vagbH1lfxyYnBGn5XY6MEhNTx7nyBL7O55GNA92kD+JIEGvVF+NUq8yBJDBqeVFoFPU6FARI3OJi1Hlh47+gjIAIp2SP8QEhvjm+katL4+KtGgyHMkw8OYYzW6t6wjzmqgIRdzkIZI0Q0ChC8wAl8wkhwYXnbdw6m4pgSnVJ0zBhQZ5ovCHF3FR0OsrXpoe/2tpjT4LG04khTpqt2T4PC36No3dhcd/9wAw4+4Q== grid@tiny03

3. 解压jdk解压后去除安装包

三. 解压jdk解压后去除安装包

5. 安装jdk

此进度在root下进展

[grid@tiny1 ~]$
[grid@tiny1 ~]$ su root
密码: 

5. 安装jdk

此进程在root下展开

[grid@tiny01 ~]$
[grid@tiny01 ~]$ su root
密码: 
[root@tiny1 java]# tar -xzvf jdk-8u141-linux-x64.tar.gz\?AuthParam\=1497245763_bb5c713b336123c5d38ef99896a12489
[root@tiny1 java]# rm -f jdk-8u141-linux-x64.tar.gz\?AuthParam\=1497245763_bb5c713b336123c5d38ef99896a12489
[root@tiny1 java]# tar -xzvf jdk-8u141-linux-x64.tar.gz\?AuthParam\=1497245763_bb5c713b336123c5d38ef99896a12489
[root@tiny1 java]# rm -f jdk-8u141-linux-x64.tar.gz\?AuthParam\=1497245763_bb5c713b336123c5d38ef99896a12489

五.1 下载并解压jdk

大家供给先下载并解压jdk,注意jdk的下载地址是时常转移的,因而请不要间接用下边包车型大巴地点下载,下载时请先查看一下地方。

一. 创办java的设置路线

[root@tiny1 grid]# mkdir /usr/java
[root@tiny1 grid]# cd /usr/java

2. 下载jdk
点击Java SE Development Kit 8
Downloads,点击同意后下载jdk-8u141-linux-x64.tar.gz(不一样的本子也得以用同1的措施),复制下来下载链接
下一场使用wget 下载链接的方法下载jdk

例如:

[root@tiny1 java]#  wget http://download.oracle.com/otn-pub/java/jdk/8u131-b13/e9e7ea248e2c4826b92b3f075a80e441/jdk-8u131-linux-x64.tar.gz?AuthParam=1488850152_387f1ee536313aeb1ffd212acd203c87

3. 解压jdk解压后删除安装包

[root@tiny1 java]# tar -xzvf jdk-8u131-linux-x64.tar.gz\?AuthParam\=1497245763_bb5c713b336123c5d38ef99896a12489
[root@tiny1 java]# rm -f jdk-8u131-linux-x64.tar.gz\?AuthParam\=1497245763_bb5c713b336123c5d38ef99896a12489

4. 查看jdk的地址

[root@tiny1 java]# cd jdk1.8.0_131/
[root@tiny1 jdk1.8.0_131]# pwd
/usr/java/jdk1.8.0_131

伍.布置意况变量
/etc/profile文本中布署JAVA_HOME和PATH

[root@tiny1 java]# vi /etc/profile

添加

export JAVA_HOME=/usr/java/jdk1.8.0_141
export PATH=$PATH:/usr/java/jdk1.8.0_141/bin

6.测试
运行java -version检查测试配置是不是中标

[root@tiny01 opt]# java -version
java version "1.8.0"
gij (GNU libgcj) version 4.4.7 20120313 (Red Hat 4.4.7-18)

Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

安装成功

伍.一 下载并解压jdk

咱俩需求先下载并解压jdk,注意jdk的下载地址是常事改造的,因而请不要平昔用下边包车型地铁地点下载,下载时请先查看一下地方。

一. 创制java的安装路线

[root@tiny01 grid]# mkdir /usr/java
[root@tiny01 grid]# cd /usr/java

2. 下载jdk
点击Java SE Development Kit 8
Downloads,点击同意后下载jdk-8u141-linux-x64.tar.gz(差异的本子也得以用一样的法子),复制下来下载链接
接下来利用wget 下载链接的诀要下载jdk

例如:

[root@tiny01 java]#  wget http://download.oracle.com/otn-pub/java/jdk/8u131-b13/e9e7ea248e2c4826b92b3f075a80e441/jdk-8u131-linux-x64.tar.gz?AuthParam=1488850152_387f1ee536313aeb1ffd212acd203c87

三. 解压jdk解压后去除安装包

[root@tiny01 java]# tar -xzvf jdk-8u131-linux-x64.tar.gz\?AuthParam\=1497245763_bb5c713b336123c5d38ef99896a12489
[root@tiny01 java]# rm -f jdk-8u131-linux-x64.tar.gz\?AuthParam\=1497245763_bb5c713b336123c5d38ef99896a12489

4. 查看jdk的地址

[root@tiny01 java]# cd jdk1.8.0_131/
[root@tiny01 jdk1.8.0_131]# pwd
/usr/java/jdk1.8.0_131

五.配置蒙受变量
/etc/profile文件中配备JAVA_HOME和PATH

[root@tiny01 jdk1.8.0_131]# vi /etc/profile

添加

export JAVA_HOME=/usr/java/jdk1.8.0_131
export PATH=$PATH:/usr/java/jdk1.8.0_131/bin

6.测试
运行java -version检查评定配置是还是不是成功

[root@tiny01 jdk1.8.0_131]# java -version
java version "1.8.0"
gij (GNU libgcj) version 4.4.7 20120313 (Red Hat 4.4.7-18)

Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

安装成功

4. 查看jdk的地址

4. 查看jdk的地址

5.二 向任何节点复制jdk

[root@tiny1 jdk1.8.0_121]# ssh tiny2
[root@tiny2 ~]# mkdir /usr/java
[root@tiny2 ~]# ssh tiny3
[root@tiny3 ~]# mkdir /usr/java
[root@tiny3 ~]# logout
[root@tiny2 ~]# logout
[root@tiny1 jdk1.8.0_121]#

[root@tiny1 jdk1.8.0_121]# scp -r /usr/java/jdk1.8.0_121 root@tiny2:/usr/java/jdk1.8.0_121
[root@tiny1 jdk1.8.0_121]# scp -r /usr/java/jdk1.8.0_121 root@tiny3:/usr/java/jdk1.8.0_121

5.二 向此外节点复制jdk

[root@tiny01 ~]# ssh root@tiny02 "mkdir /usr/java"
[root@tiny01 ~]# ssh root@tiny03 "mkdir /usr/java"

[root@tiny01 ~]# scp -r /usr/java/jdk1.8.0_131 root@tiny02:/usr/java/jdk1.8.0_131 
[root@tiny01 ~]# scp -r /usr/java/jdk1.8.0_131 root@tiny03:/usr/java/jdk1.8.0_131
[root@tiny1 java]# cd jdk1.8.0_141/
[root@tiny1 jdk1.8.0_141]# pwd
/usr/java/jdk1.8.0_141
[root@tiny1 java]# cd jdk1.8.0_141/
[root@tiny1 jdk1.8.0_141]# pwd
/usr/java/jdk1.8.0_141

伍.三 在一1主机下布置jdk的情状变量

编辑/etc/profile文件

[root@tiny1 jdk1.8.0_121]# vi /etc/profile

在该文件下加多如下内容

## JAVA_HOME 设置
JAVA_HOME=/usr/java/jdk1.8.0_121
export JAVA_HOME
PATH=$PATH:/usr/java/jdk1.8.0_121/bin

在各类主机下均举办设置,由于小编的Computer上linux都以新安装的,境况变量一样,由此一贯复制到了别的主机上。假使分裂的主机的情形变量分化,请手动设置

[root@tiny1 hadoop]# scp /etc/profile root@tiny2:/etc/profile
[root@tiny1 hadoop]# scp /etc/profile root@tiny3:/etc/profile

在各样主机上都再一次编写翻译一下/etc/profile

[root@tiny1 hadoop]# source /etc/profile

伍.叁 在每一种主机下布置jdk的意况变量

编辑/etc/profile文件

[root@tiny01 ~]# vi /etc/profile

在该公文下增加如下内容

## JAVA_HOME 设置
export JAVA_HOME=/usr/java/jdk1.8.0_131
export PATH=$PATH:/usr/java/jdk1.8.0_131/bin

在每一个主机下均举办设置,由于自个儿的Computer上linux都以新安装的,景况变量一样,由此一向复制到了别的主机上。借使不一致的主机的景况变量不一致,请手动设置

[root@tiny01 hadoop]# scp /etc/profile root@tiny02:/etc/profile
[root@tiny01 hadoop]# scp /etc/profile root@tiny03:/etc/profile

在各样主机上都再一次编写翻译一下/etc/profile

[root@tiny01 hadoop]# source /etc/profile

5.布局蒙受变量
使用

五.陈设境况变量
使用

5.4 测试

[root@tiny1 hadoop]# java -version
java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)

假设不是命令未找到则表示成功(提议重启一下linux)

5.4 测试

[root@tiny01 hadoop]# java -version
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b13, mixed mode)

成功

(假如版本不对应,那么注解linux本人已经有了暗许的jdk,则要求修改linux默许jdk版本:修改linux默认jdk版本,由于自家那边设置的是最小化安装,所以并未有暗中认可的jdk)

[root@tiny1 java]# vi /etc/profile
[root@tiny1 java]# vi /etc/profile

6. 下载并解压hadoop

在tiny1的linux调节台下载hadoop并将其解压

1. 切换回grid用户

[root@tiny1 jdk1.8.0_121]# su grid

二. 创设hadoop目录并进入到该目录中

[grid@tiny1 ~]$ cd ~
[grid@tiny1 ~]$ mkdir hadoop
[grid@tiny1 ~]$ cd hadoop
[grid@tiny1 hadoop]$

三. 下载并解压hadoop

[admin@tiny1 hadoop]$ wget https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-1.2.1/hadoop-1.2.1.tar.gz
[admin@tiny1 hadoop]$ tar -xzvf hadoop-1.2.1.tar.gz

6. 下载并解压hadoop

在linux调整台下载hadoop并将其解压

1.切换回grid用户

[root@tiny01 jdk1.8.0_131]# su grid

二.成立hadoop目录并进入到该目录中

[grid@tiny01 ~]$ sudo mkdir /opt/hadoop
[grid@tiny01 ~]$ sudo chown grid:grid /opt/hadoop
[grid@tiny01 ~]$ cd /opt/hadoop
[grid@tiny01 hadoop]$ 

三.下载并解压hadoop

[grid@tiny01 hadoop]$ wget https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-2.7.4/hadoop-2.7.4.tar.gz
[grid@tiny01 hadoop]$ tar -xzvf hadoop-2.7.4.tar.gz

命令在/etc/profile文本中配置JAVA_HOME和PATH,配置如下:

命令在/etc/profile文本中布置JAVA_HOME和PATH,配置如下:

七. 配置相关的配置文件

七. 退换配置文件

hadoop二.x的布局文件和hadoop1.x的安顿文件并不一样样,由此大家有不一致的安装格局。

上述个别文件暗中同意不存在的,能够复制相应的template文件获得。
小编们不必要修改master了

留意:在hadoop二.x中安顿文件是身处etc下的

export JAVA_HOME=/usr/java/jdk1.8.0_141
export PATH=$PATH:/usr/java/jdk1.8.0_141/bin
export JAVA_HOME=/usr/java/jdk1.8.0_141
export PATH=$PATH:/usr/java/jdk1.8.0_141/bin

7.1 修改hadooop-env.sh

hadooop-env.sh是二个剧本文件,它根本用于建立碰着用的,大家须要修改JAVA_HOME,值的注意的是,它尽管配置为export JAVA_HOME=${JAVA_HOME}可是事实上他不可能博得系统安装的JAVA_HOME故此必要手动配置
咱俩开采该公文:

vi hadoop-1.2.1/conf/hadoop-env.sh

我们将JAVA_HOME的讲明解开并将它设置为大家在linux中装置的jdk的任务

# The java implementation to use.  Required.
export JAVA_HOME=/usr/java/jdk1.8.0_121

7.1. 修改hadooop-env.sh

大家开垦该公文:

vi hadoop-2.7.4/etc/hadoop/hadoop-env.sh

修改一下JAVA_HOME

# The java implementation to use.  Required.
export JAVA_HOME=/usr/java/jdk1.8.0_131

6.测试
运行java -version质量评定配置是不是成功

6.测试
运行java -version检查测试配置是还是不是成功

7.2 修改core-site.xml

开发该文件

vi hadoop-1.2.1/conf/core-site.xml

修改为上边包车型客车内容

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<!-- 指定名称节点 -->
<name>fs.default.name</name>
<!--tiny是主机名称,9000是端口号-->
<value>hdfs://tiny1:9000</value>
</property>

<property>
<!-- hadoop临时路径的指定,如果不指定则使用hadoop根目录,当系统重启后就会清空,那么将无法启动hadoop集群了,所以非常重要 -->
<name>hadoop.tmp.dir</name>
<value>/home/grid/hadoop/hadoop-1.2.1/tmp</value>
</property>
</configuration>

创建/home/admin/hadoop/tmp文件夹

[grid@tiny1 hadoop]$ mkdir /home/grid/hadoop/hadoop-1.2.1/tmp

7.2 修改yarn-env.sh

展开该公文

 vi hadoop-2.7.4/etc/hadoop/yarn-env.sh

修改JAVA_HOME的路径

# some Java parameters
export JAVA_HOME=/usr/java/jdk1.8.0_131
if [ "$JAVA_HOME" != "" ]; then
  #echo "run java in $JAVA_HOME"
  JAVA_HOME=$JAVA_HOME
fi

if [ "$JAVA_HOME" = "" ]; then
  echo "Error: JAVA_HOME is not set."
  exit 1
fi
[root@tiny01 opt]# java -version
java version "1.5.0"
gij (GNU libgcj) version 4.4.7 20120313 (Red Hat 4.4.7-18)

Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
[root@tiny01 opt]# java -version
java version "1.5.0"
gij (GNU libgcj) version 4.4.7 20120313 (Red Hat 4.4.7-18)

Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

7.3 修改hdfs-site.xml文件

开拓该公文

vi hadoop-1.2.1/conf/hdfs-site.xml

修改为以下内容

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>

上面配置是设置别本备份数,因为我们只有四个datanode所以须要配置为一或2,由此那里不可不秀该

7.3 修改slaves文件

开采该公文

vi hadoop-2.7.4/etc/hadoop/slaves

修改为以下内容

tiny02
tiny03

安装成功

设置成功

7.4 修改mapred-site.xml文件

展开该公文

vi hadoop-1.2.1/conf/mapred-site.xml

修改为以下内容

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>
<property>
<name>mapred.job.tracker</name>
<value>tiny1:9001</value>
</property>
</configuration>

本条参数钦赐的是job.tracker的地址,未有安装那几个参数的话,暗中同意是local,即job会进展地面运行。

7.4 修改core-site.xml文件

打开该公文

vi hadoop-2.7.4/etc/hadoop/core-site.xml

修改为以下内容(注意主机名和文书路线)

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://tiny01:9000</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/opt/hadoop/hadoop-2.7.4/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>hadoop.proxyuser.hduser.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.hduser.groups</name>
<value>*</value>
</property>
</configuration>

7.5配置masters和slaves文件

master是namenode所在的机器,slave是datanode所在的机械,大家安插tiny一为master,tiny二和tiny叁为slave

修改masters文件(注意,要安装好host)

vi hadoop-1.2.1/conf/masters

修改该文件为:

tiny1

修改salves文件(注意,要安装好host)

vi hadoop-1.2.1/conf/slaves

修改该文件为:

tiny2
tiny3

7.5 修改hdfs-site.xml文件

开采该文件

vi hadoop-2.7.4/etc/hadoop/hdfs-site.xml

修改为以下内容(注意主机名和文件路径)

<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>tiny01:9001</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/opt/hadoop/hadoop-2.7.4/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/opt/hadoop/hadoop-2.7.4/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
</configuration>

八.向各节点复制hadoop

将hadoop复制到别的的节点中(每一台机械中的hadoop新闻是一点一滴等同的)
将配备好的hadoop复制到别的节点上:

[grid@tiny1 hadoop]$ scp -r ../hadoop grid@tiny2:/home/grid/hadoop
[grid@tiny1 hadoop]$ scp -r ../hadoop grid@tiny3:/home/grid/hadoop

柒.陆 复制并修改mapred-site.xml文件

复制并张开该公文

cp hadoop-2.7.4/etc/hadoop/mapred-site.xml.template hadoop-2.7.4/etc/hadoop/mapred-site.xml
vi hadoop-2.7.4/etc/hadoop/mapred-site.xml

修改为以下内容(注意主机名)

<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>tiny01:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>tiny01:19888</value>
</property>
</configuration>

9. 格式化namenode

回到tiny一,格式化tiny一的namenode,实践hadoop安装目录下的bin/hadoop,即:

[grid@tiny1 hadoop]$ hadoop-1.2.1/bin/hadoop namenode -format

17/03/08 04:18:30 INFO namenode.NameNode: STARTUP_MSG:
/************************************************************
STARTUP_MSG: Starting NameNode
STARTUP_MSG:   host = tiny1/192.168.132.101
STARTUP_MSG:   args = [-format]
STARTUP_MSG:   version = 1.2.1
STARTUP_MSG:   build = https://svn.apache.org/repos/asf/hadoop/common/branches/branch-1.2 -r 1503152; compiled by 'mattf' on Mon Jul 22 15:23:09 PDT 2013
STARTUP_MSG:   java = 1.8.0_121
************************************************************/
17/03/08 04:18:31 INFO util.GSet: Computing capacity for map BlocksMap
17/03/08 04:18:31 INFO util.GSet: VM type       = 64-bit
17/03/08 04:18:31 INFO util.GSet: 2.0% max memory = 1013645312
17/03/08 04:18:31 INFO util.GSet: capacity      = 2^21 = 2097152 entries
17/03/08 04:18:31 INFO util.GSet: recommended=2097152, actual=2097152
17/03/08 04:18:31 INFO namenode.FSNamesystem: fsOwner=grid
17/03/08 04:18:31 INFO namenode.FSNamesystem: supergroup=supergroup
17/03/08 04:18:31 INFO namenode.FSNamesystem: isPermissionEnabled=true
17/03/08 04:18:31 INFO namenode.FSNamesystem: dfs.block.invalidate.limit=100
17/03/08 04:18:31 INFO namenode.FSNamesystem: isAccessTokenEnabled=false accessKeyUpdateInterval=0 min(s), accessTokenLifetime=0 min(s)
17/03/08 04:18:31 INFO namenode.FSEditLog: dfs.namenode.edits.toleration.length = 0
17/03/08 04:18:31 INFO namenode.NameNode: Caching file names occuring more than 10 times
17/03/08 04:18:32 INFO common.Storage: Image file /home/grid/hadoop/hadoop-1.2.1/tmp/dfs/name/current/fsimage of size 110 bytes saved in 0 seconds.
17/03/08 04:18:32 INFO namenode.FSEditLog: closing edit log: position=4, editlog=/home/grid/hadoop/hadoop-1.2.1/tmp/dfs/name/current/edits
17/03/08 04:18:32 INFO namenode.FSEditLog: close success: truncate to 4, editlog=/home/grid/hadoop/hadoop-1.2.1/tmp/dfs/name/current/edits
17/03/08 04:18:32 INFO common.Storage: Storage directory /home/grid/hadoop/hadoop-1.2.1/tmp/dfs/name has been successfully formatted.
17/03/08 04:18:32 INFO namenode.NameNode: SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at tiny1/192.168.132.101
************************************************************/

专注日志中的尾数第陆行中的

/home/grid/hadoop/hadoop-1.2.1/tmp/dfs/name has been successfully formatted.

这句话代表格式化成功,若是未有显示那句话,那么格式化战败了,那里要求专注。

7.7 修改yarn-site.xml文件

开拓该公文

vi hadoop-2.7.4/etc/hadoop/yarn-site.xml

修改为以下内容(注意主机名)

<configuration>
<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.resourcemanager.address</name>
<value>tiny01:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>tiny1:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>tiny01:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>tiny01:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>tiny01:8088</value>
</property>
</configuration>

拾. 关门master的防火墙

在master(tiny一)下,切换为root用户查看防火墙的情况

[root@tiny1 grid]# service iptables status
表格:filter
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination
1    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
2    ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0
3    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
4    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22
5    REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited

Chain FORWARD (policy ACCEPT)
num  target     prot opt source               destination
1    REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited

Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination

若果防火墙展现如上面类似,那么阐明防火墙处于张开状态,大家需求关闭防火墙(这几个命令是一时关张防火墙)

[root@tiny1 grid]# service iptables stop
iptables:清除防火墙规则:                                 [确定]
iptables:将链设置为政策 ACCEPT:filter                    [确定]
iptables:正在卸载模块:                                   [确定]
[root@tiny1 grid]# service iptables status
iptables:未运行防火墙。

假诺未有关闭防火墙,那么slave(tiny二,tiny三)将无法连接到master

捌. 创办文件夹

[grid@tiny01 hadoop]$ mkdir hadoop-2.7.4/tmp
[grid@tiny01 hadoop]$ mkdir hadoop-2.7.4/name
[grid@tiny01 hadoop]$ mkdir hadoop-2.7.4/data

11. 启动hadoop集群

在tiny一下实践hadoop安装目录下bin/start-all.sh脚本运营hadoop:

[grid@tiny1 hadoop]$ hadoop-1.2.1/bin/start-all.sh
starting namenode, logging to /home/grid/hadoop/hadoop-1.2.1/libexec/../logs/hadoop-grid-namenode-tiny1.out
tiny2: starting datanode, logging to /home/grid/hadoop/hadoop-1.2.1/libexec/../logs/hadoop-grid-datanode-tiny2.out
tiny3: starting datanode, logging to /home/grid/hadoop/hadoop-1.2.1/libexec/../logs/hadoop-grid-datanode-tiny3.out
tiny1: starting secondarynamenode, logging to /home/grid/hadoop/hadoop-1.2.1/libexec/../logs/hadoop-grid-secondarynamenode-tiny1.out
starting jobtracker, logging to /home/grid/hadoop/hadoop-1.2.1/libexec/../logs/hadoop-grid-jobtracker-tiny1.out
tiny3: starting tasktracker, logging to /home/grid/hadoop/hadoop-1.2.1/libexec/../logs/hadoop-grid-tasktracker-tiny3.out
tiny2: starting tasktracker, logging to /home/grid/hadoop/hadoop-1.2.1/libexec/../logs/hadoop-grid-tasktracker-tiny2.out

大家可以在hadoop安装目录下的logs文件夹中查看文件日志

九.向各节点复制hadoop

[grid@tiny01 hadoop]$ scp -r /opt/hadoop root@tiny02:/opt/
[grid@tiny01 hadoop]$ ssh root@tiny02 "chown -R grid:grid /opt/hadoop"
[grid@tiny01 hadoop]$ scp -r /opt/hadoop root@tiny03:/opt/
[grid@tiny01 hadoop]$ ssh root@tiny03 "chown -R grid:grid /opt/hadoop"

12.用jps核查各后台进度是或不是成功运营

反省tiny壹(master)运维的进程

[grid@tiny1 hadoop]$ jps
2278 JobTracker
2198 SecondaryNameNode
2554 Jps
2030 NameNode

相应运营的经过就是地点多个。
检查tiny二,tiny三(slave)运营的进程

[grid@tiny1 ~]$ ssh tiny2
[grid@tiny2 ~]$ jps
2006 Jps
1830 DataNode
1903 TaskTracker
[grid@tiny2 ~]$ ssh tiny3
[grid@tiny3 ~]$ jps
1923 Jps
1799 TaskTracker
1724 DataNode

发轫成功

10. 关闭master的防火墙

在master(tiny0壹)下,切换为root用户查看防火墙的场合

[root@tiny01 grid]# service iptables status
表格:filter
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination
1    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
2    ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0
3    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
4    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22
5    REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited

Chain FORWARD (policy ACCEPT)
num  target     prot opt source               destination
1    REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited

Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination

如果防火墙显示如上边类似,那么申明防火墙处于开启状态,我们必要关闭防火墙(那个命令是一时半刻关张防火墙)

[root@tiny01 grid]# service iptables stop
iptables:清除防火墙规则:                                 [确定]
iptables:将链设置为政策 ACCEPT:filter                    [确定]
iptables:正在卸载模块:                                   [确定]
[root@tiny01 grid]# service iptables status
iptables:未运行防火墙。

假诺未有关闭防火墙,那么slave(tiny0二,tiny03)将不可能连接到master

11. 格式化namenode

切换回grid用户

hadoop-2.7.4/bin/hdfs namenode -format

12. 启动hadoop

咱俩得以选用 ./sbin/start-all.sh运维全套进度 ,在tiny0第11中学:

hadoop-2.7.4/sbin/start-all.sh

13.测试

我们使用java安装目录下的bin/jps检查当前运作的经过
在tiny1中:

[hadoop@tiny1 hadoop]$ jps
2023 Jps
1431 NameNode
1613 SecondaryNameNode
1757 ResourceManager

在tiny2中:

[hadoop@tiny2 ~]$ jps
1296 NodeManager
1236 DataNode
1453 Jps

在tiny3中:

[hadoop@tiny3 ~]$ jps
1427 Jps
1270 NodeManager
1210 DataNode

运营成功!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图
Copyright @ 2010-2019 美高梅手机版4858 版权所有