博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
FreeBSD下安装配置Hadoop集群(三)
阅读量:5922 次
发布时间:2019-06-19

本文共 5600 字,大约阅读时间需要 18 分钟。

先给自己做个广告:
开源Hive管理工具phpHiveAdmin今日更新0.05 beta2
ChangeLog:
1. sql查询页全部重写,复杂查询现在可以用异步非阻塞的方式实时的查看map/reduce进度,简单的带limit查询,仍然采用thrift方式。
2. 改变查询结果获取方式,为防止大数据导致的php内存溢出,非limit结果的数据集将直接下载,仅提供30条预览,全部数据可通过下载链接获取。
3. 需下载数据,必须保证phpHiveAdmin/tmp目录的权限正确
访问
获取更多详细信息。
#-----------------------------------------------------
上次说的NameNode的配置方法,在说Datanode的配置方法之前,我们先回到Namenode集群。
你需要为namenode配置一个主机名,这个是必须的,hadoop集群优先查找/etc/hosts文件进行匹配。所以现在我们给namenode一个主机名
namenode01 192.168.1.2
保存到/etc/hosts文件中
然后打开Namenode $HADOOP_HOME/conf/masters文件,写入hadoopmaster-177.tj
打开$HADOOP_HOME/conf/slaves文件,写入你的datanode主机名,每行一个。
保存退出,当然相应的hdfs-site.xml,mapred-site.xml,core-site.xml中相应的主机名也要一并修改。
下面是DataNode的配置方式
#--------------------------------------------------------------
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
>fs.default.name
</
name
>
        
<
value
>hdfs://hadoopmaster-177.tj:9000
</
value
>
<!--hadoop namenode地址和hdfs端口-->
    
</
property
>
    
<
property
>
        
<
name
>fs.checkpoint.dir
</
name
>
        
<
value
>/opt/data/hadoop1/hdfs/namesecondary1,/opt/data/hadoop2/hdfs/namesecondary2
</
value
>
<!--检查点存储路径-->
    
</
property
>
    
<
property
>
        
<
name
>fs.checkpoint.period
</
name
>
        
<
value
>1800
</
value
>
    
</
property
>
    
<
property
>
        
<
name
>fs.checkpoint.size
</
name
>
        
<
value
>33554432
</
value
>
    
</
property
>
    
<
property
>
        
<
name
>io.compression.codecs
</
name
>
        
<
value
>org.apache.hadoop.io.compress.DefaultCodec,com.hadoop.compression.lzo.LzoCodec,com.hadoop.compression.lzo.LzopCodec,org.apache.hadoop.io.compress.GzipCodec,org.apache
.hadoop.io.compress.BZip2Codec
</
value
>
<!--数据采用压缩存储-->
    
</
property
>
    
<
property
>
        
<
name
>io.compression.codec.lzo.class
</
name
>
        
<
value
>com.hadoop.compression.lzo.LzoCodec
</
value
>
<!--压缩采用lzo方式-->
    
</
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.name.dir
</
name
>
        
<
value
>/opt/data/hadoop/hdfs/name
</
value
>
        
<
description
>    
</
description
>
    
</
property
>
    
<
property
>
        
<
name
>dfs.data.dir
</
name
>
        
<
value
>/opt/data/hadoop/hdfs/data,/opt/data/hadoop1/hdfs/data,/opt/data/hadoop2/hdfs/data,/opt/data/hadoop3/hdfs/data,/opt/data/hadoop4/hdfs/data
</
value
>
<!--定义数据存储所使用的硬盘,重要-->
        
<
description
>
</
description
>
    
</
property
>
    
<
property
>
        
<
name
>dfs.http.address
</
name
>
        
<
value
>hadoopmaster-177.tj:50070
</
value
>
    
</
property
>
    
<
property
>
        
<
name
>dfs.secondary.http.address
</
name
>
        
<
value
>hadoopslave-189.tj:50090
</
value
>
    
</
property
>
    
<
property
>
        
<
name
>dfs.replication
</
name
>
        
<
value
>3
</
value
>
<!--数据保存3份-->
    
</
property
>
    
<
property
>
        
<
name
>dfs.datanode.du.reserved
</
name
>
        
<
value
>1073741824
</
value
>
    
</
property
>
    
<
property
>
        
<
name
>dfs.block.size
</
name
>
        
<
value
>134217728
</
value
>
<!--数据块大小128M-->
    
</
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
>hadoopmaster-177.tj:9001
</
value
>
    
</
property
>
    
<
property
>
        
<
name
>mapred.local.dir
</
name
>
        
