hadoop-1.2.1-1.x86_64.rpm、jdk-7u45-linux-x64.tar.gz安装(64位)

时间:2022-07-31 18:12:38

一,   配置信息

机器是64位,所以操作系统、软件都是64位的。

操作系统:CentOS6.2(64位);

Hadoop是hadoop-1.2.1-1.x86_64.rpm;

JDK是jdk-7u45-linux-x64.tar.gz;

以下所有操作以root身份执行。

二,   机器信息分布

1, Hadoop集群

集群由5台安装Linux环境的机器构建。电脑是联想 4220AN6 Tower,每台电脑具体配置: 英特尔 Core i3 530双核处理器,主板是英特尔 3450 芯片组,内存4G,硬盘500G。

集群中带宽是1000兆。

集群中网卡、交换机、网线均为1000兆。

hadoop-1.2.1-1.x86_64.rpm、jdk-7u45-linux-x64.tar.gz安装(64位)

其中一台机器是Master节点,即主节点,另外四台是Slave节点,即数据节点。这五台电脑彼此间通过路由器相连,从而实现相互通信以及数据传输。他们都可以通过路由器访问Internet。

2, 集群内电脑详细信息

集群内5台电脑机器名分别是master、slave1、slave2、slave3、slave4。每台电脑用root操作Hadoop,下面描述了集群内master节点和slave1节点的机器信息。

(1)   master服务器

机器

详细信息

机器名称

master

IP地址

172.23.7.160

最高用户名

root

最高用户密码

123456

(2)   slave1服务器

机器

详细信息

机器名称

slave1

IP地址

172.23.7.161

最高用户名

root

最高用户密码

123456

三,   CentOS安装配置

集群内每台电脑安装CentOS6.2操作系统。

四,   网络配置

1,  集群内电脑IP配置如下:

机器

IP地址

master

172.23.7.160

slave1

172.23.7.161

slave2

172.23.7.162

slave3

172.23.7.163

slave4

172.23.7.164

2,  配置防火墙

集群内每台电脑关闭防火墙,下面以master为例说明

(1)       输入setup,进入防火墙配置界面

hadoop-1.2.1-1.x86_64.rpm、jdk-7u45-linux-x64.tar.gz安装(64位)

(2)       选择Firewall  configuration,Run  Tool。点击“Run Tool”,下一步。

hadoop-1.2.1-1.x86_64.rpm、jdk-7u45-linux-x64.tar.gz安装(64位)

(3)       将Firewall后面中括号内的星号去掉,变成disable,点击OK下一步。

hadoop-1.2.1-1.x86_64.rpm、jdk-7u45-linux-x64.tar.gz安装(64位)

(4)       选中“yes”,下一步。

hadoop-1.2.1-1.x86_64.rpm、jdk-7u45-linux-x64.tar.gz安装(64位)

(5)       选择“Quit”退出即可。

hadoop-1.2.1-1.x86_64.rpm、jdk-7u45-linux-x64.tar.gz安装(64位)

3,  查看当前机器名称

用hostname命令显示机器名称

hadoop-1.2.1-1.x86_64.rpm、jdk-7u45-linux-x64.tar.gz安装(64位)

4,  修改当前机器名称

如果查看机器名不是我们想要的,需要修改机器名。通过对"/etc/sysconfig/network"文件修改其中"HOSTNAME"后面的值,改成我们规划的名称。这个"/etc/sysconfig/network"文件是定义hostname和是否利用网络的不接触网络设备的对系统全体定义的文件。"/etc/sysconfig/network"的设定项目如下:

hadoop-1.2.1-1.x86_64.rpm、jdk-7u45-linux-x64.tar.gz安装(64位)

用下面命令进行修改当前机器的主机名(备注:修改系统文件一般用root用户)

hadoop-1.2.1-1.x86_64.rpm、jdk-7u45-linux-x64.tar.gz安装(64位)

5,  修改IP地址

假定我们的机器连IP在当时安装机器时都没有配置好,那此时我们需要对"ifcfg-eth0"文件进行配置,该文件位于"/etc/sysconfig/network-scripts"文件夹下。

在这个目录下面,存放的是网络接口(网卡)的制御脚本文件(控制文件),ifcfg- eth0是默认的第一个网络接口,如果机器中有多个网络接口,那么名字就将依此类推ifcfg-eth1,ifcfg-eth2,ifcfg- eth3,……。

这里面的文件是相当重要的,涉及到网络能否正常工作。设定形式:设定值=值设定项目项目如下:

hadoop-1.2.1-1.x86_64.rpm、jdk-7u45-linux-x64.tar.gz安装(64位)

用下面命令修改IP。

hadoop-1.2.1-1.x86_64.rpm、jdk-7u45-linux-x64.tar.gz安装(64位)

下面以master为例配置IP地址:

IPADDR IP后面写IP地址,172.23.7.160

