您的位置:首页 > 运维架构

hadoop 学习之(一)搭建环境

2016-04-25 00:08 381 查看
环境说明

系统:centos 6.5

hadoop:2.7.1

JDK:1.7

虚拟机3台(1台 namenode;2台 datanode)

环境准备(可选)

准备了3台虚拟机,1台 namenode,叫 master;2台 datanode,分别叫 slave1 和 slave2。

修改主机名称

命令:vi /etc/sysconfig/network,修改 HOSTNAME=master(其他两台机器请自行修改成 slave1 和 slave2)。

IP 与主机名映射

命令:vi /etc/hosts,增加3行:

192.168.182.128 master

192.168.182.129 slave1

192.168.182.130 slave2

注:其中的 ip 为 主机名对应机器的ip(ip使用 ifconfig 命令查看)。

其他两台机器,做相同修改。

增加组、用户

– groupadd hadoopGrp #增加组

– useradd hadoop -g hadoopGrp #增加用户 hadoop,并将用户分配到组 hadoopGrp 中

– passwd hadoop #修改用户登录密码

其他两台机器,做相同修改。

创建文件夹 files,并将 hadoop 和 jdk 通过 ftp 上传到该目录下

## 请退出 root 用户,用 hadoop 用户登录

– mkdir files

– 请自行通过 ftp 工具,将文件上传到该目录下

其他两台机器,做相同修改(或使用 scp 命令直接传输文件)。

安装 JDK

– su - root ## 切换 root 用户

– [root@master ~]# rpm -ivh /home/hadoop/files/jdk-7u80-linux-x64.rpm ##安装 jdk

Preparing… ########################################### [100%]

1:jdk ########################################### [100%]

Unpacking JAR files…

rt.jar…

jsse.jar…

charsets.jar…

tools.jar…

localedata.jar…

jfxrt.jar…

– [root@master source]# rpm -ql jdk ## 查看 jdk 安装路径

…….

/usr/java/jdk1.7.0_80/src.zip

配置环境变量

– [root@master ~]# vi /etc/profile ##在文件最后增加 2 行,jdk 的目录是上面你自己机器加粗的部分。

JAVA_HOME=/usr/java/jdk1.7.0_80

export JAVA_HOME

– [root@master ~]# source /etc/profile

– [root@master ~]# echo $JAVA_HOME

其他两台机器做相同修改。

hadoop 配置

免密码登录

## hadoop 用户

[hadoop@master ~] $ ssh-keygen -t dsa -P ” -f ~/.ssh/id_dsa

[hadoop@master ~]$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

[hadoop@master ~]$ chmod 0600 ~/.ssh/authorized_keys ## 这步特别重要,否则不能免密码登录

创建 .ssh 文件夹

## hadoop 用户,在 slave1 和 slave2 机器上创建

– [hadoop@slave1 ~]$ mkdir /home/hadoop/.ssh

– [hadoop@slave2 ~]$ mkdir /home/hadoop/.ssh

复制 master 公开密码,到 slave1 和 slave2 机器上

–[hadoop@master .ssh]$ scp ./authorized_keys hadoop@slave1:~/.ssh/

hadoop@slave1’s password:

authorized_keys

–[hadoop@master .ssh]$ scp ./authorized_keys hadoop@slave2:~/.ssh/

hadoop@slave1’s password:

authorized_keys

解压 hadoop 文件

## hadoop 用户

– [hadoop@master ~]$ cd /home/hadoop/files/

– [hadoop@master source]$ tar -xvf hadoop-2.7.1.tar.gz

– [hadoop@master source]$ mv hadoop-2.7.1 hadoop

其他两台机器做相同操作。

配置 namenoe 地址

## hadoop 用户

– [hadoop@master hadoop]$ vi /home/hadoop/files/hadoop/etc/hadoop/core-site.xml

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
</configuration>


– [hadoop@master hadoop]$ scp /home/hadoop/files/hadoop/etc/hadoop/core-site.xml hadoop@slave1:/home/hadoop/files/hadoop/etc/hadoop/

– [hadoop@master hadoop]$ scp /home/hadoop/files/hadoop/etc/hadoop/core-site.xml hadoop@slave2:/home/hadoop/files/hadoop/etc/hadoop/

设置 namenode 和 datanode 目录

– [hadoop@master hadoop]$ vi /home/hadoop/files/hadoop/etc/hadoop/hdfs-site.xml

<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>/home/hadoop/files/hadoop/data/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/home/hadoop/files/hadoop/data/datanode</value>
</property>
</configuration>


配置 slave 机器

– [hadoop@master hadoop]$ vi etc/hadoop/slaves #增加两行

slave1

slave2

配置 JAVA_HOME

– [hadoop@master hadoop]$ vi etc/hadoop/hadoop-env.sh #修改成以下内容,大约在文件 25 行

export JAVA_HOME=/usr/java/jdk1.7.0_80 ## 配置成自己机器的 jdk 安装路径

其他两台机器做相同操作。

格式化 namenode

– [hadoop@master hadoop]$ /home/hadoop/files/hadoop/bin/hdfs namenode -format

– 启动 namenode

– [hadoop@master hadoop]$ /home/hadoop/files/hadoop/sbin/start-dfs.sh

查看 namenode

– 浏览器访问: http://192.168.182.128:50070/ #192.168.182.128 为 master 机器的 ip

上面的地址可能访问不了,因为 linux 的端口没有开放。此处为了方便,只能关闭了防火墙。

## root 用户

- [root@master ~]# /etc/init.d/iptables stop #上面的地址就可以了

## 可以看到 namenode 里有两个 datanode,分别叫 slave1 和 slave2



此时, hadoop 的环境就已经搭好了。

停止 namenode

– [hadoop@master hadoop]$ /home/hadoop/files/hadoop/sbin/stop-dfs.sh

因为怕读者不知道当前目录的位置,固采用绝对路径。如果读者清楚当前路径,采用相对路径即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  hadoop