阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

生产环境Hadoop大集群完全分布式模式安装

124次阅读
没有评论

共计 11372 个字符,预计需要花费 29 分钟才能阅读完成。

Hadoop 学习笔记之 - 生产环境 Hadoop 大集群配置安装

安装环境

操作平台:vmware2

操作系统:Oracle Enterprise Linux 5.6

软件版本:hadoop-0.22.0,jdk-6u18

集群架构:3+ node,master node(hotel01),slave node(hotel02,hotel03…)

主机名

IP

系统版本

Hadoop node

hadoop 进程名

hotel01

192.168.2.111

OEL5.6

master

namenode,jobtracker

hotel02

192.168.2.112

OEL5.6

slave

datanode,tasktracker

hotel03

192.168.2.113

OEL5.6

slave

datanode,tasktracker

…..

   

说明:目前 hadoop 测试主机只有三台,但在真正的 hadoop 集群生产环境中,可能上百台或是更多主机,所以下面的安装步骤尽可能站在一个大的 hadoop 集群环境角度进行安装,减少在每台服务器的单独操作,因为这样每个操作都可能是一个庞大的工程。

安装步骤

1.        下载 Hadoop 和 jdk:

http://mirror.bit.edu.cn/apache/hadoop/common/

如:hadoop-0.22.0

2.        配置 DNS 解析主机名

说明:在生产的 hadoop 集群环境中,由于服务器可能会有许多台,通过配置 DNS 映射机器名,相比配置 /etc/host 方法,可以避免在每个节点都配置各自的 host 文件,而且在新增节点时也不需要修改每个节点的 /etc/host 的主机名 -IP 映射文件。减少了配置步骤和时间,便于管理。

详细步骤见:

【Hadoop 学习笔记之 -DNS 配置】http://www.linuxidc.com/Linux/2014-02/96519.htm

配置说明:NDS 服务器放在了 hotel01(master)节点上,对 hotel01、hotel02、hotel03 节点的主机名进行解析。

3.        建立 hadoop 运行账号

在所有的节点创建 hadoop 运行账号

[root@gc ~]# groupadd hadoop

[root@gc ~]# useradd -g hadoop grid – 注意此处一定要指定分组,不然可能会不能建立互信

[root@gc ~]# idgrid

uid=501(grid)gid=54326(hadoop) groups=54326(hadoop)

[root@gc ~]# passwd grid

Changingpassword for user grid.

New UNIXpassword:

BAD PASSWORD: itis too short

Retype new UNIXpassword:

passwd: allauthentication tokens updated successfully.

说明:在大的 hadoop 集群安装环境中,这步可以在批量安装 linux 系统之前完成,然后再进行系统的复制。(没有试过,据说可以 ghost 工具软件应该可以实现)

4.        通过 NFS 配置 ssh 免密码连入

说明:通过 NFS 配置 ssh 免密码连入时,当我们有新的节点接入时,不再需要分别向其它节点各自添加自己公钥信息,只需要把公钥信息追加到共享的 authorized_keys 公钥当中,其它节点就直接指向最新的公钥文件。便于分配公钥和管理。

 详细步骤见:

【hadoop 学习笔记之 -NFS 配置】http://www.linuxidc.com/Linux/2014-02/96520.htm

5.        解压 hadoop 安装包

– 可先一某节点解压配置文件

[grid@hotel01 ~]$ ll

总计 43580

-rw-r–r– 1 grid hadoop 445755682012-11-19 hadoop-0.20.2.tar.gz

[grid@hotel01~]$tar xzvf /home/grid/hadoop-0.20.2.tar.gz

[grid@hotel01~]$ ll

总计 43584

drwxr-xr-x 12 grid hadoop    4096 2010-02-19hadoop-0.20.2

-rw-r–r– 1 grid hadoop 44575568 2012-11-19 hadoop-0.20.2.tar.gz

 

– 在各节点安装 jdk

[root@hotel01~]#./jdk-6u18-linux-x64-rpm.bin

 

 

