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

002如何构建hadoop集群环境?

2016-04-26 23:15 399 查看
待我君临天下,结发与蕊可好。@夏瑾墨

实验室机器配置情况:

3台PowerEdge R730 Server

1台PowerEdge R410 Server

1台kvm

1台交换机

我们打算配置三个节点规模的集群,所以我们计划集群有1一个namenode

背景知识:本篇文章介绍如何在一个计算机集群上构建Hadoop系统。hadoop的主体用java语言写成,能够在任意一个安装了jvm(Java Virtual Machine)(Java虚拟机)的平台上运行。

第一部分:系统准备篇

集群规范:

1. 给服务器装linux系统:统一安装版本centos 6.5 64bits

2. 安装java环境:

查看系统安装的java版本:rpm -qa|grep jdk

rpm -qa | grep java

rpm -e –nodeps java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64

yum -y remove java-1.6.0-openjdk-1.6.0.0-1.45.1.11.1.el6.i686 或者

rpm -e –nodeps java-1.6.0-openjdk-1.6.0.0-1.45.1.11.1.el6.i686

修改环境变量:vim /etc/profile,增加如下内容:

export JAVA_HOME=/usr/java/jdk1.8.0_25

export CLASSPATH=.:JAVAHOME/jre/lib/rt.jar:JAVA_HOME/lib/dt.jar:

JAVAHOME/lib/tools.jarexportPATH=PATH:$JAVA_HOME/bin

使用java -version 查看java是否安装正确

安装java 输入指令:java -version 检查java是否被正确安装

[root@hadoop-02 ~]# java -version
java version "1.7.0_80"
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)


3.SSH配置实现免密码登录节点

(关键是把datanode的authorized_keys追加到namenode的authorized_keys中)

hadoop控制脚本依赖ssh来执行针对整个集群的操作,因此为了支持无缝工作,建议安装ssh。安装完毕以后,就能够使得hadoop集群节点之间无需键入密码即可登录集群内的机器,进行集群配置,主要有以下几步:

a) 在控制台运行ps –e | grep ssh,如果看到sshd则表示ssh-server已经启动了,跳过b),直接到c)进行操作;否则,进行b)操作;

b) 运行sudo apt-get install openssh-server(服务器)、

sudo apt-get install openssh-client(客户端),进行安装。命令执行结束后,可以使用a)方法进行验证; c)生成RSA公私钥,实现节点之间无密码访问(使得集群的安装环境尽可能一致,可以减少很多配置步骤,因此我们都在root权限下面进行配置): I) 在master上使用root权限登陆系统,并进入/root/.ssh

目录,运行命令ssh-keygen –t rsa,敲回车到底(为操作方便我们选择不要密码),生成id_rsa,id_rsa.pub; II) master使用scp命令将公钥远程复制到salve1和slave2:

复制到slave1:scp -r id_rsa.pub root@slave1:/root/.ssh

复制到slave2:scp -r id_rsa.pub root@slave2:/root/.ssh III) 在slave1和slave2下,将master

传过来的公钥添加到 authorized_keys:

cat id_rsa.pub >> authorized_keys IV) 至此,master到slave1和slave2即实现了无密码登陆

第二部分:安装CDH(Cloudera Distribution Hadoop)管理端

背景知识:

1.Cloudera的CDH和Apache的Hadoop的区别

Hadoop遵从Apache开源协议,用户可以免费地任意使用和修改Hadoop,也正因此,市面上出现了很多Hadoop版本,其中比较出名的一是Cloudera公司的发行版,我们将该版本称为CDH(Cloudera Distribution Hadoop)。

2.CDH支持Yum/Apt包,Tar包,RPM包,Cloudera Manager四种方式安装,Apache hadoop只支持Tar包安装

3.CDH使用推荐的Yum/Apt包安装时,有以下几个好处:

a、联网安装、升级,非常方便 2、自动下载依赖软件包

b、Hadoop生态系统包自动匹配,不需要你寻找与当前Hadoop匹配的Hbase,Flume,Hive等软件,Yum/Apt会根据当前安装Hadoop版本自动寻找匹配版本的软件包,并保证兼容性。

c、自动创建相关目录并软链到合适的地方(如conf和logs等目录);自动创建hdfs, mapred用户,hdfs用户是HDFS的最高权限用户,mapred用户则负责mapreduce执行过程中相关目录的权限

1.检查是否存在httpd服务:service httpd status

2.yum install httpd

1、通过yum源安装以httpd开头的命名的软件包

2、yum install 代表使用yum 源安装,前提需要配置好yum源;

是通配符,这里代表“所有”的意思,httpd就是以httpd开头的,例如httpd-devel、httpd-tools等都会被按装。如果想知道这条命令会按装哪些包,可以用yum search httpd*看下。

3.httpd常用命令如下,供参考:

启动命令:service httpd start

关闭命令:service httpd stop

重启命令:service httpd restart

查看状态:service httpd status

4.下载cm5.2.0-centos6.tar.gz的地址: http://archive-primary.cloudera.com/cm5/repo-as-tarball/5.2.0/

Cd /home/soft/cloudera (cm5.2.0-centos6.tar.gz存储的目录)

解压:tar -zxvf cm5.2.0-centos6.tar.gz

cd /var/www/html ,创建相关目录:mkdir -p cm5/redhat/6/x86_64

cd cm5/redhat/6/x86_64

mv /home/soft/cloudera/cm .

chmod -R ugo+rX cm

访问http:///cm5/redhat/6/x86_64/cm/,测试文件索引页面是否正常,如果页面空白或者为You don’t have permission to access,请检查准备工作中的防火墙和selinux是否关闭

5.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  hadoop集群