您的位置:首页 > 运维架构

Hadoop集群环境部署

2013-03-01 16:21 676 查看
Hadoop 压缩/解压插件 lzo安装说明

1、所需软件

apache-ant-1.8.0-bin.tarant编译工具,必须大于1.7版本,否则有些属性不支持

kevinweil-Hadoop-lzo-23e8370.tar用来编译hadoop-lzo-0.4.13.jar文件

Hadoop-gpl-compression-0.1.0-rc0.tar.gz 上面的替代方案,经测试此方案更佳,建议使用

lzo-2.04.tar lzo动态库编译

lzop-1.03.tar lzo客户端工具,用来压缩解压生成.lzo文件,供测试

2、安装ant工具

apache官方网站下载1.7以上版本

解压之后放入/usr/local/apache-ant-1.8.0

ANT_HOME=/usr/local/apache-ant-1.8.0

PATH=$PATH:$ANT_HOME/bin

source /etc/profile

3、编译安装lzo库【集群中得每台机器都需要安装,应该复制库文件就可以】 在安装过程中遇到很多异常错误,所以建议每台机器上编译安装

wget http://www.oberhumer.com/opensource/lzo/download/lzo-2.04.tar.gz

tar -zxvf lzo-2.04.tar.gz

./configure --enable-shared

make

make install

库文件默认安装到/usr/local/lib目录下

需要进行一下操作中的任意一项:

a、拷贝/usr/local/lib目录下得lzo库到/usr/lib【/usr/lib64】根据系统决定

b、在/etc/ld.so.conf.d/目录下面新建lzo.conf文件,写入库文件的路径,然后运行/sbin/ldconfig -v 使配置生效

4、安装编码解码器
https://github.com/kevinweil/Hadoop-lzo上下载最新版本源码 目前为kevinweil-hadoop-lzo-23e8370.tar.gz

tar -zxvf kevinweil-Hadoop-lzo-2ad6654.tar.gz

cd kevinweil-Hadoop-lzo-2ad6654

ant compile-native tar

如果操作正确会生产相应的jar文件Hadoop-lzo-0.4.13.jar用来部署到集群中

该步骤有几点注意:

a、如果遇到以下异常

/usr/bin/build-classpath: error: Could not find xml-commons-apis Java extension for this JVM

/usr/bin/build-classpath: error: Some specified jars were not found

  实为依赖插件没有正确安装,可以通过以下命令安装

  yum -y remove  xml-commons-apis

  yum -y install xml-commons-apis

b、Class org.apache.tools.ant.taskdefs.ConditionTask doesn't support the nested "typefound" element.

  原因:ant版本较低,升级到1.7.0以上版本  ant -version查看版本

  如果升级完成,环境变量也设置过还是出现以上异常 尝试绝对路径运行ant

  如:/usr/local/apache-ant-1.8.0/bin/ant compile-native tar

 

如果以上过程遇到错误,如下方案可行:

下载:http://code.google.com/a/apache-extras.org/p/Hadoop-gpl-compression/downloads/list

本文下载:Hadoop-gpl-compression-0.1.0-rc0.tar.gz

按以上编译过程编译,如果运行正确,会生成Hadoop-gpl-compression-0.1.0.jar

【注:】此jar包适合非cdh3版本的Hadoop,因为cdh3修改了hadoop源码中得compression类,所以如果您是cdh用户的话参照最后一步

5、拷贝编码解码器和native库到Hadoop集群中

cp build/Hadoop-lzo-0.4.10.jar /usr/local/cdh3u0/hadoop-0.20.2-CDH3B4/lib/

tar -cBf - -C build/native . | tar -xBvf - -C /usr/local/cdh3u0/Hadoop-0.20.2-CDH3B4/lib/native

网上有文档说直接cp也可以

cd kevinweil-Hadoop-lzo-2ad6654/build/native/Linux-amd64-64/lib

cp * $Hadoop_HOME/lib/native/Linux-amd64-64

cp * $HBASE_HOME/lib/native/Linux-amd64-64

6、配置Hadoop集群配置文件 core-site.xml,mapred-site.xml

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.LzopCodec</value>

</property>

<property> 

<name>io.compression.codec.lzo.class</name> 

<value>com.Hadoop.compression.lzo.LzoCodec</value>

</property> 

mapred-site.xml

<property> 

<name>mapred.map.output.compress</name> 

