centos6.2 下安装并配置hadoop1.0.4(32位安装)
一,环境准备
1、 集群内所有电脑需要设置防火墙,下面以master为例说明:
切换到root用户下,执行setup指令:
(1) 选择Firewall configuration,Run Tool。用上下键控制选项的选择,用Tab键进行确认和取消选择,空格键点击确认。
(2) 进入Firewall Configuration 设置,使用空格将Firewall设置上的星号去掉,变成disable,OK确认。
(3) 点击“yes“
(4) 之后回到第一步,选择退出即可。
2、 Hadoop集群由3个节点(同构、异构均可)构成,它们之间通过以太网进行通讯。图1 中每个节点下部的标签为该节点的主机名,其对应的IP 地址如表1 所示:
主机名 |
IP地址 |
master |
172.22.12.72 |
slave1 |
172.22.12.71 |
slave2 |
172.22.12.70 |
表1
我们需要在每台机器上配置hosts文件,配置操作相同,下面以master为例介绍:
以root 身份打开/etc /hosts 文件,命令:
[root @masterDesktop]# vim /etc /hosts
将文件修改为如下内容:
172.22.12.72 master
172.22.12.71 slave1
172.22.12.70 slave2
之后,slave1和salve2执行上述操作。
判断配置是否成功,在集群内任一电脑,ping其他电脑用户名,如果ping通了,则说明成功。比如在master上ping slave1
如上图说明成功了。
二,CentOS下安装JDK
软件准备:jdk-6u38-linux-i585.bin,集群内所有电脑都需要安装JDK,我们可以在master上安装好JDK后,将安装文件复制到其他电脑相同目录下即可。将hadoop统一安装在所有电脑的/usr/local目录下;下面以master电脑安装JDK为例介绍:
1、 查看默认的JDK命令:
[hadoop@masterDesktop]$ java -version
提示现在的jdk版本是1.6.0_22
2、 使用root帐号将jdk-6u38-linux-i585.bin放到/usr/local目录下,命令:
[hadoop@masterDesktop]$ su root
[root@masterDesktop]# mv jdk-6u38-linux-i585.bin /usr/local
3、 安装jdk
进入到/usr/local目录下,将压缩包安装到该目录下
[root @masterDesktop]# cd /usr/local
[root @master local]# ./jdk-6u38-linux-i585.bin
安装完成后,在/usr/local目录下产生一个新的 jdk1.0. 6_38文件夹
4、 设置环境变量
打开配置文件profile,命令:
[root @master local]# vim /etc/profile
移至文件末尾插入一个空行:输入字母o。输入以下配置信息:(注:这里的分隔符是冒号不是分号)
JAVA_HOME=/usr/local/jdk1.6.0_38
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME
export PATH
export CLASSPATH
编辑完后,先按Esc退出编辑模式,再保存退出输入:wq !(冒号也要输入)
至此,新的JDK环境设置完毕。
5、 让系统配置立即生效,不用重启系统,终端输入命令:
[root @master local]# source /etc/profile
6、 查看jdk是否安装成功,命令:
[root @master local]# java
[root @master local]# javac
如果出现配置信息,说明安装成功
7、 查看版本:
[root @master local]# java -version
显示我们安装的新版本是jdk1.6.0_38
8、 将主节点master上安装好的jdk复制到其他两台上相同目录下。此处以复制到slave1为例。
a) 将jdk的解压缩文件复制到slave1电脑上
[root @master local]# scp -r jdk1.6.0_38 root@slave1:/usr/local
这样,子节点上的同目录下也安装了jdk。注意,复制文件夹一定要加-r,表示将jdk1.6.0_38文件夹和其文件夹里的所有文件都拷贝到slave1节点上。
a) 将主节点master上的jkd配置文件拷贝到其他子节点上
[root @master local]# scp /etc/profile slave1:/etc/profile
注意,此处profile文件不是文件夹,因此不用加-r。
b) 在子节点上查看jdk是否安装成功
[root @slave1 Desktop]# source /etc/profile
[root @slave1Desktop]# java
[root @slave1Desktop]# javac
[root @slave1Desktop]# java –version
9、执行步骤8,将jdk文件复制到slave2.。
三,CentOS下配置ssh
1、 在Hadoop集群中,需要集群内一台电脑无密码登录其他电脑,我们使用Linux自带的ssh指令远程连接其他电脑(在安装CentOs系统时候,会默认安装SSH服务,如果没有,则需要手动安装Openssh),SSH默认需要输入密码,因此我们配置一下SSH,即可无密码登录。下面讲解如何通过SSH无密码登录其他电脑:
2、 如果master电脑通过SSH无密码远程连接slave1电脑,需要在master电脑上生成密码对,然后将私钥留下,公钥发送给slave1后,实现了无密码登录slave1电脑。即如果电脑a无密码连接电脑b,需要将电脑a生成的私钥留给自己,公钥发给电脑b。因此欲实现集群内电脑的相互无密码登录,只需要每台电脑生成一个公钥对,将各自私钥不要动,所有公钥(公钥类似windows系统的记事本)的内容复制到同一个文本文件中,此文本文件名字必须为authorized_keys,不能变;然后将authorized_keys复制到集群内的每台电脑即可。注意:我们每台电脑使用hadoop用户连接,因此生成公钥和authorized_keys必须属于hadoop用户。具体流程如下:
3、 在master上生成密码对流程如下:
(1) 确保.ssh文件夹属于hadoop用户,如果不是,需要修改:
a)跳转到/home/hadoop目录下:
b)查看.ssh文件夹属性:
c)如果标记处为hadoop则说明.ssh文件夹属于hadoop用户。
如果标记处不为hadoop,则需要切换到root用户,进行修改:
d)切换到root用户:
e)将.ssh用户赋予hadoop:
f)赋予hadoop用户权限,可以操作.ssh文件夹:
之后再利用ls -al查看.ssh文件夹,确保文件夹如上c)图符合要求。
(2) 生成密钥对:
a)确保是hadoop用户操作,如果不是,切换到hadoop用户下:
b)再跳转到.ssh目录下进行操作:
c)在.ssh文件夹下生成密钥对
[hadoop @master .ssh]$ ssh-key gen -t rsa
之后一直点击回车键默认,效果如下:
此时,会在/home/hadoop/.ssh下生成了id_rsa(私钥),id_rsa.pub(公钥);
4、 分别在slabe1和slave2中执行第三步操作,都会生成密钥对id_rsa.pub和id_rsa,
5、 配置authorized_keys
(1)在master电脑上,把生成的id_ras.pub内容复制到authorized _keys中;执行指令:
如果authorized_keys不存在,则生成authorized_keys,再将id_rsa.pub内容复制到authorized_keys中。
(2)将authorized_keys复制到slave1电脑上:
将slave1生成密钥对添加到authorized_keys:
(3)将slave1上authorized_keys复制到slave2上:
将将slave2生成密钥对添加到authorized_keys:
至此slave2上authorized_keys文件已经包含集群中所有三台电脑的公钥了,是最新的文件。
下一步,将master和slave1电脑上authorized_keys文件删除,将slave2上的最新authorized_keys复制到master和slave1上。
(4)master上删除旧的authorized_keys:
slave1中删除旧的authorized_keys:
Slave2中authorized_keys复制到master:
Slave2中authorized_keys复制到slave1:
(5)将集群内所有电脑上设定authorized_keys所属用户为hadoop,hadoop用户对其读写权限,在所有电脑上执行以下操作,以master为例:
再执行ls –al查看authorized_keys文件,如果如下图所示,则符合要求:
四,CentOS下安装和配置hadoop
1、 集群内所有电脑都需要安装hadoop,我们可以在master上安装好hadoop后,将安装文件复制到其他电脑相同目录下即可。将hadoop统一安装在所有电脑的/usr/local目录下;下面以master电脑安装hadoop为例介绍:
2、 将用户切换到root用户:
3、 将桌面上的hadoop-1.0.4-bin.tar.gz复制到/usr/local目录下:
3、 跳转到/usr/local目录下,解压缩hadoop-1.0.4-bin.tar.gz:
4、 解压缩后生成hadoop-1.0.4文件夹,跳转到 hadoop-1.0.4/conf目录下,
配置hadoop配置文件,总共需要配置6个。
(1) 配置hadoop-env.sh
# set java environment
export JAVA_HOME=/usr/local/jdk1.6.0_38
(2) 配置core-site.xml,修改每个属性的value值
<!—core-site.xml-->
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoopl/tmp</value>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://172,.22.12.72:9000</value>
</property>
(3) 设置完步骤(2)后,用root账号在/home/hadoop目录下创建一个名为tmp的文件夹,
将tmp文件夹赋予hadoop用户,并赋予hadoop用户操作该文件夹的权限
(4) 跳转到hadoop-1.0.4/conf目录下
继续配置hdfs-site.xml
<!—hdfs-site.xml-->
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
注:副本个数,不配置默认是3,应小于等于datanode机器数量,本集群datanode机器数为2。
(5) 配置mapred-site.xml
<!—mapred-site.xml-->
<property>
<name>mapred.job.tracker</name>
<value>http://172.22.12.72:9001</value>
</property>
(6) 配置masters文件,加入namenode的节点名,并删除前面的内容
172.22.12.72
注:此处填写主节点ip
(7) 配置slaves文件, 加入所有datanode的节点名
[hadoop @master conf]$ vim slaves
172.22.12.71
172.22.12.70
注:此处填写所有数据节点ip
5、 将hadoop-1.0.4赋予用户hadoop,并且赋予hadoop对文件夹的操作权限。
6、 将hadoop-1.0.4分别复制到slave1和slave2相应目录下:
7、 分别在slave1和slave2上以root用户执行操作步骤5。
8、 分别在slave1和slave2上执行操作步骤4中第(3)步。
9、 启动hadoop集群(只需在主节点启动hadoop即可)
(1) 以hadoop用户,跳转到hadoop-1.0.4的bin目录下:
(2) 格式化文件系统:
注:在第一次启动hadoop集群时候,需要格式化文件系统,其他时间不需要启动。
(3) 启动hadoop集群
10、 在主节点master上用java自带的小工具jps查看进程
进程中必须包含NameNode和JobTracker这两个,不然说明安装失败。
在salve1上或slave2上用java自带的小工具jps查看进程:
进程必须包含DataNode和TaskTracker两个,不然说明安装失败。
centos6.2 下安装并配置hadoop1.0.4(32位安装)的更多相关文章
- Windows2003 IIS6.0支持32位和64位两种模式的设置方法
IIS 6.0 可支持 32 位和 64 位两种模式.但是,IIS 6.0 不支持在 64 位版本的 Windows 上同时运行这两种模式.ASP.NET 1.1 只在 32 位模式下运行.而 ASP ...
- Centos6.5下VNC Server配置
整个流程如下~ 1.首先,检查下本机是否安装了vnc: 提示没有安装,那么开始装吧: 2.先关闭防火墙 查看防火墙状态: 关闭防火墙: 注:要切到root下 [carsonzhu@localhost ...
- MySQL安装 MySQL5.7.10免安装版配置,mysql5.7.10免安装版
MySQL5.7.10免安装版配置,mysql5.7.10免安装版 最新版的 Mysql 不提供图形界面的安装了, 下载下来是一个压缩包的形式, 那么我们如何来使用它呢, 让它为我们工作呢? 环境: ...
- VS2015配置内核WDK7600环境,32位下.
VS2015配置内核WDK7600环境,32位下. 学习内核驱动的编写,就要会配置环境.不然总是用记事本编写.比较不方便. 环境配置如下. 1.首先下载WDK7600, 课堂资料代码中已经上传.链接: ...
- zz Windows 10安装教程:硬盘安装Win10 系统步骤(适合32位和64位)
Windows 10安装教程:硬盘安装Win10 系统步骤(适合32位和64位) Posted on 2015年01月28日 by 虾虾 22 Comments 最新的Windows 10 MSD ...
- Win7 32位安装Oracle11g R2 图解示例
Win7 32位操作系统安装Oracle11g R2 图解示例.废话不说了,直接上图. 1.下载的两个oracle 11gR2压缩包解压到单独的文件夹中. 2.找到解压的database文件夹中的Se ...
- Installshield 64位操作系统下拷贝文件,如何重定向到32位的系统文件夹下
原文:Installshield 64位操作系统下拷贝文件,如何重定向到32位的系统文件夹下 64位操作系统下拷贝文件重定向问题,在在复制代码前加上Disable(WOW64FSREDIRECTION ...
- Xubuntu 计划从 19.04 版本开始停止提供 32 位安装镜像(XDE/LXQt的 Lubuntu 成为了目前唯一仍然提供 32 位安装镜像的 Ubuntu 桌面发行版)
Ubuntu 17.10 以及其他许多 *buntu 衍生品都已在今年早些时候停止提供 32 位安装镜像.但其中有一个依然坚持提供适用于 i386 架构的镜像,它就是 Xubuntu,但现在 Xubu ...
- Hadoop-1.0.4伪分布安装与配置
1.采用伪分布模式安装 将hadoop-****.tar.gz复制到linux的/usr/local目录下. 2.解压,重命名 #tar -xzvf hadoop-1.0.4.ta ...
随机推荐
- pip安装python模块方法
网上搜索了很多,主流的配置方法分为两种: 摘自 1.http://www.jb51.net/article/83617.htm 安装pip的包并确定pip安装时的镜像源地址,国内常用的地址有: htt ...
- jquery阻止表单提交
<form action="" method="post" onSubmit="return confirm();" > < ...
- Jmeter的一个jmx文件(备忘)
<?xml version="1.0" encoding="UTF-8"?> <jmeterTestPlan version="1. ...
- div 自适应宽度
div 自适应宽度 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://w ...
- SharedPreferences的基本使用-----存,删,改,查
1.创建一个SharedPreferences对象 SharedPreferences spf = context.getSharedPreferences("imageload" ...
- 2018.10.19 NOIP模拟 加密(模拟)
传送门 直接按hashhashhash函数反着算回去就行了. 加法用exgcdexgcdexgcd,异或直接枚举二进制位. 代码
- IntelliJ IDEA 2017版 SpringBoot的关闭自动配置和自定义Banner
一.关闭自动配置 在jar包下找下边的名字 设置关闭自动配置jar 多个的时候配置 二.自定义Banner (1)网站搜索一个图案.网址:http://patorjk.co ...
- python编码(一)
下面介绍一下python的编码机制,unicode, utf-8, utf-16, GBK, GB2312,ISO-8859-1等编码之间的转换. 1.自动识别字符串编码: #coding:utf8 ...
- Spring中property-placeholder的使用与解析
Spring中property-placeholder的使用与解析 我们在基于spring开发应用的时候,一般都会将数据库的配置放置在properties文件中. 代码分析的时候,涉及的知识点概要: ...
- 201709012工作日记--Android消息机制
1. android的消息机制——Handler机制 参考:http://www.jianshu.com/p/9e4d1fab0f36. Android异步消息处理机制完全解析,带你从源码的角度理解: ...