6.        Hadoop 配置有关文件

◆      配置 hadoop-env.sh

[root@gc conf]#pwd

/root/hadoop-0.20.2/conf

– 修改 jdk 安装路径

[root@gc conf]vihadoop-env.sh

export Java_HOME=/usr/java/jdk1.6.0_18

 

◆      配置 namenode,修改 site 文件

– 修改 core-site.xml 文件

[gird@hotel01conf]# vi core-site.xml

<?xmlversion=”1.0″?>

<?xml-stylesheettype=”text/xsl” href=”https://www.linuxidc.com/Linux/2014-02/configuration.xsl”?>

 

<!– Putsite-specific property overrides in this file. –>

 

<configuration>

<property>

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

<value>hdfs://hotel01.licz.com:9000</value> #完全分布式不能用 localhost, 要用 master 节点的 IP 或机器名.

</property>

<property>

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

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

</property>

</configuration>

注:fs.default.nameNameNode 的 IP 地址和端口

 

– 修改 hdfs-site.xml 文件

[grid@hotel01hadoop-0.20.2]$ mkdir data

[gird@hotel01conf]# vi hdfs-site.xml

<?xmlversion=”1.0″?>

<?xml-stylesheettype=”text/xsl” href=”https://www.linuxidc.com/Linux/2014-02/configuration.xsl”?>

 

<!– Putsite-specific property overrides in this file. –>

 

<configuration>

<property>

<name>dfs.data.dir</name>

<value>/home/grid/hadoop-0.20.2/data</value>– 注意此目录必需已经创建并能读写

</property>

<property>

<name>dfs.replication</name>

<value>2</value>

</property>

</configuration>

hdfs-site.xml 文件中常用配置参数:

 

– 修改 mapred-site.xml 文件

[gird@hotel01conf]# vi mapred-site.xml

<?xmlversion=”1.0″?>

<?xml-stylesheettype=”text/xsl” href=”https://www.linuxidc.com/Linux/2014-02/configuration.xsl”?>

 

<!– Putsite-specific property overrides in this file. –>

 

<configuration>

<property>

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

<value>hotel01.licz.com:9001</value>

</property>

</configuration>

 

mapred-site.xml 文件中常用配置参数

 

◆      配置 masters 和 slaves 文件

[gird@hotel01conf]$ vi masters

hotel01.licz.com

 

[gird@hotel01conf]$ vi slaves

hotel02.licz.com

hotel03.licz.com

相关阅读

Ubuntu 13.04 上搭建 Hadoop 环境 http://www.linuxidc.com/Linux/2013-06/86106.htm

Ubuntu 12.10 +Hadoop 1.2.1 版本集群配置 http://www.linuxidc.com/Linux/2013-09/90600.htm

Ubuntu 上搭建 Hadoop 环境(单机模式 + 伪分布模式)http://www.linuxidc.com/Linux/2013-01/77681.htm

Ubuntu 下 Hadoop 环境的配置 http://www.linuxidc.com/Linux/2012-11/74539.htm

单机版搭建 Hadoop 环境图文教程详解 http://www.linuxidc.com/Linux/2012-02/53927.htm

搭建 Hadoop 环境(在 Winodws 环境下用虚拟机虚拟两个 Ubuntu 系统进行搭建)http://www.linuxidc.com/Linux/2011-12/48894.htm

7.        向各节点复制 Hadoop(awk 命令)

– 把 hotel01.licz.com 主机上面 hadoop 配置好的文件分别 copy 到各节点 

– 原来 copy 的方法是一个个命令执行,如下

[gird@hotel01conf]$ scp -rp hadoop-0.20.2 hotel02.licz.com:/home/grid/

[gird@hotel01conf]$ scp -rp hadoop-0.20.2 hotel03.licz.com:/home/grid/

– 但站在 hadoop 大集群的角度,上面方法会很费时,我们可用 awk 命令生成批量执行的脚本,批量执行,省时省力,如下:

