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
}
可以定时执行以上脚本,便可清理空目录,参数可以自己控制
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集群环境部署之chukwa客户端
- Hadoop集群环境部署介绍
- hadoop集群环境部署之cloudera
- 批量部署Hadoop集群环境(1)
- hadoop集群环境搭建之zookeeper集群的安装部署
- 大数据环境搭建-之-hadoop 2.x分布式部署-集群配置
- 基于centos7部署hadoop集群的准备环境部署
- Hadoop的集群环境部署说明
- 批量部署Hadoop集群环境(1)
- Hadoop集群完全分布式模式环境部署
- hadoop集群环境部署之rsyncd
- Hadoop集群搭建之二 集群环境部署说明+SSH
- CentOS64位6.4下Hadoop2.7.1、Mysql5.5.46、Hive1.2.1、Spark1.5.0的集群环境部署
- Red Hat 5.2 Server 单机部署 Hadoop2.2.0 集群环境
- Hadoop大数据框架研究(2)——Hadoop的HA高可用性集群环境部署
- Hadoop集群完全分布式模式环境部署
- 在windows环境通过cygwin部署hadoop伪集群
- Hadoop大数据框架研究(3)——Spark的HA高可用性集群环境部署
- Hadoop集群完全分布式模式环境部署和管理的5大工具
- Hadoop集群环境安装部署