<
value
>/opt/data/hadoop/mapred/mrlocal,/opt/data/hadoop1/mapred/mrlocal,/opt/data/hadoop2/mapred/mrlocal,/opt/data/hadoop3/mapred/mrlocal,/opt/data/hadoop4/mapred/mrlocal</v
alue>
        
<
final
>true
</
final
>
    
</
property
>
    
<
property
>
        
<
name
>mapred.system.dir
</
name
>
        
<
value
>/opt/data/hadoop1/mapred/mrsystem
</
value
>
        
<
final
>true
</
final
>
    
</
property
>
    
<
property
>
        
<
name
>mapred.tasktracker.map.tasks.maximum
</
name
>
        
<
value
>12
</
value
>
<!--定义该datanode的map槽位-->
        
<
final
>true
</
final
>
    
</
property
>
    
<
property
>
        
<
name
>mapred.tasktracker.reduce.tasks.maximum
</
name
>
        
<
value
>4
</
value
>
<!--定义该datanode的reduce槽位-->
        
<
final
>true
</
final
>
    
</
property
>
    
<
property
>
        
<
name
>mapred.map.child.java.opts
</
name
>
        
<
value
>-Xmx1224M
</
value
>
<!--map的java虚拟机的内存占用-->
    
</
property
>
    
<
property
>
        
<
name
>mapred.reduce.child.java.opts
</
name
>
        
<
value
>-Xmx2048M
</
value
>
<!--reduce的虚拟机内存占用-->
    
</
property
>
    
<
property
>
        
<
name
>mapred.reduce.parallel.copies
</
name
>
        
<
value
>10
</
value
>
    
</
property
>
    
<
property
>
        
<
name
>io.sort.factor
</
name
>
        
<
value
>100
</
value
>
    
</
property
>
    
<
property
>
        
<
name
>mapred.job.reduce.input.buffer.percent
</
name
>
        
<
value
>0.3
</
value
>
    
</
property
>
    
<
property
>
        
<
name
>mapred.compress.map.output
</
name
>
        
<
value
>true
</
value
>
<!--使用压缩格式输出map结果-->
    
</
property
>
    
<
property
>
        
<
name
>mapred.map.output.compression.codec
</
name
>
        
<
value
>com.hadoop.compression.lzo.LzoCodec
</
value
>
<!--压缩所采用的格式-->
    
</
property
>
    
<
property
>
        
<
name
>mapred.child.java.opts
</
name
>
        
<
value
>-Djava.library.path=/opt/hadoopgpl/native/Linux-amd64-64
</
value
>
<!--压缩输出的保证,hadoopgpl,超重要-->
    
</
property
>
    
<
property
>
        
<
name
>io.sort.mb
</
name
>
        
<
value
>600
</
value
>
    
</
property
>
    
<
property
>
        
<
name
>fs.inmemory.size.mb
</
name
>
        
<
value
>500
</
value
>
    
</
property
>
</
configuration
>
然后需要在Datanode的/etc/hosts文件里写上自身和NameNode的主机名与IP
例如:
namenode01 192.168.1.2
datanode01 192.168.1.10
你每添加一台datanode,都需要在每台服务器的/etc/hosts文件中添加该服务器的主机名和地址。这算是hadoop不太方便的一点。当然,masters和slaves文件里也要写上。
Datanode的配置就结束了。下次说下namenode的备份,也就是secodary的配置。namenode也是可以热备份以防止单点故障的。这就是为什么我的datanode01的IP是从192.168.1.10开始的
如果你对这个系列有任何疑问或不解,或者配置失败,请到暴风影音创建的easyhadoop群里提问。QQ群号是
93086930

转载地址:http://wqnvx.baihongyu.com/

你可能感兴趣的文章
swoole多端口监听
查看>>
生成三维模型
查看>>
Java8新特性之一:Lambda表达式
查看>>
更新github上代码
查看>>
---Mock---基本使用
查看>>
angular ng-class使用笔记
查看>>
ubuntu-16.04更好软件源
查看>>
Git 标签
查看>>
Nginx网络负载均衡,负载均衡,网络负载,网络均衡
查看>>
第三周工作总结
查看>>
PreferenceActivity的使用
查看>>
前端开发-CSS语法标准
查看>>
Gartner指明2014年几大战略技术趋势
查看>>
PIC914 LCDCON液晶控制寄存器用法
查看>>
转载 .NET Core Api集成swagger
查看>>
Android推送
查看>>
学习css中得与惑
查看>>
Scala 中的foreach和map方法比较
查看>>
Sprint计划会议
查看>>
Win10文件管理器那些你不知道的秘密
查看>>