首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Hadoop装配配置

2013-06-26 
Hadoop安装配置一、初始环境准备1、?安装虚拟机(Vmware8.0)2、?在虚拟机上安装Linux系统(CentOS 6.0)???? 建

Hadoop安装配置

一、初始环境准备
1、?安装虚拟机(Vmware8.0)


2、?在虚拟机上安装Linux系统(CentOS 6.0)
???? 建议安装桌面版,配置服务较完整。安装二台服务器,一台Master,一台Slave。


3、?卸载系统自带的OpenJDK,安装Sun公司的JDK
(1)查看jdk信息

rpm -qa | grep java 

?显示如下信息:
???? java-1.4.2-gcj-compat-1.4.2.0-40jpp.115
??? ?java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5


?(2) 卸载openJDK(根据显示的信息逐一卸载)

  rpm -e --nodeps java-1.4.2-gcj-compat-1.4.2.0-40jpp.115  rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5

?

(3)安装Sun的JDK(取得root权限后执行)

 sudo rpm -ivh /目录/jdk-7-linux-x64.rpm

?

4、?设置环境变量
(1)?# vim /etc/profile
在profile文件下面追加写入下面信息:

export JAVA_HOME=/usr/java/jdk1.7.0export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport PATH=$PATH:$JAVA_HOME/bin

?(2)?保存,并使环境变量设置立即生效。

 source /etc/profile

?

5、?设置IP地址及域名映射
(1)设置IP
修改/etc/sysconfig/network-scripts/ifcfg-eth0,内容如下:

DEVICE=eth0BOOTPROTO=staticIPADDR=192.168.1.10NETMASK=255.255.255.0BROADCAST=255.255.255.255HWADDR=00:0C:29:A9:70:C3TYPE=EthernetONBOOT=yesNETWORK=192.168.1.1

?注:BOOTPROTO=dhcp则为自动获取,可添加到最后一行,则设置的IP地址无效,以自动获取的IP地址为准,自动获取的IP地址根据虚拟网卡而固定IP,系统重启不会变化,可避免虚拟机上不了网问题。
(2)添加host映射
? 编辑/etc/hosts 文件,注意host name不要有下划线

192.168.1.2  master192.168.1.3  slave1

?(3)重启网络服务

service  network  restart

?

二、SSH无密码登录设置


1、修改ssdh配置文件
用root用户修改/etc/ssh/sshd_config文件(客户端、服务器都需要更改)将:

#AuthorizedKeysFile      .ssh/authorized_keys

?这一行前面的#号去掉即,启用:

AuthorizedKeysFile      .ssh/authorized_keys