<value>true</value> 

</property>

 

<property> 

<name>mapred.child.env</name> 

<value>JAVA_LIBRARY_PATH=/usr/local/cdh3u0/Hadoop-0.20.2-cdh3u1/lib/native/Linux-amd64-64</value> 

</property>

 

<property> 

<name>mapred.map.output.compress.codec</name> 

<value>com.Hadoop.compression.lzo.LzoCodec</value>

</property>

7、lzo文件生成工具安装 用于生成一些lzo压缩文件,供测试

wget http://www.lzop.org/download/lzop-1.03.tar.gz 

tar -zxvf lzop-1.03 

cd lzop-1.03 

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib 

./configure 

make && make install

安装成功之后运行:

lzop -U -9 lzo-test.txt  将.txt文件压缩成.lzo文件

Hadoop fs -copyFromLocal /home/hadoop/likl/lzo-test.txt.lzolzo-test-in

【至关重要的一步】
http://code.google.com/p/Hadoop-gpl-compression/下载lzo相关的native库(hadoop-gpl-compression-0.1.0-rc0.tar.gz)

解包,里面根目录有Hadoop-gpl-compression-0.1.0.jar,lib目录下有相应的native库,

将Hadoop-gpl-compression-0.1.0.jar拷贝到 hadoop的lib目录

将lib/native目录下面的库拷贝至Hadoop/lib/native下面

********如果Hadoop用的是cdh3版本,cloudora改写了compression类,所以需要在以上基础上修改源码进行重新编译

添加如下代码段:

import org.apache.Hadoop.conf.Configuration;

public void reinit(Configuration conf) {

// do nothing 

}

ant重新编译后 将生成Hadoop-gpl-compression-0.1.0-dev.jar拷贝至/hadoop/lib目下替换以前的包

【FAQ】http://code.google.com/a/apache-extras.org/p/Hadoop-gpl-compression/wiki/FAQ?redir=1

1、tar -zxvf chukwa-0.4.0.tar.gz

cp -r chukwa-0.4.0 /usr/local/cdh3u1/

 

2、 修改profile文件

export CHUKWA_HOME=$CLOUDER_HOME/chukwa-0.4.0

3、 修改配置文件

chukwa-env.sh 主要配置Hadoop的jar包位置,JAVA_HOME,HADOOP_HOME,CHUKWA_PID_DIR,CHUKWA_LOG_DIR,JAVA_LIBRARY_PATH

collectors 注意是host:port格式的collector列表

chukwa-collector-conf.xml主要配置文件系统和目录

agents 日志收集客户端 日志搜集客户端列表,如果用start-all.sh|start-agents.sh则会启动所有客户端

chukwa-agent-conf.xml

initial_adaptors配置默认的adaptors 奇怪iostat命令没有

4、 chukwa version可以查看版本信息 如果提示Hadoop-*-core。jar不存在,参考最后提示.

5、 要将Hadoop-core*.jar 文件拷贝到lib目录下,才能用./bin/start-agents.sh 启动agent

6、start-collectors.sh 默认启动8080端口.在collects中配置
http://namenode-c2.Hadoop.maxthon.cn:9090/chukwa?ping=true 可以看到页面信息

Date:1314171233587

Now:1314171235352

numberHTTPConnection in time window:0

numberchunks in time window:0

lifetimechunks:0

7、hicc【还未配置成功,bug太多】

需要配置数据库属性jdbc.conf

chukwa hicc 默认监听8080端口

chukwa hicc stop

8、如果要运行start-data-postprocess.sh 的话,需要将/jackson-all.jar拷贝至相应路径

9、运行命令

start-all.sh

stop-all.sh

start-agents.sh

stop-agents.sh

如果遇到不能停止服务的时候,需要修改chukwa文件中kill -1 pid为kill -TERM pidfile 或者kill -15

提示:

如果start-collector.sh和start-agents.sh的时候提示/usr/local/cdh3u1/Hadoop-home下面找不到hadoop-*-core.jar包,

修改chukwa-env.sh文件中得#export Hadoop_JAR=${HADOOP_HOME}/build/hadoop-*-core.jar

chukwa默认配置有四个监听系统负载的adapter,调用系统命令,但是有的版本系统没有预装命令,可按如下方式安装

yum install sysstat

安装iostat  sar

【备注:】

