前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住给大家分享一下。点击跳转到网站:https://www.captainai.net/dongkelun
前言:
本文安装配置的hadoop为分布式的集群,单机配置见:centos7 hadoop 单机模式安装配置
我用的三个centos7, 先将常用环境配置好(CentOS 初始环境配置),设置的ip分别为:192.168.44.138、192.168.44.139,192.168.44.140,分别对应别名master、slave1、slave2
1、首先安装配置jdk(我安装的1.8)
2、给每个虚拟机的ip起个别名
在每个虚拟机上执行1
vim /etc/hosts
在最下面添加:1
2
3192.168.44.138 master
192.168.44.139 slave1
192.168.44.140 slave2
在每个虚拟机上ping一下,保证都能ping通1
2
3ping master
ping slave1
ping slave2
3、SSH免密码登录
保证三台机器都可以免密互通,参考:linux ssh 免密登录
3、下载hadoop(每台机器)
下载地址:http://mirror.bit.edu.cn/apache/hadoop/common/,我下载的是hadoop-2.7.5.tar.gz
4、解压到/opt目录下(每台机器、目录根据自己习惯)
1 | tar -zxvf hadoop-2.7.5.tar.gz -C /opt/ |
5、配置hadoop环境变量(每台机器)
1 | vim /etc/profile |
1 | export HADOOP_HOME=/opt/hadoop-2.7.5 |
1 | source /etc/profile |
6、配置hadoop(仅master)
配置文件里的文件路径和端口随自己习惯配置
6.1 配置slaves
需要现将slaves1文件中的localhost删掉,本次使用两个slave节点,让master仅作为NameNode使用,也可以让master既作为NameNode也作为 DataNode,在slaves添加master即可1
vim /opt/hadoop-2.7.5/etc/hadoop/slaves
1 | slave1 |
6.2 配置hadoop-env.sh
1 | vim /opt/hadoop-2.7.5/etc/hadoop/hadoop-env.sh |
找到# The java implementation to use.将其下面的一行改为:1
export JAVA_HOME=/opt/jdk1.8.0_45
6.3 配置core-site.xml
1 | vim /opt/hadoop-2.7.5/etc/hadoop/core-site.xml |
1 | <configuration> |
6.4 配置hdfs-site.xml
1 | vim /opt/hadoop-2.7.5/etc/hadoop/hdfs-site.xml |
dfs.replication 一般设为 3,但这次只使用两个slave,所以 dfs.replication 的值设为 21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>master:50090</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///opt/hadoop-2.7.5/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///opt/hadoop-2.7.5/tmp/dfs/data</value>
</property>
</configuration>
6.5 配置yarn-site.xml
1 | vim /opt/hadoop-2.7.5/etc/hadoop/yarn-site.xml |
1 | <configuration> |
6.6 配置mapred-site.xml
1 | cd /opt/hadoop-2.7.5/etc/hadoop/ |
1 | <configuration> |
6.7 将上述配置的文件传到其他节点的/opt/hadoop-2.7.5/etc/hadoop/目录中
1 | scp -r slaves hadoop-env.sh core-site.xml hdfs-site.xml yarn-site.xml hdfs-site.xml root@slave1:/opt/hadoop-2.7.5/etc/hadoop/ |
7、启动与停止(仅master)
7.1 hdfs启动与停止
第一次启动hdfs需要先格式化:1
2cd /opt/hadoop-2.7.5
./bin/hdfs namenode -format
启动:1
./sbin/start-dfs.sh
停止:1
./sbin/stop-dfs.sh
验证,浏览器输入:http://192.168.44.138:50070
简单的验证hadoop命令:1
hadoop fs -mkdir /test
在浏览器查看,出现如下图所示,即为成功
7.2 yarn启动与停止
启动:1
2cd /opt/hadoop-2.7.5
./sbin/start-yarn.sh
1 | ./sbin/stop-yarn.sh |
浏览器查看:http://192.168.44.138:8088
jps查看进程
master:
slave1:
slave2:
若各节点的进程均如图所示,那么hadoop集群就配置成功!