Hadoop集群安装运行与simple hadoop shell
一、集群安装部署
1、上传hadoop安装包
使用SecureCRT连接到4台客户端机器,在mini1会话窗口按快捷键(Alt+P)打开sftp上传文件窗口,使用put命令上传(或者直接拖动文件到该窗口)
2、解压hadoop安装包并修改配置文件
1、解压安装包
解压命令:
tar -zxvf cenos-6.5-hadoop-2.6.4.tar.gz -C /home/hadoop/apps/
进入hadoop配置文件目录
cd /home/hadoop/apps/hadoop-2.6.4/etc/hadoop/
2、修改配置文件
2.1、集群运行时,是通过ssh启动进程,需要提前配置好Java环境
vi hadoop-env.sh
export JAVA_HOME=/usr/local/jdk1.7.0_45
2.2、修改核心配置文件:core-site.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration> |
fs.defaultFS:用于指定hadoop的默认文件系统为HDFS,并通过value中的URI:hdfs://mini1:9000 来指定HDFS的NameNode服务进程所在机器为mini1,及客户端请求NameNode时所用的端口为9000。
hadoop.tmp.dir:用于指定hadoop(包括HDFS)的服务进程在运行过程中存放一些临时数据的目录。
2.3、修改HDFS核心配置文件
vi hdfs-site.xml
<?xml version="1.0" encoding="UTF-8"?> <configuration> <property> <name>dfs.secondary.http.address</name> <value>mini1:50090</value> </property> </configuration> |
dfs.replication:上传文件到HDFS时所保存的副本文件数量。
dfs.secondary.http.address:指定Secondary NameNode进程所部署的节点。
2.4、修改mapred-site.xml
mv mapred-site.xml.template mapred-site.xml
vi mapred-site.xml
<property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> |
mapreduce.framework.name:指定集群运行在yarn上,如果不写,则默认运行在local
2.5、修改yarn-site.xml
<?xml version="1.0"?> |
yarn.resourcemanager.hostname: 指定YARN的老大(ResourceManager)的地址
yarn.nodemanager.aux-services: reducer获取数据的方式
3、将hadoop添加到环境变量
vi /etc/profile
export JAVA_HOME=/usr/local/jdk1.7.0_45 export HADOOP_HOME=/home/hadoop/apps/hadoop-2.6.4 export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin |
4、同步到其它节点
4.1、将配置好的hadoop程序目录拷贝到集群中其他节点
scp -r apps/ mini2:/home/hadoop/ scp -r apps/ mini3:/home/hadoop/ scp -r apps/ mini4:/home/hadoop/ |
4.2、将环境变量同步到其它节点
scp /etc/profile mini2:/etc/ scp /etc/profile mini3:/etc/ scp /etc/profile mini4:/etc/ |
3、格式化namenode(是对namenode进行初始化)
NameNode在第一次启动之前,需要生成初始状态的工作目录、元数据镜像文件等,因此,在第一次启动HDFS集群之前,需要用HDFS的格式化命令,来执行上述操作
针对NameNode节点进行初始化:
hdfs namenode -format
出现:
/home/hadoop/hdpdata/dfs/name has been successfully formatted.
即为namenode初始化成功
4、集群启动
这里采用自动化脚本方式启动脚本,也可手动启动,一般集群中机器众多,实际使用多采用甲苯批量启动的方式
start-dfs.sh
start-yarn.sh
也可采用:start-all.sh,系统本身也不推荐,万一HDFS或Yarn启动出错不好排查,分开启动比较好
5、通过web页面查看集群
5.1、NameNode提供了一个查看HDFS集群状态的web服务,绑定的端口默认为50070,因此,我们可以在任何一台能与NameNode节点联网的机器上,使用web浏览器查看HDFS集群状态,如图所示:
5.2、查看节点进程
[[email protected] sbin]$ jps
[[email protected] ~]$ jps |
节点全部正常,至此,集群部署完毕!
二、通过命令行客户端查看HDFS
1、显示HDFS上的文件信息
[[email protected] ~]$ hadoop fs -ls / Found 2 items -rw-r--r-- 2 hadoop supergroup 7 2018-06-24 01:13 /111.txt -rw-r--r-- 3 hadoop supergroup 4535347 2018-07-20 06:39 /crecg.log.copy |
2、上传文件到HDFS
[[email protected] ~]$ hadoop fs -put cenos-6.5-hadoop-2.6.4.tar.gz |