hadoop集群环境部署之cloudera

1、下载所需要软件
http://archive.cloudera.com/cdh/3/hadoop-0.20.2-cdh3u1.tar.gz hadoop
http://archive.cloudera.com/cdh/3/hbase-0.90.3-cdh3u1.tar.gz hbase
http://archive.cloudera.com/cdh/3/hive-0.7.1-cdh3u1.tar.gz hive
http://archive.cloudera.com/cdh/3/pig-0.8.1-cdh3u1.tar.gz pig
http://archive.cloudera.com/cdh/3/sqoop-1.3.0-cdh3u1.tar.gz sqoop
http://archive.cloudera.com/cdh/3/zookeeper-3.3.3-cdh3u1.tar.gz zookeeper

http://download.oracle.com/otn-pub/java/jdk/7/jdk-7-linux-x64.tar.gz jdk-bin
http://download.oracle.com/otn-pub/java/jdk/7/jdk-7-linux-x64.rpm jdk-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/disk1 ln -s /data/disk1 /disk1
  mkdir -p /data/disk2 ln -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权限
hadoop dfs -chown -R chukwa:hadoop /chukwa
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值