当前环境:CentOS7、JDK1.8、Hadoop2.6.0
1.解压Hadoop2.6.0
tar -zxvf hadoop-2.6.0.tar.gz
2.向系统环境变量中添加Hadoop
vi /etc/profile
刷新系统环境变量
source /etc/profile
3.查看当前的hadoop的版本
hadoop version
这里已经显示环境变量配置Hadoop成功了!
4.配置
查看文件目录:
当前hadoop可以配置的几种模式:
查看当前不同的配置的需求
这里与原来的不一致,建议按照下面的配置
5.配置伪分布模式
1.配置core文件
tmp文件夹
需要自己创建
2.编写hdfs-site.xml文件
这里的应为dfs.datanode.data.dir
3.编写maperd-site.xml文件
6.测试配置的namenode
cd bin/
hdfs namenode -format
结果:
7.启动HDFS
./sbin/start-dfs.sh
结果:
(第二次搭建中出现的问题的解决办法)如果出现了JAVA_HOME的问题,先检查是否配置了JAVA_HOME,如果已经配置了那么需要修改hadoop中的etc文件中的hadoop中的hadoop-env.sh添加JAVA_HOME
8.启动YARN
./sbin/start-yarn.sh
9.启动hadoop
./sbin/start-all.sh
查看启动的插件
jps
如果出现了缺少启动的项目就表示当前的hadoop启动未成功
直接查找当前的logs文件中对应的(.out)日志内容,可以解决
10.访问Hadoop
1.查看启动的端口
netstat -nltp
发现当前启动的端口与编写的不一致?怎么解决?(好心人回复)
访问8088端口(默认的cluster访问端口?)
访问8042端口的node(默认的node?)
访问50075端口的dataNode结点(默认访问dataNode的端口?)
访问50090端口:(status状态页面的端口?)
访问50070端口:(默认访问hadoop的端口?)
11.停止hadoop
./sbin/stop-all.sh
12.配置SSH的免密登录
1.创建ssh密匙
ssh-keygen -t rsa
这里我直接按回车三下
2.保存密匙到本地主机
ssh-copy-ud localhost
3.测试免密登录
ssh 登录的地址
13.关于上面配置的内容在使用Eclipse连接的时候出现的问题
1.当前的主机名称千万不能起为localhost原因
,叫localhost的话hadoop只能让本地访问,外界是无法访问的
2.如果需要让外界访问需要开启端口(9000)
才行
详细参考:使用Windows环境中的Eclipse连接Linux中的Hadoop
14.总结
1.配置当前的Hadoop需要先配置jdk(最少得1.7左右),
然后在当前的环境变量中添加Hadoop
2.然后编写当前的core-site.xml
文件,并注意编写的形式(千万注意大小写和空格问题
)
3.需要自己创建tmp文件和dfs文件以及data和name文件,需要在当前的hdfs-site.xml中配置
4.需要格式化namenode:hdfs namenode -format
5.启动使用sbin中的start-all.sh ,停止使用stop-all.sh
6.可能出现端口不一致的情况使用命令查看:netstat -nltp
7.出现了java.io.IOException: Incorrect configuration: namenode address dfs.namenode.servicerpc-address or dfs.namenode.rpc-address is not configured.
异常就表示当前的core-site.xml中的配置有问题(注意检查大小写和空格,本人就是一个单词s没有大写出现的)
8.启动hadoop的时候一定要先执行格式化namenode操作,否者会报错的
,当前的tmp指定的位置一定要存在否者也会报错
以上纯属个人见解,如有问题请联系本人!