Hadoop伪分布式安装配置

1、配置主机名

vim /etc/sysconfig/networkHOSTNAME=CH0hostname CH0

2、配置hosts文件
vim /etc/hosts127.0.0.1localhost ::1localhost 192.168.6.20CH0

3、配置免密码登录
ssh-keygenssh-copy-idroot@CH1

4、下载hadoop
http://hadoop.apache.org/releases.html#Download
说明:source为源码,binary为安装包。
5、上传到linux服务器中,并解压到相应位置
[root@CH0 ~]# cd soft/ [root@CH0 soft]# ls hadoop-2.7.1.tar.gz [root@CH0 ~]# mkdir -p /usr/lib/hadoop [root@CH0 ~]# tar -zxvf hadoop-2.7.1.tar.gz -C /usr/lib/hadoop

6、配置hadoop-env.sh
[root@CH0 soft]# cd /usr/lib/hadoop/hadoop-2.7.1/etc/hadoop/ [root@CH0 hadoop]# vim hadoop-env.sh --配置JAVA_HOME-- export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_171 --配置HADOOP-- export HADOOP_CONF_DIR=/usr/lib/hadoop/hadoop-2.7.1/etc/hadoop --配置文件生效-- [root@CH0 hadoop]# source hadoop-env.sh

7、配置core-site.xml
[root@CH0 hadoop]# vim core-site.xml fs.default.name hdfs://CH0:9000 hadoop.tmp.dir /usr/lib/hadoop/hadoop-2.7.1/tmp

8、配置hdfs-site.xml
[root@CH0 hadoop]# vim hdfs-site.xml dfs.replication 1 dfs.permissions false

9、修改mapred-site.xml
  • 这个文件初始时是没有的,有的是模板文件
  • 【Hadoop伪分布式安装配置】所以需要拷贝一份,并重命名为mapred-site.xml
  • 执行:
    [root@CH0 hadoop]# cp mapred-site.xml.template mapred-site.xml mapreduce.framework.nameyarn

10、修改yarn-site.xml
[root@CH0 hadoop]# vim yarn-site.xmlyarn.resourcemanager.hostnameCH0 yarn.nodemanager.aux-services mapreduce_shuffle

11、配置slaves文件
[root@CH0 hadoop]# vim slavesCH0

12、创建hadoop的tmp文件
[root@CH0 hadoop]# cd ../../ [root@CH0 hadoop-2.7.1]# mkdir tmp

13、配置hadoop的环境变量
[root@CH0 hadoop-2.7.1]# vim /etc/profile #java env JAVA_HOME=/usr/lib/jvm/jdk1.8.0_171 HADOOP_HOME=/usr/lib/hadoop/hadoop-2.7.1 CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JRE_HOME/lib/tools.jar PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH export JAVA_HOME PATH CLASSPATH HADOOP_HOME [root@CH0 hadoop-2.7.1]# source /etc/profile

14、格式化namenode
  • 执行:
    [root@CH0 hadoop-2.7.1]# hadoop namenode -format

  • 当出现:successfully,证明格式化成功
    2018-05-19 03:58:06,692 INFO common.Storage: Storage directory /usr/lib/hadoop/hadoop-2.7.1/tmp/dfs/name has been successfully formatted.

  • 如果不好使,重启Linux
15、启动hadoop
[root@CH0 hadoop-2.7.1]# cd sbin/ [root@CH0 sbin]# sh start-dfs.sh

16、测试hadoop是否启动
[root@CH0 sbin]# jps 1648 NameNode 1766 DataNode 2027 Jps 1918 SecondaryNameNode

17、jps启动后,50070页面无法访问解决
整个环境下JDK正常,hadoop配置文件正常,各个守护进程正常启动,防火墙已关闭,但是启动后无法从浏览器中访问50070、50030端口,显示无法访问
[root@CH0 sbin]# jps 1648 NameNode 1766 DataNode 2027 Jps 1918 SecondaryNameNode

原因:namenode初始化默认端口失效,需要手动修改配置文件设置默认端口
1、在hdfs-site.xml 添加如下:

dfs.http.address
0.0.0.0:50070

2、然后重新格式化namenode,启动hadoop。最终访问正常
0.0.0.0是本地对应的地址,具体情况视ip更换
50070 - Hadoop DFS 状态

    推荐阅读