GATEWAY 后面写网关,172.23.7.1

NETMASK后面写子网掩码,255.255.255.0

DNS1后面写DNS服务器,202.202.32.33

6,  配置hosts文件

 "/etc/hosts"这个文件是用来配置主机将用的DNS服务器信息,是记载LAN内接续的各主机的对应主机名和IP地址,用户在进行网络连接时,首先查找该文件,寻找对应主机名对应的IP地址。

需要在每台电脑上配置hosts文件,配置操作系统,下面以master节点为例介绍:

(1)     root 身份打开/etc /hosts 文件,命令:

hadoop-1.2.1-1.x86_64.rpm、jdk-7u45-linux-x64.tar.gz安装(64位)

(2)     在hosts中写上本集群内所有电脑IP地址和对应主机名

hadoop-1.2.1-1.x86_64.rpm、jdk-7u45-linux-x64.tar.gz安装(64位)

(3)     配置是否成功,在集群内任一电脑,ping其他电脑用户名,如果ping通了,则说明成功。比如在master上ping  slave1

hadoop-1.2.1-1.x86_64.rpm、jdk-7u45-linux-x64.tar.gz安装(64位)

如上图说明成功了。

五,   配置SSH

1、  在Hadoop集群中,节点A连接到节点B时,需要在A上生成一个密钥对,包括一个公钥和一个私钥,而后将公钥复制到B。当A过 SSH连接B,B会生成一个随机数并用A公钥对随机数进行加密,并发送给A。A收到加密数之后再用私钥解密,并将解密数回传给B,B确认解密数无误之后就允许A进行连接了。这就是一个公钥认证过程,其间不需要用户手工输入密 码。重要过程是将客户端A的公钥复制到B上。在Hadoop集群下,需要任一台电脑可以无密码登陆其他电脑,需要将每台电脑的公钥发送到集群内所有电脑上。

2、  在master上生成密码对流程如下:

(1)     生成密钥对:

a)跳转到/root/.ssh目录下:

hadoop-1.2.1-1.x86_64.rpm、jdk-7u45-linux-x64.tar.gz安装(64位)

c)在.ssh文件夹下生成密钥对

[root @master  .ssh]#  ssh-keygen -t  rsa

之后一直点击回车键默认。

此时,会在/root/.ssh下生成了id_rsa(私钥),id_rsa.pub(公钥);

hadoop-1.2.1-1.x86_64.rpm、jdk-7u45-linux-x64.tar.gz安装(64位)

3、  分别在集群其他电脑上执行第2步操作,都会生成密钥对id_rsa.pub和id_rsa,

4、  配置authorized_keys

将集群内所有电脑的id_rsa.pub都复制到authorized_keys上,再将authorized_keys存储到所有电脑上。

(1)在master电脑上,把生成的id_ras.pub内容复制到authorized _keys中;执行指令:

hadoop-1.2.1-1.x86_64.rpm、jdk-7u45-linux-x64.tar.gz安装(64位)

如果authorized_keys不存在,则生成authorized_keys,再将id_rsa.pub内容复制到authorized_keys中。

(2)将authorized_keys复制到slave1电脑上:

hadoop-1.2.1-1.x86_64.rpm、jdk-7u45-linux-x64.tar.gz安装(64位)

按照(1)步,将slave1生成密钥对添加到authorized_keys:

(3)依次操作将slave2,slave3,slave 4上的密钥对添加到authorized_keys上。

下一步,将最新authorized_keys复制到集群内所有的电脑上,和id_rsa.pub存储在同一目录下。

六,   安装JDk

软件准备:jdk-7u45-linux-x64.tar.gz,集群内所有电脑都需要安装JDK,我们可以在master上安装好JDK后,将安装文件复制到其他电脑相同目录下即可。将JDK统一安装在所有电脑的/usr/local目录下;下面以master电脑安装JDK为例介绍(以root安装):

注:如果是jdk是bin格式,需要赋值,chmod 755 jdk-7u45-linux-x64.bin,然后./jdk-7u45-linux-x64.bin安装jdk,会在同一目录下产生安装目录。

1、  查看默认的JDK命令:

[root@master  local]$  java  -version

提示现在的jdk版本是1.6.0_22,需要安装新版JDK。

2、  安装jdk,将jdk解压缩

[root @master  local]#  tar –zxvf  jdk-7u45-linux-x64.tar.gz

之后,在/usr/local目录下产生一个新的 jdk1.7. 0_45文件夹

3、  设置环境变量

打开配置文件profile,命令:

[root @master  local]#  vim  /etc/profile

在空白处添加如下信息:

JAVA_HOME=/usr/local/ jdk1.7. 0_45

PATH=$JAVA_HOME/bin:$PATH

CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export JAVA_HOME

export PATH

export CLASSPATH

4、  让系统配置立即生效,不用重启系统,终端输入命令:

