1 下载Hadoop和Jdk安装包(三个服务器均需下面操作)

请前往百度云上上下载相关安装包(密码:8op1)

1.1 修改静态IP

  1. vim /etc/sysconfig/network-scripts/ifcfg-ens33

桥接模式也是可以设置静态IP

配置内容

  1. TYPE=Ethernet
  2. BOOTPROTO=static #改成static,针对NAT
  3. NAME=eno16777736
  4. UUID=4cc9c89b-cf9e-4847-b9ea-ac713baf4cc8
  5. DEVICE=eno16777736
  6. DNS1=114.114.114.114 #和网关相同
  7. ONBOOT=yes #开机启动此网卡
  8. IPADDR=192.168.65.161 #固定IP地址
  9. NETMASK=255.255.255.0 #子网掩码
  10. GATEWAY=192.168.65.2 #网关和NAT自动配置的相同,不同则无法登录
  11. 重启网络
  12. service network restart #重启网络
  13. systemctl restart network.service #重启网络
  14. ip addr #查看IP

1.2 关闭防火墙

  1. systemctl stop firewalld.service #关闭防火墙服务
  2. systemctl disable firewalld.service #禁止防火墙开启启动

检查防火墙状态

  1. firewall-cmd --state

1.3 修改主机名

  1. vim /etc/hostname
  2. 删掉原内容,改为:hadoop01
  3. Hostname为内核属性需要重启才能生效,不想重启可以定义零时主机名
  4. 执行以下命令
  5. hostname hadoop01
  6. 查看主机名
  7. hostname

1.4 修改hosts文件

  1. vi /etc/hosts

删除原来内容

  1. 127.0.0.1 localhost
  2. ::1 localhost
  3. 192.168.65.161 hadoop01
  4. 192.168.65.162 hadoop02
  5. 192.168.65.163 hadoop03

1.5 设置免密登录

  1. 每台都执行以下操作
  2. 在白框任意路径执行:
  3. ssh-keygen
  4. 然后三次直接回车不输入任何内容
  5. 得到秘钥后执行:
  6. ssh-copy-id root@hadoop01 #hadoop02hadoop03
  7. 测试
  8. ssh hadoop02
  9. 不需要输入密码直接进入说明成功,exit退出

1.6 jdk 安装

解压

  1. vim /etc/profile
  2. export JAVA_HOME=/hadoop/jdk1.8.0_161
  3. export JAVA_JRE=JAVA_HOME/jre
  4. export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_JRE/lib
  5. export PATH=$PATH:$JAVA_HOME/bin
  6. source /etc/profile
  7. java -verison

Hadoop 安装 - 图1

2 hadoop 安装

单机模式:解压就能运行,但是只支持MapReduce的测试,不支持HDFS,不用。
伪分布式模式:单机通过多进程模拟集群方式安装,支持Hadoop所有功能。学习测试用

2.1 伪分布式安装

需要环境:
JDK,JAVA_HOME,配置hosts,hostname,关闭防火墙,配置免密登录。
安装在hadoop01节点上。

2.1.1 创建目录

mkdir hadoop

2.1.2 上传安装包并解压

tar -xvf 安装包

2.1.3 修改配置文件

1 修改 hadoop-env.sh

vim [hadoop]/etc/hadoop/hadoop-env.sh

主要是修改java_home的路径
在hadoop-env.sh,把export JAVA_HOME=${JAVA_HOME}修改成具体的路径
修改HADOOP_CONF_DIR为具体的路径
image.png

source hadoop-env.sh

2 修改 core-site.xml

vim [hadoop]/etc/hadoop/core-site.xml

增加namenode配置、文件存储位置配置

<configuration> 
<property> 
<!--用来指定hdfs的老大,namenode的地址--> 
<name>fs.default.name</name> 
<value>hdfs://hadoop01:9000</value> 
</property>  
<property> 
<!--用来指定hadoop运行时产生文件的存放目录-->   
<name>hadoop.tmp.dir</name> 
<value>/usr/local/src/hadoop/hadoop-2.7.1/tmp</value> 
</property> 
</configuration>

这边还需要创建一个临时文件夹

cd /usr/local/src/hadoop/hadoop-2.7.1 
mkdir tmp

3 修改 hdfs-site.xml

vim [hadoop]/etc/hadoop/hdfs-site.xml

配置包括自身在内的备份副本数量

<configuration> 
<property> 
<!--指定hdfs保存数据副本的数量,包括自己,默认为3--> 
<!--伪分布式模式,此值必须为1--> 
<name>dfs.replication</name> 
<value>1</value> 
</property> 
<!--设置hdfs操作权限,false表示任何用户都可以在hdfs上操作文件--> 
<property> 
<name>dfs.permissions</name> 
<value>false</value> 
</property> 
</configuration>

4 修改 mapred-site.xml

说明:在/etc/hadoop的目录下,只有一个mapred-site.xml.template文件,复制一个。

cp mapred-site.xml.template mapred-site.xml
vim [hadoop]/etc/hadoop/mapred-site.xml
<configuration> 
<property>  
<!--指定mapreduce运行在yarn上--> 
<name>mapreduce.framework.name</name> 
<value>yarn</value> 
</property> 
</configuration>

5 修改 yarn-site.xml

vim [hadoop]/etc/hadoop/yarn-site.xml
<configuration> 
<property> 
<!--指定yarn的老大resourcemanager的地址--> 
<name>yarn.resourcemanager.hostname</name> 
<value>hadoop01</value> 
</property> 
<property> 
<!--NodeManager获取数据的方式--> 
<name>yarn.nodemanager.aux-services</name> 
<value>mapreduce_shuffle</value> 
</property> 
</configuration>

6 修改 slaves

伪分布部署的时、候 需要配置三台主机(hadoop01,hadoop02,hadoop03)

vim slaves

image.png

2.2 修改profile

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

export HADOOP_HOME=/usr/local/hadoop/tar/hadoop-2.10.0
export  PATH=${HADOOP_HOME}/bin:$PATH

2.2.1 测试

echo $HADOOP_HOME

2.3 初始化hadoop

hdfs namenode -format

image.png

cd /usr/local/hadoop/tar/hadoop-2.10.0/sbin

start-all.sh 

stop-all.sh

2.4 启动hadoop

image.png

访问hadoop01:50070
image.png
安装成功!
如果没有成功(进程数不够)
1.stop-all.sh **停掉hadoop所有进程
2.删掉tmp文件并重新创建tmp
3.hdfs namenode -format 重新初始化(出现successfully**证明成功),如果配置文件报错,安装报错信息修改相应位置后重新执行第二步。
4.start-all.sh **启动**hadoop

参考链接

单机版安装

高可用(HA)HDFS 安装

王瑞同学的干货 hadoop 安装hadoop(2).docx