所需安装包:
1.jdk压缩包
2.hadoop压缩包
有需要的可在百度云下载:
jdk:链接: https://pan.baidu.com/s/1Jaclnw1-Ml4lrLgnBJIV9A 提取码: 6pgi
hadoop:链接: https://pan.baidu.com/s/1Lr1NDR00DpjcMG1Kczg59A 提取码: mqig
因为是主机,所以习惯上取名为master,不过这个看个人喜好
在虚拟机搭建完成后可用CRT或者Xshell进行远程登录、操作服务器;
2.1 上传安装包等准备工作
mkdir /home/software #创一个文件夹专门存放安装包啥的,看个人习惯吧 cd /home/software/ rz #可用rz命令进行上传jdk文件,若rz没有,用 yum install lrzsz 进行下载,下载成功后在home目录下rz进行上传jdk文件,再ls查看一下文件即可查看jdk上传成功 tar -zxvf jdk-8u144-linux-x64.tar.gz #解压jdk到当前目录 ls #查看解压是否成功 mv jdk1.8.0_144/ jdk #改名 pwd #查看当前目录
2.2 配置/etc/profile 文件
vim /etc/profile #在jdk目录下配置一下java的环境变量,用vi 命令也可以 添加: #java path configuration export JAVA_HOME=/home/software/jdk #是jdk的安装路径 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar #注意中间的空格为tab键 :wq 保存退出
生效配置文件
source /etc/profile java -version #看java是否安装配置成功 javac java chkconfig iptables off #如果之前忘记关防火墙,可用此命令进行防火墙永久关闭
出现以下情况,则成功安装配置jdk
没截全
也没截全
3.1 上传安装包等准备工作
cd /home/software/ rz #上传hadoop安装包 tar -zxvf hadoop-2.6.5.tar.gz ls #查看解压是否成功 mv hadoop-2.6.5 hadoop
3.2 配置/etc/profile 文件
vim /etc/profile #配置hadoop的环境变量 添加: #hadoop configuration export HADOOP_HOME=/home/software/hadoop export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH #注意中间的空格为tab键 :wq 保存退出
3.3 生效配置文件
source /etc/profile hadoop version #查看是否成功四,克隆虚拟机(slave1,slave2)
4.1复制两台虚拟机
找到虚拟机的目录,直接复制两台虚拟机,命名为Slave1,Slave2,并相应打开文件删除
下面的文件 (否则有可能打不开)
点击 “我已复制该虚拟机”
4.2 记得分别修改他们的网卡配置文件的ip地址即:
vi /etc/sysconfig/network-scripts/ifcfg-ens33,
记得重启网卡:
systemctl restart network
4.3 关闭master,slave1,slave2的防火墙
systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止firewall开机启动
4.4 分别修改他们的主机名
CentOS7修改主机名:
hostnamectl set-hostname +主机名 hostnamectl set-hostname Master hostname #查看一下 ls
同理,slave1,slave2也是如此。
如是CentOS6修改主机名则用
vi /etc/sysconfig/network Master上改主机名 vi /etc/sysconfig/network 修改 HOSTNAME=Master Slave1改主机名 vi /etc/sysconfig/network 添加 HOSTNAME=Slave1 Slave2改主机名 vi /etc/sysconfig/network 添加 HOSTNAME=Slave2
4.5 hosts修改域名:(三个节点上都配一遍)
vi /etc/hosts 修改内容为 192.168.100.10 Master Master.cn 192.168.100.11 Slave1 Slave1.cn 192.168.100.12 Slave2 Slave2.cn
#ip地址 hostname 域名 ,
省时间点:
scp /etc/hosts slave1.cn:/etc/ # (不行就修改一下,把域名改成接受文件的那台虚拟机的ip地址),传给例外两部
不然就一台一台的修改,反正每台都要修改的
设置完之后可以用域名进行访问
重新启动一下
reboot
测试域名是否配置成功:
Master上建一个文件如:如
touch 18hadoop.bc, scp 18hadoop.bc Slave1.cn:/root #传到Slave1上 在Slave1 上 ls #即可看见文件已通过域名方式传送成功五,配置ssh免密码登录
cd ~ ssh-keygen -t rsa #一直按回车 ssh-copy-id Master.cn #拷贝到另外一台虚拟机 ssh-copy-id Slave2.cn #拷贝到另外一台虚拟机 touch 2.c scp 2.c Master.cn:/root #创一个文件上传给Master测试免密是否成功
ssh-copy-id Master.cn #将公钥复制到Master上 ssh-copy-id Slave2.cn #将公钥复制到Slave2上
以上操作在例外两台虚拟机上操作一遍
这样就实现了三台虚拟机免密码登录,传输文件
可用 scp 这个方法测试一下是否免密码登录成功
6.1 先创建一个存放hadoop数据库的文件夹
cd /home/software/ #进入software新建一个目录放data,然后ls一下 mkdir data cd data mkdir -p hadoop/tmp #在data下新建一个放hadoop数据,然后ls一下
6.2 修改 hadoop的配置文件
- 修改 hadoop-env.sh 文件*
cd /home/software/hadoop/etc/ ls cd hadoop/ cd hadoop/ #进入到etc的hadoop的配置文件 vim hadoop-env.sh #进入修改一下JAVA_HOME的安装目录
- 修改 mapred-env.sh 文件
vim mapred-env.sh #同样进入修改一下JAVA_HOME的安装目录
- 修改 core-site.xml 文件
vim core-site.xml #配置 core-site.xml 在和 中间添加:hadoop.tmp.dir /home/software/data/hadoop/tmp #其中/export/data/hadoop/tmp是之前是建的放hadoop数据的地方 #hdfs://192.168.100.10:9000 前面为主机Master的IP地址,后面为端口号,可以默认为9000 fs.defaultFS hdfs://192.168.100.10:9000
- 修改 yarn-site.xml 文件
vim yarn-site.xml #配置yarn-sit.xml 在和 中间添加yarn.resourcemanager.hostname 192.168.100.10 #其中192.168.100.10是为主机Master的IP地址 yarn.nodemanager.aux-services mapreduce_shuffle
- 修改 hdfs-site.xml 文件
vim hdfs-site.xml #配置hdfs-site.xml 在和 中间添加dfs.replication 3 #其中192.168.100.10是为主机的IP地址,3为机器的节点数 dfs.secondary.http.address 192.168.100.10:50090
- 修改 mapred-site.xml 文件
cp mapred-site.xml.template mapred-site.xml #复制一份 mapred-site.xml vim mapred-site.xml #配置mapred-site.xml(资源管理器) 在和 中间添加mapreduce.framework.name yarn
- 修改 slaves 文件
vim slaves #配置slaves 修改 localhost--->Slave1.cn Slave2.cn #lave1.cn Slave2.cn为你要集群的机器
#以上配置文件已完成
配置完分发到其他机器上:
cd /home/software ls scp -r hadoop slave2.cn:/home/software/ scp -r hadoop slave1.cn:/home/software/七,启动集群
启动前先格式化文件系统
hdfs namenode -format start-dfs.sh #启动dfs start-yarn.sh #启动yarn jps #可以查看各个节点所启动的进程,NameNode、ResourceManager、SecondrryNameNode、JobHistoryServer 进程在Slave1、2节点上jps可以看到DataNode 和 NodeManager
出现这个,
恭喜你,集群已搭建成功
关闭集群也是在Master上关闭,按顺序执行命令
stop-yarn.sh stop-dfs.sh start-all.sh启动整个集群 stop-all.sh 关闭整个集群



