美文网首页我爱编程
Hadoop伪分布式安装配置

Hadoop伪分布式安装配置

作者: 御林君 | 来源:发表于2018-05-19 01:08 被阅读0次

    1、配置主机名

    vim /etc/sysconfig/network
    <!-- 修改如下 -->
    HOSTNAME=CH0
    <!-- 更改主机名需要重启后才能永久生效 -->
    <!-- 如果不想重启,可以执行,这种方式是临时的 -->
    hostname CH0
    

    2、配置hosts文件

    vim /etc/hosts
    
    127.0.0.1         localhost
    ::1               localhost
    192.168.6.20      CH0
    

    3、配置免密码登录

    ssh-keygen
    <!-- 然后一直回车 -->
    <!-- 生成节点的公钥,私钥,生成的文件会自动放在/root/.ssh目录下 -->
    ssh-copy-id  root@CH1
    <!-- 生成的秘钥发送给CH1,可以实现CH1免密码登录到CH0 -->
    

    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
    <configuration>
    <!-- 用来指定hdfs的老大,namenode的地址 -->
    <property>
    <name>fs.default.name</name>
    <value>hdfs://CH0:9000</value>
    </property>
    <!-- 用来指定hadoop运行时产生文件的存放位置 -->
    <property>
    <name>hadoop.tmp.dir</name>
    <value>/usr/lib/hadoop/hadoop-2.7.1/tmp</value>
    </property>
    </configuration>
    

    8、配置hdfs-site.xml

    [root@CH0 hadoop]# vim hdfs-site.xml 
    <!-- 指定hdfs保存数据副本的数量 -->
    <!-- 如果是伪分布模式,此值为1 -->
    <configuration>
    <property>
    <name>dfs.replication</name>
    <value>1</value>
    </property>
    <!-- 设置hdfs的操作权限,false表示任何用户都可以操作 -->
    <property>
    <name>dfs.permissions</name>
    <value>false</value>
    </property>
    </configuration>
    

    9、修改mapred-site.xml

    • 这个文件初始时是没有的,有的是模板文件

    • 所以需要拷贝一份,并重命名为mapred-site.xml

    • 执行:

      [root@CH0 hadoop]# cp mapred-site.xml.template mapred-site.xml
      <configuration>
      <!-- 指定mapreduce运行在yarn上 -->
      <property>
      <name>mapreduce.framework.name</name>
      <!-- yarn是资源协调工具 -->
      <value>yarn</value>
      </property>
      </configuration>
      

    10、修改yarn-site.xml

    [root@CH0 hadoop]# vim yarn-site.xml
          
    <configuration>
    <!-- 指定yarn的老大,resourcemanager的地址 -->
    <property>
    <name>yarn.resourcemanager.hostname</name>
    <!-- CH0是主机名 -->
    <value>CH0</value>
    </property>
    <!-- Site specific YARN configuration properties -->
    <!-- nodemanager获取数据的方式 -->
    <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
    </property>
    </configuration>
    

    11、配置slaves文件

    [root@CH0 hadoop]# vim slaves
    <!-- 伪分布式只有一台机器,所以配置一个就可以 -->
    CH0
    

    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 添加如下:
    <property>
    <name>dfs.http.address</name>
    <value>0.0.0.0:50070</value>
    </property>
    2、然后重新格式化namenode,启动hadoop。最终访问正常
         0.0.0.0是本地对应的地址,具体情况视ip更换
         50070 - Hadoop DFS 状态

    相关文章

      网友评论

        本文标题:Hadoop伪分布式安装配置

        本文链接:https://www.haomeiwen.com/subject/nstodftx.html