[grid@hotel01~]$ cat hadoop-0.20.2/conf/slaves| awk ‘{print “scp -rp hadoop-0.20.2grid@”$1″:/home/grid”}’ > scp.sh

[grid@hotel01~]$ chmod u+x scp.sh

[grid@hotel01~]$ cat scp.sh

scp -rp hadoop-0.20.2grid@hotel02.licz.com:/home/grid

scp -rp hadoop-0.20.2grid@hotel03.licz.com:/home/grid

[grid@hotel01~]$ ./scp.sh 

8.        格式化 namenode

– 在 namenode 节点进行格式化

[grid@hotel01bin]$ pwd

/home/grid/hadoop-0.20.2/bin

[gird@hotel01bin]$ ./hadoop namenode -format

12/10/3108:03:31 INFO namenode.NameNode: STARTUP_MSG:

/************************************************************

STARTUP_MSG:Starting NameNode

STARTUP_MSG:  host = gc.localdomain/192.168.2.100

STARTUP_MSG:  args = [-format]

STARTUP_MSG:  version = 0.20.2

STARTUP_MSG:  build =https://svn.apache.org/repos/asf/hadoop/common/branches/branch-0.20 -r 911707;compiled by ‘chrisdo’ on Fri Feb 19 08:07:34 UTC 2010

************************************************************/

12/10/3108:03:31 INFO namenode.FSNamesystem: fsOwner=grid,hadoop

12/10/3108:03:31 INFO namenode.FSNamesystem: supergroup=supergroup

12/10/3108:03:31 INFO namenode.FSNamesystem: isPermissionEnabled=true

12/10/3108:03:32 INFO common.Storage: Image file of size 94 saved in 0 seconds.

12/10/3108:03:32 INFO common.Storage: Storage directory /tmp/hadoop-grid/dfs/name hasbeen successfully formatted.

12/10/3108:03:32 INFO namenode.NameNode: SHUTDOWN_MSG:

/************************************************************

SHUTDOWN_MSG:Shutting down NameNode at gc.localdomain/192.168.2.100

************************************************************/

 

 

9.        启动 hadoop

– 在 master 节点启动 hadoop 守护进程

[gird@hotel01bin]$ pwd

/home/grid/hadoop-0.20.2/bin

[gird@hotel01bin]$ ./start-all.sh

startingnamenode, logging to /home/grid/hadoop-0.20.2/bin/../logs/hadoop-grid-namenode-gc.localdomain.out

rac2: startingdatanode, logging to /home/grid/hadoop-0.20.2/bin/../logs/hadoop-grid-datanode-rac2.localdomain.out

rac1: startingdatanode, logging to /home/grid/hadoop-0.20.2/bin/../logs/hadoop-grid-datanode-rac1.localdomain.out

The authenticityof host ‘gc (192.168.2.100)’ can’t be established.

RSA keyfingerprint is 8e:47:42:44:bd:e2:28:64:10:40:8e:b5:72:f9:6c:82.

Are you sure youwant to continue connecting (yes/no)? yes

gc: Warning:Permanently added ‘gc,192.168.2.100’ (RSA) to the list of known hosts.

gc: startingsecondarynamenode, logging to /home/grid/hadoop-0.20.2/bin/../logs/hadoop-grid-secondarynamenode-gc.localdomain.out

startingjobtracker, logging to /home/grid/hadoop-0.20.2/bin/../logs/hadoop-grid-jobtracker-gc.localdomain.out

rac2: startingtasktracker, logging to /home/grid/hadoop-0.20.2/bin/../logs/hadoop-grid-tasktracker-rac2.localdomain.out

rac1: startingtasktracker, logging to /home/grid/hadoop-0.20.2/bin/../logs/hadoop-grid-tasktracker-rac1.localdomain.out

 

10.    用 jps 检验各后台进程是否成功启动

– 在 master 节点查看后台进程

[gird@hotel01bin]$ /usr/Java/jdk1.6.0_18/bin/jps

27462 NameNode

29012 Jps

27672 JobTracker

