美文网首页程序员
Hadoop安装与配置 2.6 or 2.7

Hadoop安装与配置 2.6 or 2.7

作者: 进击的码奴 | 来源:发表于2018-06-24 15:59 被阅读10次

        hadoop安装前需要安装java。java安装这里就不多介绍。然后去hadoop官网下载hadoop source包。下载下来后把他放到你想安装的位置。比如,解压到c盘:

    安装路径

        我这里安装了两个版本,你选择一个就可以了。然后将安装路径添加到系统环境变量中。那么安装结束。

        hadoop简单配置方式基本一致,主要配置四个文件,core-site.xml, yarn-site.xml, hdfs-site.xml和mapred-site.xml(路径在 hadoop-xxx/etc/hadoop目录下)。

        四个配置文件从名字上我们可以看出他们的作用,core核心的意思,core-site.xml 主要是hadoop的核心配置文件。(这里我们使用伪分布式,文章最后会给出完全分布式配置)

    主要内容如下:

    core-site.xml

        当然这里只指定了两个标签属性,还有其他标签属性。如果有特殊需要可以参考hadoop配置标签文档。

        hdfs-site.xml 从名字上可以看出是hdfs的配置。配置内容如下:

    hdfs-site.xml

        这里主要配置hdfs的备份数量,namenode的物理地址,和datanode的物理位置。还有其他需要的话可以参考hadoop配置文档。这里如果只是伪分布式搭建学习用已经足够了。

        mapred-site.xml 是mapreduce任务执行管理的配置文件。从2.x之后mapreduce任务执行控制交由yarn来管理所以这里只需要指定,任务交给yarn管理就好了。

    mapred-site.xml

        yarn-site.xml这是任务调度器yarn的配置文件。文件内容如下:

    yarn-site.xml

        这里的配置文件配置只是简单的伪分布式。具体配置可以更加需求添加配置属性。配置好后。在hadoop/bin 目录下执行:  hdfs namenode -format 格式化namenode。记得在格式化前 把 配置文件中指定的几个路径创建好。并且具有可读可写权限。

        然后 在sbin目录下执行 start-all (当然 windows系统和linux有差别,windows执行的是.cmd结尾的文件 linux执行的是.sh结尾的文件。 打开sbin目录你会发现好多 start开头的文件 和stop结尾的文件。start-all就是把需要启动的这些start-xxx一次启动。当然不是所有!!!!你启动后会发现  windows下跳出了 四个框体,那就是启动的四个任务。)

        至此,伪分布式配置好了。

        但是有时会报错:比如java环境找不到。这是因为,windows环境默认安装java在 program files文件夹,中间有个空格。这是hadoop找不到java的关键。所以修改hadoop-env.cmd中JAVA_HOME:改为

    JAVA_HOME

    PROGRA~1 就是 program files。

        还比如:namenode报错,id不一致,那是因为 多次执行hdfs namenode -format.导致。可以删除data,name。重新格式化一次。

        完全分布式的配置。和伪分布式差不多只是有微小差别。

    core-site.xml hdfs-site.xml mapred-site.xml yarn-site.xml

    其中,Master这是我配置完全分布式的主节点名。

    其中,还需要配置的还有slaves文件夹。

    slaves

    配置的是从节点。这两个是我配置的从节点名字。在/etc/hosts文件夹中添加  ip映射。

    hosts

    最好把第一行注释掉,否则你会发现一个头疼的错误,怎么都找不到192.168.157.129:port这个地址。因为你如果用netstat -nlpt就会发现。启动的是 127.0.0.1  Master所以第一行注释掉。

    文件配置好后 把hadoop整个文件发送到 Master slave 上。然后添加环境配置。

    /etc/profile

    添加 hadoop path。这里我没有添加,其实最好把 hadoop的配置路径也加进去。

    export HADOOP_CONF_DIR=/usr/hadoop/etc/hadoop

    export PATH=$PATH:$HADOOP_CONF_DIR

        因为后续会用到FileSystem.get()这个方法。你读源码会发现,他需要加载core-site.xml文件。如果不添加这个路径,他找不到我们配置的文件在哪。所以可能会报错。如果windows安装,最好也添加到系统变量中。不过你还是会发现,例如idea,eclipse等找不到。这是你可以将路径添加到classpath中。   

        找不到的表现是:var fs = FileSystem.get(new Configuration())

                                       fs.gerUri == file:///

        (这是用scala写的。)

    配置好后,最好对mater->slave 做ssh免密登录。不做也可以,但是每次启动和关闭会要求你密码验证。麻烦!!!

    在ssh上执行 ssh-keygen -t rsa 以后一直回车到最后。

    我是用root执行指令的。cd ~/.ssh

    在目录下:有 

    ssh

    执行cat ida_rsa.pub >> authorized_keys

    然后把 ida_rsa.pub发送到 各个slave 节点 ~/.ssh 目录下也执行cat ida_rsa.pub >> authorized_keys

    这样就配置好了。

    然后在master上执行,hdfs namenode -format

    然后start-all。至此结束。

    如果有问题。或者写不到的地方麻烦指正。第一次写 写的不好见谅。

    相关文章

      网友评论

        本文标题:Hadoop安装与配置 2.6 or 2.7

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