Ubuntu 18.04
java:jdk1.8.0 (java8)
hadoop version: 3.0.3
下载,安装好hadoop。
国内的话去镜像源列表找找看http://www.apache.org/mirrors/
注意要下载binary release,也就是文件名不带src的
给一个华科的镜像地址:http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-3.0.3/hadoop-3.0.3.tar.gz
找个能记住的地方解压,最好把名字改成hadoop
安装java
去官网找一下,注意对应自己的系统版本,最好装java8,高版本不太能支持spark,想了一下就放弃了
关键的一步,博主认为新开一个用户是不必须的,于是把路径配置在了/etc/profile
打开 /etc/profile
,首先配置java路径:
export JAVA_HOME={你安装java的根目录}
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JAVA_HOME/lib:$JRE_HOME/lib:$PATH
之后记得source /etc/profile
。终端输入java -version
如果有java版本输出,那就是配置好了。确认好java之后,再配置hadoop
同样打开/etc/profile
export HADOOP_HOME={你装hadoop的根目录}
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
完成之后同样source /etc/profile
一下。
测试hadoop:输入hadoop version
.看到输出了版本信息,说明没有问题
这里就是博主写这篇毫无营养的博客的原因,因为我配置了好多次yarn,全部失败了。对着书上的方法随便试了一下就成功了,这就说明一件事情。网上很多博主完全就是照抄,以至于有问题都不知道。
最主要的是,官网的Doc还是错的!
由于是伪分布式方法,单机版的方法就不在赘述。
没装ssh的先装个ssh:sudo apt-get install ssh
如果本地没有RSA秘钥,请执行下面的命令:
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
如果本地有秘钥就不用重新生成了,之后将秘钥放到authorized_keys
文件夹中:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
好了下面测试一下能不能免密码登录ssh localhost
成功的话不需要输入密码,直接登录上去了
xml文件都在$HADOOP_HOME/etc/hadoop,不放心的可以先备份一下。
下面有四个XML文件,都配置一下。
core-site.xml
fs.defaultFS
hdfs://localhost/
hdfs-site.xml
dfs.replication
1
yarn-site.xml
yarn.nodemanager.aux-services
mapreduce_shuffle
yarn.resourcemanager.hostname
localhost
mapred-site.xml
mapreduce.framework.name
yarn
找到HADOOP_HOME/hadoop/hadoop_env.sh
添加 JAVA_HOME 进去
再以上程序均运行无误之后,打开命令行,深吸一口气,让自己冷静一下:
1.格式化hdfs:
hdfs namenode -format
仔细看输出,没有异常的话继续
2.启动守护进程:
start-dfs.sh
start-yarn.sh
mapred --daemon start historyserver
全部启动完成之后,输入jps
,查看一下启动了几个进程,如果没有问题的话,是下面这几个:
12432 ResourceManager
13075 Jps
11731 NameNode
13013 JobHistoryServer
12181 NameNode
12614 NodeManager
11935 DataNode
ResourceManager,NodeManager对应yarn,NameNode,DataNode对应hdfs,剩下的JobHistorySever就是JobHistorySever……
3.现在就到了打开网页查看奇迹的时刻的时候了
首先打开namenode的管理网页:
注意3.0.3版本的地址是localhost:9870
打开发现写着namenode的信息而不是404,就说明hdfs启动成功了
下面打开localhost:8088
,打开时hadoop yarn的资源管理器而不是404,就说明yarn启动成功了
接着打开localhost:19888
,这个是历史服务器。
全部打开成功之后,伪分布式配置就完成了。
关闭请运行stop-all.sh
,但是joshistoryserver要单独关闭:
mapred --daemon stop historyserver
仔细看log,仔细对照步骤就能完成。
谁叫配环境就是基本功呢