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
– [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
配置 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
因为怕读者不知道当前目录的位置,固采用绝对路径。如果读者清楚当前路径,采用相对路径即可。
系统: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
因为怕读者不知道当前目录的位置,固采用绝对路径。如果读者清楚当前路径,采用相对路径即可。
相关文章推荐
- 详解HDFS Short Circuit Local Reads
- Hadoop_2.1.0 MapReduce序列图
- 使用Hadoop搭建现代电信企业架构
- 单机版搭建Hadoop环境图文教程详解
- hadoop常见错误以及处理方法详解
- hadoop 单机安装配置教程
- hadoop的hdfs文件操作实现上传文件到hdfs
- hadoop实现grep示例分享
- Apache Hadoop版本详解
- linux下搭建hadoop环境步骤分享
- hadoop client与datanode的通信协议分析
- hadoop中一些常用的命令介绍
- Hadoop单机版和全分布式(集群)安装
- 用PHP和Shell写Hadoop的MapReduce程序
- hadoop map-reduce中的文件并发操作
- Hadoop1.2中配置伪分布式的实例
- hadoop上传文件功能实例代码
- java结合HADOOP集群文件上传下载
- 让python在hadoop上跑起来
- 用python + hadoop streaming 分布式编程(一) -- 原理介绍,样例程序与本地调试