- 1. 实验环境
- 2. FQND配置
- 3. 免密码登录
- 4. 安装JAVA环境
- 5. 安装hadoop
- http://archive.apache.org/dist/hadoop/common/hadoop-2.8.4/hadoop-2.8.4.tar.gz
[root@master ~]# tar -zxf">wget http://archive.apache.org/dist/hadoop/common/hadoop-2.8.4/hadoop-2.8.4.tar.gz
[root@master ~]# tar -zxf - 指定datanode数据存储服务器
core-site.xml #指定访问hadoop web界面的路径
hdfs-site.xml #文件系统的配置文件
mapred-site.xml #mapreducer任务配置文件
yarn-site.xml #该文件为yarn框架的配置,主要是一些任务的启动位置 - 辅助namenode
4749 - 管理节点
3277
1. 实验环境
3台虚拟机IP及机器名称如下:
IP地址
主机名 角色
192.168.43.205
master Namenode
192.168.43.79 slave1 Datanode1
192.168.43.32 slave2 Datanode2
2. FQND配置
[root@master ~]# cat /etc/hosts
127.0.0.1 localhost
localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost
localhost.localdomain localhost6 localhost6.localdomain6
192.168.43.205 master
192.168.43.79 slave1
192.168.43.32 slave2
3. 免密码登录
[root@master ~]#ssh-keygen
[root@master ~]#ssh-copy-id 192.168.43.205
[root@master ~]#ssh-copy-id 192.168.43.79
[root@master ~]#ssh-copy-id 192.168.43.32
验证是否生效
[root@master ~]# ssh 192.168.43.79
[root@master ~]# ssh 192.168.43.32
复制到其他两台机器
[root@master ~]#scp /etc/hosts
root@192.168.43.79:/etc/
[root@master ~]#scp /etc/hosts
root@192.168.43.32:/etc/
重启生效
4. 安装JAVA环境
三台机器都要安装
#wget http://download.oracle.com/otn-pub/java/jdk/8u172-b11/a58eab1ec242421181065cdc37240b08/jdk-8u172-linux-x64.tar.gz
[root@master ~]# tar -xvf jdk-8u172-linux-x64.tar.gz
-C /opt
环境变量
[root@master ~]# vim
/etc/profile #在文末添加以下内容
####################JDK
export JAVA_HOME=/opt/jdk1.8.0_172
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOMR/bin
[root@master ~]# source
/etc/profile #使配置文件生效
验证java运行是否成功
[root@master ~]# java -version
java version
“1.8.0_172”
Java(TM) SE Runtime Environment (build
1.8.0_172-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.172-b11, mixed mode)
如果出现对应版本,则说明java运行环境安装成功
如果本来就有java环境,升级java也是一样安装,会优先执行高版本
将jdk环境部署到其他两台机器上去
[root@master ~]# scp -r /opt/jdk1.8.0_172 slave1:/opt
[root@master ~]# scp -r /opt/jdk1.8.0_172 slave2:/opt/
[root@master ~]# scp -r /etc/profile
slave1:/etc/
[root@master ~]# scp -r /etc/profile
slave2:/etc/
验证其他两台服务器
[root@slave1 ~]# source /etc/profile
[root@slave1 ~]# java -version
[root@slave2 ~]# source /etc/profile
[root@slave2 ~]# java -version
5. 安装hadoop
5.1 安装hadoop
wget http://archive.apache.org/dist/hadoop/common/hadoop-2.8.4/hadoop-2.8.4.tar.gz
[root@master ~]# tar -zxf
5.2 创建临时目录和文件目录
[root@master~]# mkdir /opt/hadoop-2.8.4/tmp/
[root@master~]# mkdir /opt/hadoop-2.8.4/dfs/name
[root@master~]# mkdir /opt/hadoop-2.8.4/dfs/data
5.3 配置文件
主要配置文件:/opt/hadoop-2.8.4/etc/hadoop
文件名称:hadoop-env.sh、yarn-evn.sh、slaves、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml
hadoop-env.sh #java环境变量脚本
yarn-env.sh #制定yarn框架的java运行环境,它将资源管理和 处理组件分开。基于YARN的架构不受 MapReduce约束
slaves
指定datanode数据存储服务器
core-site.xml #指定访问hadoop web界面的路径
hdfs-site.xml #文件系统的配置文件
mapred-site.xml #mapreducer任务配置文件
yarn-site.xml #该文件为yarn框架的配置,主要是一些任务的启动位置
5.4 修改配置文件
修改前最好先备份一份,避免出错
[root@master etc]# cp -r hadoop/ hadoop.bak
1)配置文件
hadoop-env.sh,指定hadoop的java运行环境该文件是hadoop运行基本环境的配置,需要修改的为java虚拟机的位置。
[root@master hadoop]# vim hadoop-env.sh
改:25 export JAVA_HOME=${JAVA_HOME}
为:export JAVA_HOME=/opt/jdk1.8.0_172
注:指定java运行环境变量
2)配置文件yarn-env.sh,指定yarn框架的java运行环境
该文件是yarn框架运行环境的配置,同样需要修改java虚拟机的位置。
[root@master hadoop]# vim yarn-env.sh
改:26 JAVA_HOME=$JAVA_HOME
为:26 JAVA_HOME=/opt/jdk1.8.0_172
3)配置文件slaves,指定datanode数据存储服务器
将所有DataNode 的机器名字写入此文件中,每个主机名一行,配置如下:
[root@master hadoop]#vim slaves
slave1
slave2
4) 配置文件core-site.xml,指定访问hadoopweb界面访问路径这个是hadoop的核心配置文件,这里需要配置的就这两个属性,fs.default.name配置了hadoop的HDFS系统的命名,位置为主机的9000端口;hadoop.tmp.dir配置hadoop的tmp目录的根位置。这里使用了一个文件系统中没有的位置,所以要先mkdir新建。
[root@master hadoop]#vim core-site.xml
5)配置文件 hdfs-site.xml
这个是hdfs的配置文件,dfs.http.address配置了hdfs的http的访问位置;dfs.replication配
配置了文件块的副本数,一般不大于从机的个数。
[root@master hadoop]#vim hdfs-site.xml
6)配置文件mapred-site.xml
这个是mapreduce任务的配置,由于hadoop2.x使用yarn框架,所以要实现分布式部署,必须在mapreduce.framework.name属性下配置yarn.mapred.map.tasks和mapred.reduce.tasks分别为 map和reduce的任务数,同时指定:Hadoop的历史服务器historyserver。
生成mapred-site.xml
[root@master hadoop]# cp mapred-site.xml.template
mapred-site.xml
[root@master hadoop]# vim mapred-site.xml
7)配置节点
yarn-site.xml
该文件为 yarn 框架的配置,主要是一些任务的启动位置
[root@master hadoop]# vim yarn-site.xml
7个要修改的配置文件,到这里完成!
复制到其他datanode节点:
[root@master ~]# scp -r /opt/hadoop-2.8.4/
slave1:/opt
[root@master ~]# scp -r /opt/hadoop-2.8.4/
slave2:/opt
5.5 配置环境变量
[root@master ~]# vim /etc/profile
####################HADOOP
export HADOOP_HOME=/opt/hadoop-2.8.4/
export PATH=$PATH:$HADOOP_HOME/bin
[root@master bin]# source /etc/profile
其他两台也是一样操作,可scp复制过去
5.6 管理节点
1) 格式化
Hadoop namenode的初始化,只需要第一次的时候初始化,之后就不需要了。
注意:只需要一次就行了,因为格式化会改变ID号,多次格式化会导致namenode角色跟datanode角色ID号不一致,最后会导致,namenode启动正常,但是slave的datanode启动不了
[root@master ~]# /opt/hadoop-2.8.4/bin/hdfs
namenode -format
15/08/03 22:35:21 INFO
common.Storage:Storage directory /usr/local/hadoop-2.8.4/dfs/name has been successfully formatted.
。。。。。。
15/08/03 22:35:21 INFOutil.ExitUtil:
Exiting with status 0
15/08/03 22:35:21 INFO
namenode.NameNode:SHUTDOWN_MSG:
/**
SHUTDOWN_MSG: Shutting down NameNode at
master/192.168.43.205
**/
[root@master ~]# echo $?
0
#检测上一次执行的命令是否正确 0正确 非0 错误
查看格式化后,生成的文件:
[root@master ~]# yum -y install tree
[root@master ~]# tree /opt/hadoop-2.8.4/dfs
/opt/hadoop-2.8.4/dfs
├── data
└── name
└── current
├── fsimage_0000000000000000000
├── fsimage_0000000000000000000.md5
├── seen_txid
└── VERSION
3 directories, 4 files
2) 启动hdfs
[root@master ~]#/opt/hadoop-2.8.4/sbin/start-dfs.sh
注:如果报错,如:
Slave1: Host key verification failed.
解决:
[root@master ~]# ssh slave1 #确认可以输入密码直接连接上slave1
关闭后再重启:
[root@master ~]# /opt/hadoop-2.8.4/sbin/stop-dfs.sh
[root@master ~]# /opt/hadoop-2.8.4/sbin/start-dfs.sh
3)启动yarn
[root@master ~]#/opt/hadoop-2.8.4/sbin/start-yarn.sh
注:start-dfs.sh和start-yarn.sh这两个脚本可用start-all.sh代替。
[root@master ~]# /opt/hadoop-2.8.4/sbin/start-all.sh
[root@master ~]# /opt/hadoop-2.8.4/sbin/stop-all.sh
4)启动历史服务器
Hadoop自带了一个历史服务器historserver,通过历史服务器查看已经运行完的Mapreduce作业记录,比如用了多少个Map、用了多少个Reduce、作业提交时间、作业启动时间、作业完成时间等信息。默认情况下,Hadoop历史服务器是没有启动的,可以通过下面的命令启动Hadoop历史服务器。
[root@master ~]#/opt/hadoop-2.8.4/sbin/mr-jobhistory-daemon.shstart
historyserver
浏览器访问:http://ip:19888
5)通过jps查看进程
[root@master ~]# jps
4565 SecondaryNameNode
辅助namenode
4749
ResourceManager #管理应用资源
4404 NameNode
管理节点
3277
JobHistoryServe #历史服务器
2527 Jps
[root@slave1 ~]# jps
1744 Jps
2354
NodeManager #从节点资源管理
2246
DataNode #数据节点
[root@slave2 ~]# jps
1644 Jps
2085
NodeManager #从节点资源管理
1977
DataNode #数据节点
6. 其它
1)查看HDFS分布式文件系统状态:
#/opt/hadoop-2.8.4/bin/hdfs dfsadmin
-report
2)查看文件块组成:一个文件由哪些块组成
#/opt/hadoop-2.8.4/bin/hdfs fsck / -files -blocks
3)Web查看HDFS: http://192.168.43.205:50070
4)通过Web查看hadoop集群状态: http://192.168.43.205:8088