kill常用信号

 

    编号            名称             描述

    1     HUP   Hang up

    2     INT   Interrupt

    3     QUIT  Stop running

    9     KILL  Unconditionally terminate

    11    SEGV  Segment violation

    15    TERM  Terminate if possible

    17    STOP  Stop unconditionally, but don't terminate

    18    TSTP  Stop or pause, but continue to run in background

    19    CONT  Resume exectuion after STOP or TSTP

1、 配置时间同步

/etc/crontab

00 07 * * * root  /usr/sbin/ntpdate 60.28.210.10

host映射配置

/etc/hosts

10.0.8.18 namenode-c2.Hadoop.maxthon.cn #hadoop命名空间

10.0.8.38 sync-38.maxthon.cn #38服务器搜集客户端

10.0.8.39 sync-39.maxthon.cn #39服务器搜集客户端

10.0.8.40 sync-40.maxthon.cn #40测试搜集客户端

2、安装jdk

目前采用最新版本jdk1.7.0

安装包为:jdk-7-linux-x64.rpm

安装路径为:/usr/java/java1.7.0

rpm -ivh jdk-7-linux-x64.rpm

添加环境变量

export JAVA_HOME=/usr/java/java1.7.0

source /etc/profile

3、安装chukwa

目前版本:chukwa-0.4.0

安装包为:chukwa-0.4.0.tar.gz

安装路径:/usr/local/cdh3u1/chukwa

tar -zxf chukwa-0.4.0.tar.gz

mv chukwa-0.4.0 /usr/local/cdh3u1/

添加环境变量

export CHUKWA_HOME=/usr/local/cdh3u1/chukwa-0.4.0

4、配置chukwa客户端

chukwa-env.sh 主要添加java_home环境变量

collectors 添加chukwa日志接受服务器

chukwa-agent-conf.xml主要配置chukwa agent信息