?(如果需要root也能ssh登录,把“#PermitRootLogin yes”前面的#号也去掉)
同样在root用户下,使用:

/etc/rc.d/init.d/sshd  restart

?重启sshd服务使之生效。
以上设置不是必须的,可能sshd的默认配置已经是上述这样配置了,此时就不需要再修改了。


2、客户端的设置
切换到需要ssh登录的用户下,执行命令产生公私钥对:

 ssh-keygen  -t  rsa

?根据提示默认保存钥匙文件路径和默认空密码。
公私钥产生在此用户目录下的.ssh子目录中,其中id_rsa为私钥,id_rsa.pub为公钥


3、服务端的设置
将客户端账户的公钥传到服务端中

  scp root@192.168.1.2:/root/.ssh/id_rsa.pub /root/

?将id_rsa.pub中的内容添加到authorized_keys文件中, authorized_keys文件名需与sshd_config中的设置相符

 cat /root/id_rsa.pub >> /root/.ssh/authorized_keys

?

4、 验证

ssh  服务端主机名或IP

?无须再输入密码短语。
如果要客户端与服务端都要互相无密码登录,则服务端要按照客户端的设置的方法进行设置,
而客户端要按照服务端的设置的方法进行设置。

?

三、安装Hadoop


1、下载hadoop
下载地址:http://hadoop.apache.org/common/releases.html
(1)用root用户登录服务器,将下载的“hadoop-0.20.2.tar.gz”复制到"/usr/local"目录下面。
(2)用下面命令把" hadoop-0.20.2.tar.gz "进行解压,并将其命名为"hadoop"

 tar –zxvf hadoop-0.20.2.tar.gz mv hadoop-0.20.2 hadoop

?(3) 如果是普通用户访问hadoop文件夹,需授权访问,root用户不用。例:

chown –R hadoop:hadoop hadoop

?将文件夹"hadoop"读权限分配给hadoop用户


2、在Hadoop目录下创建临时文件夹,并在后面配置文件中指定路径

mkdir /usr/local/hadoop/tmp

?

3、配置Hadoop相关文件


(1)配置hadoop环境变量
修改"/etc/profile"文件(配置java环境变量的文件),将以下语句添加到末尾,并使其有效:

# set hadoop pathexport HADOOP_HOME=/usr/local/hadoopexport PATH=$PATH :$HADOOP_HOME/bin

?使环境变量生效

 source /etc/profile

?

?(2)配置hadoop-env.sh
该"hadoop-env.sh"文件位于"/usr/local/hadoop/conf"目录下, 在文件的末尾添加下面内容:

# set java environmentexport JAVA_HOME=/usr/java/jdk1.6.0_31

?

(3)配置core-site.xml文件
 修改Hadoop核心配置文件core-site.xml,这里配置的是HDFS的地址和端口号。

<configuration><property><name>hadoop.tmp.dir</name><value>/usr/hadoop/tmp</value>(备注:请先在 /usr/hadoop 目录下建立 tmp 文件夹)<description>A base for other temporary directories.</description></property><!-- file system properties --><property><name>fs.default.name</name><value>hdfs://192.168.1.2:9000</value></property></configuration>

?备注:如没有配置hadoop.tmp.dir参数,此时系统默认的临时目录为:/tmp/hadoo-hadoop。而这个目录在每次重启后都会被干掉,必须重新执行format才行,否则会出错。

?

(4)配置hdfs-site.xml文件
  修改Hadoop中HDFS的配置,配置的备份方式默认为3。

<configuration><property><name>dfs.replication</name><value>1</value>(备注:replication 是数据副本数量,默认为3,salve少于3台就会报错)</property><configuration>

?

?(5)配置mapred-site.xml文件
  修改Hadoop中MapReduce的配置文件,配置的是JobTracker的地址和端口。

<configuration><property><name>mapred.job.tracker</name><value>http://192.168.1.2:9001</value></property></configuration>

?

(6)配置masters文件
去掉"localhost",加入Master机器的IP:192.168.1.2


(7)配置slaves文件(Master主机特有)
去掉"localhost",加入集群中所有Slave机器的IP,也是每行一个。
例如:添加形式如下
192.168.1.3
192.168.1.4

现在在Master机器上的Hadoop配置就结束了,剩下的就是配置Slave机器上的Hadoop

?

4、将配置好的Hadoop目录拷贝到其它slave机器
将 Master上配置好的hadoop所在文件夹"/usr/local/hadoop"复制到所有的Slave的"/usr/local"目录下(实际上Slave机器上的slavers文件是不必要的, 复制了也没问题), 接着在slave机器上修改"/etc/profile"文件(配置 java 环境变量的文件),将以下语句添加到末尾,并使其有效(source/etc/profile):

# set hadoop environmentexport HADOOP_HOME=/usr/local/hadoopexport PATH=$PATH :$HADOOP_HOME/bin

?

5、 启动及验证
(1) 格式化HDFS文件系统

 hadoop namenode –format

?备注:只需一次,下次启动不再需要格式化,只需 start-all.sh


(2)启动hadoop
在启动前关闭集群中所有机器的防火墙,不然会出现datanode开后又自动关闭。

 service iptables stop

?启动hadoop

 start-all.sh

?

(3)验证hadoop
(a) 在Master和slave机器上用 java自带的小工具jps查看进程。

 jps

?(b) 网页查看集群
访问"http:192.168.1.2:50030"
访问"http:192.168.1.2:50070"

?

热点排行