27607SecondaryNameNode

 

– 在 slave 节点查看后台进程

 [grid@rac1 conf]$ /usr/java/jdk1.6.0_18/bin/jps

16722 Jps

16672TaskTracker

16577 DataNode

 

[grid@rac2conf]$ /usr/java/jdk1.6.0_18/bin/jps

31451 DataNode

31547TaskTracker

31608 Jps 

11.    通过 web 了解 Hadoop 的活动

通过用浏览器和 http 访问 jobtracker 所在节点的 50030 端口监控 jobtracker

Jobtracker 监控

http://192.168.2.111:50030/jobtracker.jsp 

通过用浏览器和 http 访问 namenode 所在节点的 50070 端口监控集群

http://192.168.2.111:50070/dfshealth.jsp

更多 Hadoop 相关信息见 Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13

Hadoop 学习笔记之 - 生产环境 Hadoop 大集群配置安装

安装环境

操作平台:vmware2

操作系统:Oracle Enterprise Linux 5.6

软件版本:hadoop-0.22.0,jdk-6u18

集群架构:3+ node,master node(hotel01),slave node(hotel02,hotel03…)

主机名

IP

系统版本

Hadoop node

hadoop 进程名

hotel01

192.168.2.111

OEL5.6

master

namenode,jobtracker

hotel02

192.168.2.112

OEL5.6

slave

datanode,tasktracker

hotel03

192.168.2.113

OEL5.6

slave

datanode,tasktracker

…..

   

说明:目前 hadoop 测试主机只有三台,但在真正的 hadoop 集群生产环境中,可能上百台或是更多主机,所以下面的安装步骤尽可能站在一个大的 hadoop 集群环境角度进行安装,减少在每台服务器的单独操作,因为这样每个操作都可能是一个庞大的工程。

安装步骤

1.        下载 Hadoop 和 jdk:

http://mirror.bit.edu.cn/apache/hadoop/common/

如:hadoop-0.22.0

2.        配置 DNS 解析主机名

说明:在生产的 hadoop 集群环境中,由于服务器可能会有许多台,通过配置 DNS 映射机器名,相比配置 /etc/host 方法,可以避免在每个节点都配置各自的 host 文件,而且在新增节点时也不需要修改每个节点的 /etc/host 的主机名 -IP 映射文件。减少了配置步骤和时间,便于管理。

详细步骤见:

【Hadoop 学习笔记之 -DNS 配置】http://www.linuxidc.com/Linux/2014-02/96519.htm

配置说明:NDS 服务器放在了 hotel01(master)节点上,对 hotel01、hotel02、hotel03 节点的主机名进行解析。

3.        建立 hadoop 运行账号

在所有的节点创建 hadoop 运行账号

[root@gc ~]# groupadd hadoop

[root@gc ~]# useradd -g hadoop grid – 注意此处一定要指定分组,不然可能会不能建立互信

[root@gc ~]# idgrid

uid=501(grid)gid=54326(hadoop) groups=54326(hadoop)

[root@gc ~]# passwd grid

Changingpassword for user grid.

New UNIXpassword:

BAD PASSWORD: itis too short

Retype new UNIXpassword:

passwd: allauthentication tokens updated successfully.

说明:在大的 hadoop 集群安装环境中,这步可以在批量安装 linux 系统之前完成,然后再进行系统的复制。(没有试过,据说可以 ghost 工具软件应该可以实现)

4.        通过 NFS 配置 ssh 免密码连入

说明:通过 NFS 配置 ssh 免密码连入时,当我们有新的节点接入时,不再需要分别向其它节点各自添加自己公钥信息,只需要把公钥信息追加到共享的 authorized_keys 公钥当中,其它节点就直接指向最新的公钥文件。便于分配公钥和管理。

 详细步骤见:

【hadoop 学习笔记之 -NFS 配置】http://www.linuxidc.com/Linux/2014-02/96520.htm

5.        解压 hadoop 安装包

– 可先一某节点解压配置文件