[root @master  local]#  source  /etc/profile

5、  查看版本:

[root @master  local]#  java -version

显示我们安装的新版本是jdk1.7.0_45,说明JDK安装成功。

hadoop-1.2.1-1.x86_64.rpm、jdk-7u45-linux-x64.tar.gz安装(64位)

6、  将主节点master上安装好的jdk复制到其他电脑相同目录下。此处以复制到slave1为例。

a)         将jdk的解压缩文件复制到slave1电脑上

[root @master  local]#  scp -r  jdk1.7.0_45  root@slave1:/usr/local

hadoop-1.2.1-1.x86_64.rpm、jdk-7u45-linux-x64.tar.gz安装(64位)

a)         将主节点master上的JDk配置文件”/etc/profile”拷贝到其他子节点上

[root @master  local]#  scp  /etc/profile  slave1:/etc/profile

hadoop-1.2.1-1.x86_64.rpm、jdk-7u45-linux-x64.tar.gz安装(64位)

在slave1电脑上执行一下语句,使java配置立即生效。

[root @master  local]#  source  /etc/profile

b)         在子节点上查看jdk是否安装成功,结果显示jdk1.7.0_45,说明安装成功。

[root @slave1Desktop]#  java  –version

七,   安装Hadoop集群

1、  集群内所有电脑都需要安装hadoop,我们将hadoop统一安装在所有电脑的/usr/local目录下;下面以master电脑安装hadoop为例介绍(以root用户安装):

2、  输入指令“rpm –ivh hadoop-1.2.1-1.x86_64.rpm”安装hadoop:

hadoop-1.2.1-1.x86_64.rpm、jdk-7u45-linux-x64.tar.gz安装(64位)

3、      安装文件会在/etc下生成hadoop文件,可在此处配置hadoop配置文件,将hadoop运行指令放到/usr/sbin目录下,下面配置hadoop配置文件,总共需要配置5个。

(1)     配置core-site.xml,修改每个属性的value值,

core-site.xml配置HDFS和MapReduce的。

<!—core-site.xml-->

<property>

<name>hadoop.tmp.dir</name>

<value>/home/hadoop/tmp</value>

</property>

<property>

<name>fs.default.name</name>

<value>hdfs://172.23.7.160:9000</value>

</property>

(2)     设置完步骤(2)后,在/home/hadoop目录下创建一个名为tmp的文件夹

hadoop-1.2.1-1.x86_64.rpm、jdk-7u45-linux-x64.tar.gz安装(64位)

(3)     返回到/etc/hadoop目录下,继续配置文件,下面配置hdfs-site.xml

hdfs-site.xml配置HDFS的。

<!—hdfs-site.xml-->

<property>

<name>dfs.replication</name>

<value>2</value>

</property>

注:副本个数,不配置默认是3此处写2.

(4)     配置mapred-site.xml

mapred-site.xml配置MapReduce的。

<!—mapred-site.xml-->

<property>

<name>mapred.job.tracker</name>

<value>172.23.7.160:9001</value>

</property>

(5)     配置masters文件,加入namenode的节点名,并删除前面的内容

172.23.7.160

注:此处填写主节点主机名或IP皆可。

(6)     配置slaves文件, 加入所有datanode的节点名

172.23.7.161

172.23.7.162

172.23.7.163

172.23.7.164

注:此处填写所有数据节点的主机名或IP地址

4、  在其他4台电脑上分别执行“步骤2“,然后将master节点,/etc/hadoop目录下的core-site.xml、mapred-site.xml、hdfs-site.xml、masters、slaves五个文件复制到其余4台电脑相应目录下。

5、  启动hadoop集群(主节点)

(1) 格式化文件系统:

hadoop-1.2.1-1.x86_64.rpm、jdk-7u45-linux-x64.tar.gz安装(64位)

注:在第一次启动hadoop集群时候,需要格式化文件系统,以后不需要此操作。

(3) 启动hadoop集群

hadoop-1.2.1-1.x86_64.rpm、jdk-7u45-linux-x64.tar.gz安装(64位)

此时提示你,没有权限执行此操作。start-all.sh指令存在于/usr/sbin目录下,需要赋予root用户权限,root用户可以对sbin文件夹进行任何操作。

chmod –R 777 /usr/sbin

6、    查看运行结果

(1)     在主节点master上用java自带的小工具jps查看进程

hadoop-1.2.1-1.x86_64.rpm、jdk-7u45-linux-x64.tar.gz安装(64位)

进程中必须包含NameNode和JobTracker这两个,不然说明安装失败。

(2)     在其他数据节点下用java自带的小工具jps查看进程

hadoop-1.2.1-1.x86_64.rpm、jdk-7u45-linux-x64.tar.gz安装(64位)

进程必须包含DataNode和TaskTracker两个,不然说明安装失败。