配置单机hadoop(*nix环境)

参考官网说明
可以点击getting started看最新版本
也可以看历史版本,比如2.9.2

步骤0,关防火墙
systemctl disable firewalld.service
重启
注意,单机模式(不是伪分布式)也需要关防火墙,不然会卡住2分多钟,显示:
INFO jvm.JvmMetrics: Initializing JVM Metrics with processName=JobTracker, sessionId=

步骤1,配置ssh认证
首先配置ssh的key认证方式登录(国内喜欢叫作免密码登录):
ssh-keygen,然后一堆回车
cd ~/.ssh
cat id_rsa.pub >> authorized_keys
chmod 600 authorized_keys
ssh localhost
如果显示命令提示符,即成功,Ctrl+D退出即可
如果要求输入密码,就没有成功

步骤2,配置环境变量
export HADOOP_HOME=/opt/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
可以把配置文件放入单独的文件夹,比如在用户目录创建文件夹,然后让hadoop认识它:
export HADOOP_CONF_DIR=`pwd`
把hadoop文件夹中的默认配置文件(etc/hadoop/*)复制过来
下面修改配置xml文件就可以在这文件夹中修改了,也可以保留多个不同文件夹的配置文件

步骤3,单机(standalone)运行
先创建个文本文件,用于wordcount输入:
vim input
然后运行
hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-x.y.z.jar wordcount input output
可以使用 cat output/* 看结果,也可以用hadoop fs -cat output/*

最后三个参数不写,就能显示其他示例的名字
最后两个参数不写,就能显示这个示例需要的参数
运行前要删除output文件夹,否则报错、停止,不会覆盖的(保护计算结果)

步骤4,伪分布式(pseudo)运行dfs分布式文件系统
修改core-site.xml和hdfs-site.xml,参照官网
hadoop namenode -format
$HADOOP_HOME/sbin/start-dfs.sh
可以使用jps命令查看java进程列表:
可以使用命令查看网页是否准备好:curl localhost:50070,没报错就行
使用ifconfig查看ip地址,可以使用同一台或另一台电脑打开http://:50070
可以在网页上看到datanode正常运行,可以看文件系统中的文件
为了运行word count程序,先创建用户目录,上传input文件
hadoop fs -mkdir -p .
hadoop fs -put input input
然后运行
hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-x.y.z.jar wordcount input output
查看结果:
hadoop fs -cat output/*
删除结果:
hadoop fs -rm -r -f output

步骤5,伪分布式(pseudo)运行yarn程序调度系统
从mapred-site.xml.template复制到mapred-site.xml
修改mapred-site.xml和yarn-site.xml
使用jps查看java进程
使用本机或另一台机器的浏览器查看http://:8088,就是yarn的管理主页面
运行程序:
hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-x.y.z.jar wordcount input output
查看结果和删除结果与之前命令也都一样

步骤6,关闭之前打开的服务
$HADOOP_HOME/stop-yarn.sh
$HADOOP_HOME/stop-dfs.sh

好了,现在你已经成功地运行(并关闭)了hadoop环境!

备注,没有特别配置的情况下,namenode和datanode等数据文件夹会放在/tmp/hadoop-文件夹下,如果重启系统之后,/tmp文件夹没有了,就需要重新格式化namenode
如果namenode中有记录的文件,就需要等待datanode汇报自己持有的文件,所有文件准备好,才会退出safemode,集群才可以使用,这种小测试环境可能需要半分钟到两分钟,也可以尝试使用命令强制退出safemode,hdfs dfsadmin -safemode leave,不过文件找不全就可能报错;也可以使用hdfs dfsadmin -safemode get查看状态
在namenode的页面中可以查看startup情况,显示safemode持续的时间

你可能感兴趣的:(配置单机hadoop(*nix环境))