企业级hadoop安装

来源:互联网 发布:mysql 联合唯一键用法 编辑:程序博客网 时间:2024/06/05 16:14
实验环境
h1 192.168.1.119 dns、nfs、master
h2 192.168.1.117 slave
h3 192.168.1.118 slave

一、配置dns服务器h1
1、关闭防火墙:

chkconfig iptables off

service iptables stop

2、现在使用yum安装bind 和 bind-chroot 软件包
yum -y install bind bind-chroot


3、yum install bind*还有三个包需要安装
yum install bind*


4、修改named.conf文件,将标红出修改为any
将listen-on port 53 { 127.0 .0.1;};  更改为any  意思是允许任何IP地址监听。
将allow-query { localhost; }设置为any; 意思是允许所有人查询。
vim /etc/named.conf 


5、修改named.rfc1912.zones文件,配置正向反向配置文件。添加以下信息,屏蔽其他信息。
vim /etc/named.rfc1912.zones

zone "dustin.org" IN {

        type master;

        file "dustin.org.zone";       

        allow-update { none; };

};

zone "1.168.192.in-addr.arpa" IN {

        type master;

        file "1.168.192.in-addr.zone";      

        allow-update { none; };

};

6、创建dustin.org.zone和1.168.192.in-addr.zon 文件

cd /var/named

cp -p named.localhost dustin.org.zone

cp -p named.localhost 1.168.192.in-addr.zone

7、添加正向文件并且配置
vim dustin.org.zone

$TTL 86400

@    IN    SOA  h1.dustin.org. chizk.www.dustin.org. (

     0 ; serial (d. adams)

     1D ; refresh

     1H ; retry

     1W ; expiry

     3H ) ; minimum

@    IN    NS  h1.dustin.org.

h1.dustin.org. IN A 192.168.1.119

h2.dustin.org. IN A 192.168.1.117

h3.dustin.org. IN A 192.168.1.118

8、添加反向文件并且配置

vim 1.168.192.in-addr.zone

$TTL 86400

@    IN    SOA  h1.dustin.org. chizk.www.dustin.org. (

     0 ; serial (d. adams)

     1D ; refresh

     1H ; retry

     1W ; expiry

     3H ) ; minimum

@    IN    NS  h1.dustin.org.

119 IN PTR h1.dustin.org.

117 IN PTR h2.dustin.org.

118 IN PTR h3.dustin.org.

9、 修改正向文件和反向文件属组,使用chgrp即可

chgrp named dustin.org.zone

10、修改/etc/resolv.conf文件,并将其他nameserver进行屏蔽

vim /etc/resolv.conf

nameserver 192.168.1.119

11、启动dns

service named start

12、测试

nslookup h1.dustin.org


13、操作h2

14、 修改/etc/resolv.conf文件,并将其他nameserver进行屏蔽

vim /etc/resolv.conf

nameserver 192.168.1.119

15、测试h2


16、操作h3

17、修改/etc/resolv.conf文件,并将其他nameserver进行屏蔽

vim /etc/resolv.conf

nameserver 192.168.1.119

18、测试h3


二、通过nfs实现ssh免密码登录

1、安装nfs

yum install nfs-utils rpcbind


3、我们查看一下NFS服务和rpcbind服务是否启动

service nfs status


service rpcbind status


4、启动服务

service rpcbind start

service nfs start

chkconfig rpcbind on

chkconfig nfs on

5、配置/etc/exports

vi /etc/exports

/home/grid *(sync,rw)

6、重启:

service rpcbind restart

service nfs restart

7、输出本地挂载点(即master上的共享目录)

showmount -e localhost


8、登录h2

9、安装nfs

yum install nfs-utils


10、创建挂载点并挂载nfs共享文件到本地

mkdir /nfs_share

mount -t nfs 192.168.1.119:/home/grid /nfs_share

11、测试,在h1上创建文件,在h2上查看:

h1:


h2:

12、证明nfs配置成功

13、配置ssh免密码登录

创建用户,执行

ssh-keygen -t rsa -f ~/.ssh/id_rsa

cp id_rsa.pub authorized_keys

14、登录h2

ssh-keygen -t rsa -f ~/.ssh/id_rsa

ln -s /nfs_share/.ssh/authorized_keys ~/.ssh/authorized_keys

cat id_rsa.pub >> authorized_keys

15、测试h2和h1的免密码登录

h2免密码登录h1:


h1免密码登录h2:发现无法免密码登录,修改了/etc/ssh/sshd_config,将StrictModes改为no就可以了


16、同样的免密码操作h3

这样免密码操作就完成了。一定要注意文件权限

/home/grid 700

/home/grid/.ssh 700

/home/grid/.ssh/authorized_keys 644

三、安装jdk,并配置环境变量

vim /etc/profile

添加以下内容:

JAVA_HOME=/usr/local/jdk1.6.0_31

PATH=$JAVA_HOME/bin:$PATH

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

export JAVA_HOME

export PATH

export CLASSPATH

执行加载环境变量:

source /etc/profile 

测试环境变量是否配置成功


四、部署hadoop
1、将文件解压到家目录中,并修改hadoop-1.2.1的文件夹名字
 tar -zxvf hadoop-1.2.1-bin.tar.gz 

修改hadoop-1.2.1文件夹的名字:
mv hadoop-1.2.1 hadoop


2、配置hadoop-env.sh,将java环境变量配置到Java_HOME上(hadoop权威指南269页)
[grid@h1 conf]$ vi hadoop-env.sh 


3、修改core-site.xml,添加名称节点真实的ip:注意使用DNS中解析的地址
vi core-site.xml
如果是伪分布式,hadoop-m改为localhost{
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://h1.dustin.org:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/grid/hadoop/tmp</value>
<description>A base for other temporary directories</description>
</property>
</configuration>
}
4、配置hdfs-site.xml 配置数据块存放位置和复制的个数:
[grid@h1 conf]$ vi hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
</configuration>
5、配置mapred-site.xml 作业跟踪器:
[grid@h1 conf]$ vi mapred-site.xml
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>h1.dustin.org:9001</value>
</property>
</configuration>
6、配置master:


7、配置slave:
[grid@h1 conf]$ vi slaves


8、制作批量复制脚本并复制hadoop到slave节点中:

9、格式化:
[grid@h1 hadoop]$ bin/hadoop namenode -format

10、启动hadoop:
[grid@h1 hadoop]$ bin/start-all.sh
11、检查各节点的启动情况:
h1:

h2:在用jps进行检查进程时,发现没有Datanode和TaskTracker进程
检查日志发现报错:
2014-01-01 18:47:39,369 ERROR org.apache.hadoop.metrics2.impl.MetricsSystemImpl: Error getting localhost name. Using 'localhost'...
java.net.UnknownHostException: h2: h2
经核实是没有修改vim /etc/hosts,将主机名修改为h2在启动:

检查:

h3:按照上述修改,使用jps检查:

至此,企业级hadoop集群就都已经完成。


0 0
原创粉丝点击