ubuntu下hadoop集群配置

没有进行单点配置的同学,请参考的的上一篇博客hadoop单点配置

1、域名映射
  编辑/etc/hosts 文件,注意host name不要有下划线

192.168.0.128  master 
192.168.0.129  slave1  

 重启网络服务
service  network  restart  
ubuntu下:/etc/init.d/networking restart
  2、 验证

     ssh  服务端主机名或IP  

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

设置方法参考下面:

拷贝本地生产的key到远程服务器端
$cat ~/.ssh/id_dsa.pub | ssh 远程用户名@远程服务器ip 'cat - >> ~/.ssh/authorized_keys'

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

      mkdir /usr/local/hadoop/tmp  

4、修改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)配置core-site.xml文件
 修改Hadoop核心配置文件core-site.xml,这里配置的是HDFS的地址和端口号。

Xml代码  
  1. <configuration>  
  2. <property>  
  3. <name>hadoop.tmp.dir</name>  
  4. <value>/usr/hadoop/tmp</value>  
  5. (备注:请先在 /usr/hadoop 目录下建立 tmp 文件夹)  
  6. <description>A base for other temporary directories.</description>  
  7. </property>  
  8. <!-- file system properties -->  
  9. <property>  
  10. <name>fs.default.name</name>  
  11. <value>hdfs://localhost:9000</value>  
  12. </property>  
  13. </configuration>  

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

 

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

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

 

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

  1. <property>  
  2. <name>mapred.job.tracker</name>  
  3. <value>http://192.168.0.129:9001</value>  
  4. </property>  
  5. </configuration>  

 

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


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

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

 

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

Properties代码  
  1. # set hadoop environment  
  2. export HADOOP_HOME=/usr/local/hadoop  
  3. export PATH=$PATH :$HADOOP_HOME/bin  

 

5、 启动及验证
(1)启动hadoop

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

service iptables stop  
ubuntu下执行:sudo ufw disable

 启动hadoop  

start-all.sh

(2)验证hadoop

 在Master和slave机器上用 java自带的小工具jps查看进程。

jps  
结果如下:
10749 DataNode
11058 JobTracker
11430 Jps
10518 NameNode
10973 SecondaryNameNode
11302 TaskTracker

(b) 网页查看集群

访问http://192.168.0.128:50030
访问http://192.168.0.128:50070

如果出现错误,请先清空logs,然后重启hadoop,查看log

另附hadoop/conf下核心配置文件内容:

core-site.xml

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>
     <property>  
	<name>hadoop.tmp.dir</name>  
	<value>/opt/hadoop/tmp</value>  	
	<description>(备注:请先在 /opt/hadoop 目录下建立 tmp 文件夹)</description>  
     </property>  
     <property>
         <name>fs.default.name</name>
         <value>hdfs://localhost:9000</value>
         <description>其中fs.default.name 为hdfs地址</description>
     </property>
</configuration>
hdfs-site.xml

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->
<configuration>
     <property>
         <name>dfs.replication</name>
         <value>1</value>
     </property>
</configuration>

mapred-site.xml

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值