1、准备工作
1.1 首先我们要准备三台centos7机器,这三台centos7机器的ip、hostname分别为
IP | hostname |
---|---|
192.168.1.11 | master |
192.168.1.12 | slave01 |
192.168.1.13 | slave02 |
1.2 使用到的工具版本说明
centos版本:CentOS-7.4-x86_64-DVD-1708.iso
JDK版本:jdk-8u231-linux-x64.tar.gz
Hadoop版本:hadoop-2.7.3.tar.gz
2、安装前的准备工作
2.1 相关步骤:
- 设置hostname
- 设置/etc/hosts
- 关闭防火墙
- 关闭selinux
- 配置ssh免密登录
- 安装jdk
2.2 设置hostname(三台机器都执行)
# master 节点
hostnamectl set-hostname master
# slave01 节点
hostnamectl set-hostname slave01
# slave02 节点
hostnamectl set-hostname slave02
2.3 设置/etc/hosts(三台机器都执行)
vi /etc/hosts
192.168.1.11 master
192.168.1.12 slave01
192.168.1.13 slave02
master节点:
slave01节点:
slave02节点:
2.4 关闭防火墙(三台机器都执行)
# 查看状态
firewall-cmd --state
# 停止firewall
systemctl stop firewalld.service
# 禁止firewall开机启动
systemctl disable firewalld.service
master节点:
slave01节点:
slave02节点:
2.5 关闭selinux(三台机器都执行)
# 修改selinux
vi /etc/selinux/config
修改内容
SELINUX=disabled
master节点:
slave01节点:
slave02节点:
2.6 配置ssh免密登录(三台机器都执行)
# 创建私钥
ssh-keygen -t rsa
# 将创建私钥copy到master节点
ssh-copy-id root@master
# 将创建私钥copy到slave01节点
ssh-copy-id root@slave01
# 将创建私钥copy到slave02节点
ssh-copy-id root@slave02
master节点:
测试
slave01、slave02节点的操作同上,这里不再截图。
2.7 安装jdk(三台机器都执行)
可以参考本人另一篇blog:Centos服务器上安装jdk
master节点:
slave01节点:
slave02节点:
3、安装配置Hadoop
- 安装 hadoop
- 配置hadoop
- 启动hadoop
- 验证hadoop是否安装成功
3.1 安装 hadoop(三台机器都要安装)
在/usr/目录下新建目录hadoop,将hadoop-2.7.3.tar.gz安装包上传到hadoop目录下,并解压
执行以下语句创建相应的目录:
mkdir -p /usr/hadoop/tmp/
mkdir -p /usr/hadoop/hdfs/
mkdir -p /usr/hadoop/hdfs/data/
mkdir -p /usr/hadoop/hdfs/name/
master节点:
slave01节点:
slave02节点:
3.2 配置hadoop(三台机器都要配置,配置文件都相同)
在目录/usr/hadoop/hadoop-2.7.3/etc/hadoop/下的以下文件:
1、core-site.xml
2、hdfs-site.xml
3、mapred-site.xml
4、yarn-site.xml
5、slaves
6、masters
7、hadoop-env.sh
3.2.1 core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/hadoop/tmp</value>
</property>
</configuration>
3.2.2 hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/hadoop/hdfs/name</value>
<final>true</final>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/hadoop/hdfs/data</value>
<final>true</final>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>master:9001</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
3.2.3 mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
3.2.4 yarn-site.xml
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.resourcemanager.address</name>
<value>master:8040</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:8030</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:8088</value>
<description>11111</description>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8025</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master:8141</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
<description>1111</description>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.acl.enable</name>
<value>false</value>
</property>
<property>
<name>yarn.admin.acl</name>
<value>*</value>
</property>
</configuration>
3.2.5 slaves
slave01
slave02
3.2.6 masters
master
3.2.6 hadoop-env.sh
export JAVA_HOME=/usr/java/jdk1.8.0_231
3.3 启动hadoop(master节点)
3.3.1 启动hadoop之前,需要先格式化文件系统(master节点)
# 进入到hadoop安装目录
cd /usr/hadoop/hadoop-2.7.3/
# 执行文件格式化命令
./bin/hdfs namenode -format
3.3.2 启动hdfs、yarn(master节点)
# 启动 hdfs
./sbin/start-all.sh
3.3.3 访问http://192.168.1.11:50070/,通过hdfs页面ui查看
3.3.3 访问http://192.168.1.11:8088/cluster
3.4 验证hadoop是否安装成功
# 查看目录及文件信息
hdfs dfs -ls /
# 创建目录
hdfs dfs -mkdir -p /user/che/1021001
# 上传文件到hdfs
hdfs dfs -put /data/1025.txt /user/che/1021001
# 上传文件到hdfs
hdfs dfs -copyFromLocal /data/1025.txt /user/che/1021001/
master节点:
slave01节点:
slave02节点:
注:只要master节点执行创建目录、上传文件的命令,slave01、slave02节点就可以通过查看命令看到创建的目录和文件了
另外单机版安装部署参考本人的另一篇blog:Hadoop2.7.3在centos7上的单机版安装部署