大数据领域小白搭建hadoop详细步骤说明

以下是根据我们实验室的情况的说明,你可以按照自己的情况自己更改配置

一、规划:
1、三台主机的ip分别为192.168.100.30、192.168.100.63、192.168.100.147,统一安装centos命令行界面,统一用户名密码:root/xjtuse
2、三台主机名更改为:master、slave1、slave2
3、三个DataNode:maste、slave1、slave2
4、NameNode:masetr
5、SecondNameNode:slave2
6、Yarn ResourceManager:slave1
7、三台主机的安装路径一致:/usr/local/hadoop /usr/local/jdk
注意:前期规划要做好,要不然后面修改配置文件就会很乱
二、准备工作
1、修改主机名,master、slave1、slave2
2、映射:vi /etc/hosts(三台都要做)
192.168.100.30 master
192.168.100.63 slave1
192.168.100.147 slave2
3、关闭防火墙(三台都要关闭) service iptables stop
4、关闭selinux(三台都要关闭)vi /etc/selinux/config SELINUX=disable
5、免密登陆(三台机器互相之间要做免密操作,首先要保证三台机器的用户名密码一致)
1)在每一台机器生成密钥 ssh-keygen
2)在每一台机器做连接 ssh-copy-id 主机名(每一台机器都要连接三次,自己和自己也要连)
3)验证是否成功:每一台机器都可以登陆到其他两台 ssh 主机名,则免密登录成功
6、将系统的启动级别改为3(三台都要改) vi /etc/inittab id:3
7、安装JDK(可以在一台下面安装之后全部scp到其他两台)
1)将下载的安装包解压到你规划的目录/usr/local/jdk tar -xzvf
2)配置环境变量 /etc/profile
export JAVA_HOME=/usr/local/jdk/jdk1.8.0_191
export PATH=hadoop集群2台机器 hadoop集群需要几台服务器_配置文件JAVA_HOME/bin
3)使配置文件生效 source /etc/profile
4)验证jdk安装成功 java -version
注意:首先要把自带的jdk干掉,rpm -qa | grep jdk rpm -e
8、时间同步(伪分布式不需要,集群需要)
ntpdate 时间同步服务器(一般使用公网的),随便在网上找了一个阿里云的ntp1.aliyun.com,保证三台的时间相差小于30秒就可以
9、一台配置好之后同步到其他两台机器
scp -r /usr/local/jdk/jdk1.8.0_191 slave1:/usr/local/jdk/ scp -r /etc/profile slave1:/etc/profile
scp -r /usr/local/jdk/jdk1.8.0_191 slave2:/usr/local/jdk/ scp -r /etc/profile slave2:/etc/profile
10、在其他两台机器上重复执行生效配置文件和验证jdk版本的工作
即准备工作结束
三、正式安装(同样先在一台机器上安装好,然后同步到其他两台)
1、解压hadoop安装包到你规划好的路径/usr/local/hadoop
2、修改配置文件(六个) /usr/local/hadoop/hadoop-2.7.7/etc/hadoop/路径下
1)vi hadoop-env.sh export JAVA_HOME=/usr/local/jdk/jdk1.8.0_191(jdk安装路径)
2)vi core-site.xml 这个是核心文件配置文件。主要负责三个模块的公共的配置


fs.defaultFS
hdfs://master:9000</value


hadoop.tmp.dir
/home/hadoop/data/hadoopdata
这个是hadoop的存储目录,自己设置的


3)vi hdfs-site.xml


dfs.namenode.name.dir
/home/hadoop/data/hadoopdata/name
为了保证元数据的安全一般配置多个不同目录,namenode的数据存储目录


dfs.datanode.data.dir
/home/hadoop/data/hadoopdata/data
datanode 的数据存储目录


dfs.replication
2
HDFS 的数据块的副本存储个数


dfs.secondary.http.address
slave2:50090
secondarynamenode 运行节点的信息,和 namenode 不同节点,这个是最前面规划我设置的


4)vi mapred-site.xml


mapreduce.framework.name
yarn
mapreduce资源调度框架


5)vi yarn-site.xml


yarn.resourcemanager.hostname
slave1
这个也是规划我设计的yarn的主节点,之后启动yarn要在这个机器上


yarn.nodemanager.aux-services
mapreduce_shuffle
YARN 集群为 MapReduce 程序提供的 shuffle 服务


6)vi slaves (里面存的是从节点信息)
master
slave1
slave2
注意:不能有空格,输入一个就回车输入下一个
3、修改hadoop环境变量 /etc/profile
export JAVA_HOME=/usr/local/jdk/jdk1.8.0_191
export HADOOP_HOME=/usr/local/hadoop/hadoop-2.7.7
export PATH=hadoop集群2台机器 hadoop集群需要几台服务器_配置文件JAVA_HOME/bin:hadoop集群2台机器 hadoop集群需要几台服务器_配置文件_03HADOOP_HOME/sbin
4、生成配置文件 source /etc/profile
5、验证 hadoop version
6、远程到其他两台机器
scp -r /usr/local/hadoop/hadoop-2.7.7 slave1:/usr/local/hadoop/ scp -r /etc/profile slave1:/etc/profile
scp -r /usr/local/hadoop/hadoop-2.7.7 slave2:/usr/local/hadoop/ scp -r /etc/profile slave2:/etc/profile
7、同样在两台机器上要生成配置文件
8、在两台机器上分别验证
9、启动hdfs,可以在任一台机器上启动
start-dfs.sh 启动之后查看三台机器下的进程(jps)
mastr:NameNode DataNode
slave1:DataNode
slave2:DataNode SecondNameNode
10、启动Yarn,要在Yarn的主节点启动,否则有可能造成RecourceManager启动失败,这里再slave1上启动
start-yarn.sh 启动后查看三台机器下的进程(jps)
master:NameNode DataNode NodeManager
slave1:DataNode NodeManager ResourceManager
slave2:DataNode SecondNameNode NodeManager
11、验证
hdfs:NameNode节点+50070端口(192.168.100.30:50070)
yarn:ResourceManager节点+8088端口(192.168.100.63:8088)
即hadoop集群搭建完成