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.0
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar
				:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

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

source /etc/profile

 

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

DEVICE=eth0
BOOTPROTO=static
IPADDR=192.168.1.10
NETMASK=255.255.255.0
BROADCAST=255.255.255.255
HWADDR=00:0C:29:A9:70:C3
TYPE=Ethernet
ONBOOT=yes
NETWORK=192.168.1.1

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

192.168.1.2  master
192.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 [email protected]:/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 path
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH :$HADOOP_HOME/bin

 使环境变量生效

source /etc/profile

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

# set java environment
export 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 environment
export HADOOP_HOME=/usr/local/hadoop
export 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"

相关推荐