[grid@hotel01 ~]$ ll

总计 43580

-rw-r–r– 1 grid hadoop 445755682012-11-19 hadoop-0.20.2.tar.gz

[grid@hotel01~]$tar xzvf /home/grid/hadoop-0.20.2.tar.gz

[grid@hotel01~]$ ll

总计 43584

drwxr-xr-x 12 grid hadoop    4096 2010-02-19hadoop-0.20.2

-rw-r–r– 1 grid hadoop 44575568 2012-11-19 hadoop-0.20.2.tar.gz

 

– 在各节点安装 jdk

[root@hotel01~]#./jdk-6u18-linux-x64-rpm.bin

 

 

6.        Hadoop 配置有关文件

◆      配置 hadoop-env.sh

[root@gc conf]#pwd

/root/hadoop-0.20.2/conf

– 修改 jdk 安装路径

[root@gc conf]vihadoop-env.sh

export Java_HOME=/usr/java/jdk1.6.0_18

 

◆      配置 namenode,修改 site 文件

– 修改 core-site.xml 文件

[gird@hotel01conf]# vi core-site.xml

<?xmlversion=”1.0″?>

<?xml-stylesheettype=”text/xsl” href=”https://www.linuxidc.com/Linux/2014-02/configuration.xsl”?>

 

<!– Putsite-specific property overrides in this file. –>

 

<configuration>

<property>

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

<value>hdfs://hotel01.licz.com:9000</value> #完全分布式不能用 localhost, 要用 master 节点的 IP 或机器名.

</property>

<property>

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

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

</property>

</configuration>

注:fs.default.nameNameNode 的 IP 地址和端口

 

– 修改 hdfs-site.xml 文件

[grid@hotel01hadoop-0.20.2]$ mkdir data

[gird@hotel01conf]# vi hdfs-site.xml

<?xmlversion=”1.0″?>

<?xml-stylesheettype=”text/xsl” href=”https://www.linuxidc.com/Linux/2014-02/configuration.xsl”?>

 

<!– Putsite-specific property overrides in this file. –>

 

<configuration>

<property>

<name>dfs.data.dir</name>

<value>/home/grid/hadoop-0.20.2/data</value>– 注意此目录必需已经创建并能读写

</property>

<property>

<name>dfs.replication</name>

<value>2</value>

</property>

</configuration>

hdfs-site.xml 文件中常用配置参数:

 

– 修改 mapred-site.xml 文件

[gird@hotel01conf]# vi mapred-site.xml

<?xmlversion=”1.0″?>

<?xml-stylesheettype=”text/xsl” href=”https://www.linuxidc.com/Linux/2014-02/configuration.xsl”?>

 

<!– Putsite-specific property overrides in this file. –>

 

<configuration>

<property>

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

<value>hotel01.licz.com:9001</value>

</property>

</configuration>

 

mapred-site.xml 文件中常用配置参数

 

◆      配置 masters 和 slaves 文件

[gird@hotel01conf]$ vi masters

hotel01.licz.com

 

[gird@hotel01conf]$ vi slaves

hotel02.licz.com

hotel03.licz.com

相关阅读

Ubuntu 13.04 上搭建 Hadoop 环境 http://www.linuxidc.com/Linux/2013-06/86106.htm

Ubuntu 12.10 +Hadoop 1.2.1 版本集群配置 http://www.linuxidc.com/Linux/2013-09/90600.htm

Ubuntu 上搭建 Hadoop 环境(单机模式 + 伪分布模式)http://www.linuxidc.com/Linux/2013-01/77681.htm

Ubuntu 下 Hadoop 环境的配置 http://www.linuxidc.com/Linux/2012-11/74539.htm

单机版搭建 Hadoop 环境图文教程详解 http://www.linuxidc.com/Linux/2012-02/53927.htm

搭建 Hadoop 环境(在 Winodws 环境下用虚拟机虚拟两个 Ubuntu 系统进行搭建)http://www.linuxidc.com/Linux/2011-12/48894.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计11372字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中