使用yum源安装CDH Hadoop集群(3)

注意:DataNode的本地目录可以设置多个,你可以设置 dfs.datanode.failed.volumes.tolerated 参数的值,表示能够容忍不超过该个数的目录失败。

2.3 配置 SecondaryNameNode

配置 SecondaryNameNode 需要在 /etc/hadoop/conf/hdfs-site.xml 中添加以下参数:

dfs.namenode.checkpoint.check.period dfs.namenode.checkpoint.txns dfs.namenode.checkpoint.dir dfs.namenode.checkpoint.edits.dir dfs.namenode.num.checkpoints.retained

在 /etc/hadoop/conf/hdfs-site.xml 中加入如下配置,将cdh2设置为 SecondaryNameNode:

<property> <name>dfs.secondary.http.address</name> <value>cdh2:50090</value> </property>

设置多个secondarynamenode,请参考multi-host-secondarynamenode-configuration.

2.4 开启回收站功能

回收站功能默认是关闭的,建议打开。在 /etc/hadoop/conf/core-site.xml 中添加如下两个参数:

fs.trash.interval,该参数值为时间间隔,单位为分钟,默认为0,表示回收站功能关闭。该值表示回收站中文件保存多长时间,如果服务端配置了该参数,则忽略客户端的配置;如果服务端关闭了该参数,则检查客户端是否有配置该参数;

fs.trash.checkpoint.interval,该参数值为时间间隔,单位为分钟,默认为0。该值表示检查回收站时间间隔,该值要小于fs.trash.interval,该值在服务端配置。如果该值设置为0,则使用 fs.trash.interval 的值。

2.5 (可选)配置DataNode存储的负载均衡

在 /etc/hadoop/conf/hdfs-site.xml 中配置以下三个参数:

dfs.datanode.fsdataset. volume.choosing.policy

dfs.datanode.available-space-volume-choosing-policy.balanced-space-threshold

dfs.datanode.available-space-volume-choosing-policy.balanced-space-preference-fraction

详细说明,请参考 。

2.6 开启WebHDFS

在NameNode节点上安装:

$ yum install hadoop-httpfs -y

然后修改 /etc/hadoop/conf/core-site.xml配置代理用户:

<property> <name>hadoop.proxyuser.httpfs.hosts</name> <value>*</value> </property> <property> <name>hadoop.proxyuser.httpfs.groups</name> <value>*</value> </property>

2.7 配置LZO

下载repo文件到 /etc/yum.repos.d/:

然后,安装lzo:

$ yum install hadoop-lzo* impala-lzo -y

最后,在 /etc/hadoop/conf/core-site.xml 中添加如下配置:

<property> <name>io.compression.codecs</name> <value>org.apache.hadoop.io.compress.DefaultCodec,org.apache.hadoop.io.compress.GzipCodec, org.apache.hadoop.io.compress.BZip2Codec,com.hadoop.compression.lzo.LzoCodec, com.hadoop.compression.lzo.LzopCodec</value> </property> <property> <name>io.compression.codec.lzo.class</name> <value>com.hadoop.compression.lzo.LzoCodec</value> </property>

更多关于LZO信息,请参考:Using LZO Compression

2.8 (可选)配置Snappy

cdh 的 rpm 源中默认已经包含了 snappy ,直接在每个节点安装Snappy:

$ yum install snappy snappy-devel -y

然后,在 core-site.xml 中修改io.compression.codecs的值,添加 org.apache.hadoop.io.compress.SnappyCodec 。

使 snappy 对 hadoop 可用:

$ ln -sf /usr/lib64/libsnappy.so /usr/lib/hadoop/lib/native/

2.9 启动HDFS

将cdh1上的配置文件同步到每一个节点:

$ scp -r /etc/hadoop/conf root@cdh2:/etc/hadoop/ $ scp -r /etc/hadoop/conf root@cdh3:/etc/hadoop/

在cdh1节点格式化NameNode:

$ sudo -u hdfs hadoop namenode -format

在每个节点运行下面命令启动hdfs:

$ for x in `ls /etc/init.d/|grep hadoop-hdfs` ; do service $x start ; done

在 hdfs 运行之后,创建 /tmp 临时目录,并设置权限为 1777:

$ sudo -u hdfs hadoop fs -mkdir /tmp $ sudo -u hdfs hadoop fs -chmod -R 1777 /tmp

如果安装了HttpFS,则启动 HttpFS 服务:

$ service hadoop-httpfs start

2.10 测试

通过 :50070/ 可以访问 NameNode 页面。使用 curl 运行下面命令,可以测试 webhdfs 并查看执行结果:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/db4a7121584d8905dd7ecca24b051cac.html