Hadoop安装与配置 2.6 or 2.7

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

Hadoop安装与配置 2.6 or 2.7_第1张图片
安装路径

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

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

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

主要内容如下:

Hadoop安装与配置 2.6 or 2.7_第2张图片
core-site.xml

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

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

Hadoop安装与配置 2.6 or 2.7_第3张图片
hdfs-site.xml

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

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

Hadoop安装与配置 2.6 or 2.7_第4张图片
mapred-site.xml

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

Hadoop安装与配置 2.6 or 2.7_第5张图片
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:改为

Hadoop安装与配置 2.6 or 2.7_第6张图片
JAVA_HOME

PROGRA~1 就是 program files。

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

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


Hadoop安装与配置 2.6 or 2.7_第7张图片
core-site.xml
Hadoop安装与配置 2.6 or 2.7_第8张图片
hdfs-site.xml
Hadoop安装与配置 2.6 or 2.7_第9张图片
mapred-site.xml
Hadoop安装与配置 2.6 or 2.7_第10张图片
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 上。然后添加环境配置。

Hadoop安装与配置 2.6 or 2.7_第11张图片
/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)