[#]直接登录10.0.8.18通过scp拷贝即可,注意需要拷贝Hadoop目录

5、在chukwa服务器端添加agent列表

6、启动chukwa客户端

chukwa agent

telnet localhost 9093

list

add cn_sync.maxthon.cn_10.0.8.38_tail=filetailer.CharFileTailingAdaptorUTF8 cn_sync.maxthon.cn_10.0.8.38 /data/logs/xxx/chukwa.log 0

add cn_sync.maxthon.cn_10.0.8.38_recover=DirTailingAdaptor cn_sync.maxthon.cn_10.0.8.38 /data/logs/recover/ filetailer.CharFileTailingAdaptorUTF8 0

40上日志切割脚本

sudo /data/mx_dsync_serv/script/mx_log_turn.sh /data/logs/sync.maxthon.cn/ false 0 10 10.0.8.40

【注:如果不是系统用户,需要有sudo权限,用sudo安装】

1、下载所需要软件
http://archive.cloudera.com/cdh/3/Hadoop-0.20.2-cdh3u1.tar.gzhadoop
http://archive.cloudera.com/cdh/3/hbase-0.90.3-cdh3u1.tar.gzhbase
http://archive.cloudera.com/cdh/3/hive-0.7.1-cdh3u1.tar.gzhive
http://archive.cloudera.com/cdh/3/pig-0.8.1-cdh3u1.tar.gzpig
http://archive.cloudera.com/cdh/3/sqoop-1.3.0-cdh3u1.tar.gzsqoop
http://archive.cloudera.com/cdh/3/zookeeper-3.3.3-cdh3u1.tar.gzzookeeper

http://download.Oracle.com/otn-pub/java/jdk/7/jdk-7-linux-x64.tar.gzjdk-bin
http://download.Oracle.com/otn-pub/java/jdk/7/jdk-7-linux-x64.rpmjdk-rpm

2、前期准备工作[以下步骤需要在集群中各个节点执行]

1、同步各台服务器之间的时间,使其一致,否则会发生不可预料的错误

  vi /etc/crontab 00 07 * * * root  /usr/sbin/ntpdate 60.28.210.10

2、服务器之间建立互信机制,实现ssh无密码互通 基本步骤就是ssh-keygen -d rsa/des 生成密钥对在机器之间拷贝【这一步很重要】

3、修改系统文件打开限制

  默认系统文件读取限制是1024,由于集群读取数据超过这个限制,所以需要调整

  步骤:

sudo echo "*                soft    nofile          10240" >> /etc/security/limits.conf

sudo echo "*                hard    nofile          10240" >> /etc/security/limits.conf

4、创建相应的目录

  应用目录:/usr/local/cloudera/*

  chown -R Hadoop:hadoop /usr/local/cloudera

  chmod ug+rwx /usr/local/cloudera

  数据目录:

  mkdir -p /data/disk1ln -s /data/disk1 /disk1

  mkdir -p /data/disk2ln -s /data/disk2 /disk2

 

  mkdir -p /disk1/cloudera

  mkdir -p /disk2/cloudera

5、修改/etc/hosts文件 加入各台机器ip->域名映射

  暂定如下:

10.0.8.18 namenode-c2.Hadoop.cn

10.0.8.19 datanode-1-c2.Hadoop.cn

10.0.8.20 datanode-2-c2.Hadoop.cn

10.0.8.40 sync-test.cn

3、软件安装

1、安装最新版本JDK

sudo chmod u+x jdk-7-linux-x64.rpm.bin

./jdk-7-linux-x64.rpm.bin

如果是rmp包的话运行下面命令安装

rpm -ivh ./jdk-7-linux-x64.rpm

java默认安装在/usr/java/jdk1.7.0_/

2、Hadoop安装

tar -zxvf Hadoop-0.20.2-cdh3u1.tar.gz

mv Hadoop-0.20.2-cdh3u1/usr/local/cloudera/

3、hive安装

tar -zxvf hive-0.7.1-cdh3u1.tar.gz

mv hive-0.7.1-cdh3u1/usr/local/cloudera/

4、hbase安装

tar -zxvf hbase-0.90.3-cdh3u1.tar.gz

mv hbase-0.90.3-cdh3u1/usr/local/cloudera/

5、zookeeper安装

tar -zxvf zookeeper-3.3.3-cdh3u1.tar.gz

mv zookeeper-3.3.3-cdh3u1/usr/local/cloudera/

6、sqoop安装

tar -zxvf sqoop-1.3.0-cdh3u1.tar.gz

mv sqoop-1.3.0-cdh3u1/usr/local/cdh3u1/

修改/usr/local/cdh3u1/sqoop-1.3.0-cdh3u1/conf目录下配置文件

7、修改环境变量/etc/profile

export JAVA_HOME=/usr/java/jdk1.7.0  #####更好的方法是:/usr/java/default

export CLASSPATH=.:$JAVA_HOME/lib

export CLOUDER_HOME=/usr/local/cloudera

export Hadoop_HOME=$CLOUDER_HOME/hadoop-0.20.2-cdh3u1

export Hadoop_CONF_DIR=$HADOOP_HOME/conf

export HBASE_HOME=$CLOUDER_HOME/hbase-0.90.1-cdh3u1

export ZOOKEEPER_HOME=$CLOUDER_HOME/zookeeper-3.3.3-cdh3u1

export HIVE_HOME=$CLOUDER_HOME/hive-0.7.0-cdh3u1

export SQOOP_HOME=$CLOUDER_HOME/sqoop-1.2.0-cdh3u1

export PATH=$SQOOP_HOME/bin:$JAVA_HOME/bin:$Hadoop_HOME/bin:$HBASE_HOME/bin:$ZOOKEEPER_HOME/bin:$HIVE_HOME/bin:$PATH

source /etc/profile

4、集群拷贝(远程拷贝scp)

scp -r /usr/local/cloudera/*datanode-1-c2.Hadoop.mathon.cn:/usr/local/cloudera

scp -r /usr/local/cloudera/*datanode-2-c2.Hadoop.mathon.cn:/usr/local/cloudera

5、配置环境

1、Hadoop-conf

Hadoop-env.sh

core-site.xml

hdfs-site.xml

mapred-site.xml

masters

slaves

log4j.properties

2、hive

hive-env.sh

hive-site.xml

3、hbase

hbase-env.sh

hbase-site.xml

regionservers

log4j.properties

4、zookeeper

zoo.cfg 指定dataDir目录和服务列表

log4j.properties

在配置的每个服务器列表的dataDir目录下面创建myid文件

添加服务器列表编号进myid文件中:如

server.0=namenode-c2.Hadoop.maxthon.cn:2888:3888

server.1=datanode-1-c2.Hadoop.maxthon.cn:2888:3888

echo 0>myid

echo 1>myid

6、集群启动测试

1、启动测试Hadoop

Hadoop namenode -format

bin/start-all.sh 如果环境变量已经添加 可以直接运行start-all.sh

jps查看进程是否都启动

Hadoop dfsadmin -safemode get/leave

Hadoop dfsadmin -report

Hadoop测试

Hadoop fs -rmr hdfs://namenode-c2.hadoop.maxthon.cn:9000/rand

Hadoop jar ./hadoop-0.20.2-cdh3u1/hadoop-examples-0.20.2-cdh3u1.jar randomwriter -Dtest.randomwrite.bytes_per_map=400000000 /rand

Hadoop jar ./hadoop-0.20.2-cdh3u1/hadoop-examples-0.20.2-cdh3u1.jar sort /rand rand-sort

2、启动zookeeper

bin/zkServer.sh start注意:zoo.conf里面配置了几台服务器就要在几台服务器上启动zookeeper

jps查看进程是否启动

3、启动hbase

bin/start-hbase.sh

查看进程是否启动

4、启动hive

hive

show tables;

hwi

hive --service hwi&

 

【注意:】

Hadoop集群启动过程:

Hadoop --> zkServer --> hbase --> collector

Hadoop关闭过程

collector --> hbase --> zkServer --> Hadoop

zkServer配置的几台就需要在几台机器上进行停止

相应命令

start-hdfs.sh|start-mapred.sh|start-all.sh

zkServer.sh start

start-hbase.sh

start-collector.sh

stop-collector.sh

stop-hbase.sh

zkServer.sh stop

stop-mapred.sh|stop-hdfs.sh|stop-all.sh

【注:】如果需要将chukwa和Hadoop用户分离,折中办法是将/chukwa目录修改为chukwa:hadoop权限

可能大家都遇到过一个问题,集群部署过后如果修改的话,比较麻烦 rsyncd可以解决这个问题,让所有从节点与主节点配置同步

rsyncd是个好东西

【注:这里需要和Hadoop配置目录下得hadoop-env.sh中得rsyncd区分开,如果在hadoop-env中的rsyncd配置相应的值,目的是整个hadoop的同步,适合于在DN中配置,将主节点的hadoop全部同步】

1. lsyncd下载地址 http://code.google.com/p/lsyncd/

2. 安装过程 http://tsjianxin.blog.51cto.com/1309817/370409

wget http://lsyncd.googlecode.com/files/lsyncd-1.26.tar.gz

 tar -zxvf lsyncd-1.26.tar.gz

 cd lsyncd-1.26

 ./configure make

 make install

3. namenode 节点

sudo /usr/local/bin/lsyncd --conf  /usr/local/cloudera/lsyncd/etc/lsyncd.conf.xml

4. datanode节点

将rsyncd.conf放到 /etc/rsyncd.conf

 

启动命令

sudo rsync --daemon

【================】

lsyncd.conf.xml

<lsyncd version="1">

<settings>

<binary filename="/usr/bin/rsync" />

<pidfile filename="/data/logs/cloudera/lsyncd/lsyncd.pid" />

<callopts>

<option text="-lt%r" />

<option text="--delete" />

<option text="--password-file=/root/www.pass" />

<exclude-file />

<source />

<destination />

</callopts>

</settings>

<!-- Hadoop conf目录 -->

<directory>

<source path="/usr/local/cloudera/Hadoop-0.20.2-cdh3u1/conf/" />

<target path="datanode-1-c2.Hadoop.maxthon.cn::hadoop-conf" />

<target path="datanode-2-c2.Hadoop.maxthon.cn::hadoop-conf" />

</directory>

<!-- hbase conf目录 -->

<directory>

<source path="/usr/local/cloudera/hbase-0.90.3-cdh3u1/conf/" />

<target path="datanode-1-c2.Hadoop.maxthon.cn::hbase-conf" />

<target path="datanode-2-c2.Hadoop.maxthon.cn::hbase-conf" />

</directory>

<!-- zookeeper conf目录 -->

<directory>

<source path="/usr/local/cloudera/zookeeper-3.3.3-cdh3u1/conf/" />

<target path="datanode-1-c2.Hadoop.maxthon.cn::zookeeper-conf" />

<target path="datanode-2-c2.Hadoop.maxthon.cn::zookeeper-conf" />

</directory>

<!-- sqoop conf目录 -->

<directory>

<source path="/usr/local/cloudera/sqoop-1.3.0-cdh3u1/conf/" />

<target path="datanode-1-c2.Hadoop.maxthon.cn::sqoop-conf" />

<target path="datanode-2-c2.Hadoop.maxthon.cn::sqoop-conf" />

</directory>

<!-- hive conf目录 -->

<directory>

<source path="/usr/local/cloudera/hive-0.7.1-cdh3u1/conf/" />

<target path="datanode-1-c2.Hadoop.maxthon.cn::hive-conf" />

<target path="datanode-2-c2.Hadoop.maxthon.cn::hive-conf" />

</directory>

<!-- chukwa conf目录 -->

<directory>

<source path="/usr/local/cloudera/chukwa-0.4.0/conf/" />

<target path="datanode-1-c2.Hadoop.maxthon.cn::chukwa-conf" />

<target path="datanode-2-c2.Hadoop.maxthon.cn::chukwa-conf" />

</directory>

<!-- oozie conf目录 -->

<directory>

<source path="/usr/local/cloudera/oozie-2.3.0-cdh3u1/conf/" />

<target path="datanode-1-c2.Hadoop.maxthon.cn::oozie-conf" />

<target path="datanode-2-c2.Hadoop.maxthon.cn::oozie-conf" />

</directory>

<!-- 所有应用的共享jar目录,启动后jar不会改变 -->

<directory>

<source path="/usr/local/cloudera/share-libs/" />

<target path="datanode-1-c2.Hadoop.maxthon.cn::hadoop-share-libs" />

<target path="datanode-2-c2.Hadoop.maxthon.cn::hadoop-share-libs" />

</directory>

<!-- 所有应用的共享插件目录,开发生成,会经常变动 -->

<directory>

<source path="/usr/local/cloudera/plugins/" />

<target path="datanode-1-c2.Hadoop.maxthon.cn::hadoop-plugins" />

<target path="datanode-2-c2.Hadoop.maxthon.cn::hadoop-plugins" />

</directory>

<!-- lsyncd 的配置文件更改目录 -->

<directory>

<source path="/usr/local/cloudera/lsyncd/" />

<target path="datanode-1-c2.Hadoop.maxthon.cn::hadoop-lsyncd" />

<target path="datanode-2-c2.Hadoop.maxthon.cn::hadoop-lsyncd" />

</directory>

</lsyncd>

【=========】

pid file = /data/logs/cloudera/lsyncd/rsyncd.pid

lock file = /data/logs/cloudera/lsyncd/rsync.lock

log file = /data/logs/cloudera/lsyncd/rsyncd.log

uid = Hadoop

gid = cloud

read only = no

list = yes

#auth users = www

#secrets file = /root/www.pass

[Hadoop-conf]

        path = /usr/local/cloudera/Hadoop-0.20.2-cdh3u1/conf/

[hbase-conf]

        path = /usr/local/cloudera/hbase-0.90.3-cdh3u1/conf/

[zookeeper-conf]

        path = /usr/local/cloudera/zookeeper-3.3.3-cdh3u1/conf/

[sqoop-conf]

        path = /usr/local/cloudera/sqoop-1.3.0-cdh3u1/conf/

[hive-conf]

        path = /usr/local/cloudera/hive-0.7.1-cdh3u1/conf/

[chukwa-conf]

        uid = chukwa

        path = /usr/local/cloudera/chukwa-0.4.0/conf/

[oozie-conf]

        path = /usr/local/cloudera/oozie-2.3.0-cdh3u1/conf/

[jobs-conf]

        path = /usr/local/cloudera/jobs/

[Hadoop-share-libs]

        path = /usr/local/cloudera/share-libs/

[Hadoop-plugins]

        path = /usr/local/cloudera/plugins/

[Hadoop-lsyncd]

        path = /usr/local/cloudera/lsyncd/

【这里记录一下,环境中遇到的一些有用的解决特定问题的shell】

1、如果集群中使用到了chukwa搜集数据,又需要导入hive进行分析,因为load之后,chukwa目录中会留下许多空目录源码天空,白白耗费namenode内存

function clear_empty(){ 

list=`Hadoop dfs -du $CHUKWA_DIR/$1 |awk -F " " '$1=={print $2}'` 

for item in $list 

do 

        Hadoop dfs -rmr $item 

done 



可以定时执行以上脚本,便可清理空目录,参数可以自己控制
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Hadoop lzo