奔跑的羚羊 发表于 2013-1-28 21:19:01

Cloudera 局域网安装部署

集群部署在局域网内部,与外网隔离开来。

第一步,下载安装包和相关文件。
   其实 cloudera 就有一个 yum源,查看一下http://archive.cloudera.com/redhat/cdh/3/ ,yum源的结构就很清晰了。
   wget -mc http://archive.cloudera.com/redhat/cdh/3/
   在当前文件夹下就有一个archive.cloudera.com的文件夹。
   
第二步,配置本地源。
   mkdir /var/www/html/cloudera-hadoop    cp -r archive.cloudera.com/redhat/cdh/3 /var/www/html/cloudera-hadoop
   这里是将对应的安装包和文件考到 web 目录下。
   注意这里需要使用的 httpd 服务,没开启服务的话,使用service httpd start开启,没有apache软件的话,使用 sudo yum install apache安装。

这里补充一点,其实不需要使用wget -mc全部下载,
只需要将repodata目录的全部,和需要使用的rpm包。按照原来的路径放置

第三步,集群yum配置
在集群的机器/etc/yum.repos.d/目录下,新建文件cloudera-cdh3.repo
name=Cloudera's Distribution for Hadoop, Version 3baseurl=http://10.10.224.109/cloudera/3/ gpgcheck=0enabled=1

第四步,准备
   安装jdk,需要使用1.6以上版本,而且必须是rpm包
   这里使用的是jdk-6u24-linux-amd64.rpm

如果不是jdk1.6以上版本,或者rpm包,就会报错
error: Failed dependencies:    jdk >= 1.6 is needed by hadoop-0.20-0.20.2+320-1.noarch.rpm


第五步,安装cloudera
1.安装hadoop主文件
yum install hadoop-0.20
2.安装hadoop相关配置
yum install hadoop-0.20-<daemon type>
类型列表:
namenodedatanodesecondarynamenodejobtrackertasktracker
# yum install hadoop-0.20-sbin
# yum install hadoop-0.20-native

第六步,指定配置文件
1.显示出当前使用的配置文件
# alternatives --display hadoop-0.20-conf
hadoop-0.20-conf - 状态是自动。
链接目前指向 /etc/hadoop-0.20/conf.empty
/etc/hadoop-0.20/conf.empty - 优先度 10
当前“最佳”版本是 /etc/hadoop-0.20/conf.empty。

2.创建自己的配置文件
# cp -r /etc/hadoop-0.20/conf.empty /etc/hadoop-0.20/conf.my_cluster

3.设置使用自己的配置文件(优先度50)
# alternatives --install /etc/hadoop-0.20/conf hadoop-0.20-conf /etc/hadoop-0.20/conf.my_cluster 50

4.根据自己的习惯,调整优化配置文件

5.拷贝配置文件,到机器的所有机器
/etc/hadoop-0.20/conf.my_cluster
scp -rp master:/etc/hadoop-0.20/conf.my_cluster/etc/hadoop-0.20/conf.my_cluster
6.在所有机器,添加alternative rules
# alternatives --install /etc/hadoop-0.20/conf hadoop-0.20-conf /etc/hadoop-0.20/conf.my_cluster 50

第七步,启动hadoop
1.格式化Namenode
$ sudo -u hdfs hadoop namenode -format

2.开机自动启动
$ sudo chkconfig hadoop-0.20-namenode on$ sudo chkconfig hadoop-0.20-jobtracker on$ sudo chkconfig hadoop-0.20-secondarynamenode on$ sudo chkconfig hadoop-0.20-tasktracker on$ sudo chkconfig hadoop-0.20-datanode on

3.手工启动
$ sudo service hadoop-0.20-namenode start$ sudo service hadoop-0.20-jobtracker start$ sudo service hadoop-0.20-secondarynamenode start$ sudo service hadoop-0.20-tasktracker start$ sudo service hadoop-0.20-datanode start


第七步,优化配置文件
1.创建dfs.name.dir目录
$ sudo mkdir -p /data/dfs/nn/1 /data/dfs/nn/2

2.创建dfs.data.dir目录
$ sudo mkdir -p /data/dfs/dn/1 /data/dfs/dn/2 /data/dfs/dn/3 /data/dfs/dn/4

3.创建mapred.local.dir目录
$ sudo mkdir -p /data/mapred/local/1 /data/mapred/local/2 /data/mapred/local/3 /data/mapred/local/4

4.修改dfs.name.dir 和 dfs.data.dir目录的user为hdfs
$ sudo chown -R hdfs:hadoop /data/dfs/nn/1 /data/dfs/nn/2 /data/dfs/dn/1 /data/dfs/dn/2 /data/dfs/dn/3 /data/dfs/dn/4

5.修改mapred.local.dir目录的user为 mapred:
$ sudo chown -R mapred:hadoop /data/mapred/local/1 /data/mapred/local/2 /data/mapred/local/3 /data/mapred/local/4

6.在HDFS上创建mapred.system.dir目录,user为mapred
$sudo -u hdfs hadoop fs -mkdir /mapred/system$sudo -u hdfs hadoop fs -chown mapred /mapred/system

7.修改conf/hdfs-site.xml文件,添加dfs.name.dir 和dfs.data.dir

8.修改conf/mapred-site.xml文件,添加mapred.local.dir 和mapred.system.dir

目录最终的权限和user
DirectoryOwnerPermissions (see Footnote 1)dfs.name.dirhdfs:hadoopdrwx------dfs.data.dirhdfs:hadoopdrwx------mapred.local.dirmapred:hadoopdrwxr-xr-xmapred.system.dirmapred:hadoop(see Footnote 2)



测试
新建目录
sudo -u hdfs hadoop fs -mkdir input
sudo -u hdfs hadoop fs -put /etc/hadoop/conf/*.xml input
sudo -u hdfs hadoop fs -ls input

执行
sudo -u mapred hadoop-0.20 jar /usr/lib/hadoop-0.20/hadoop-*-examples.jar wordcount /user/mapred/input /user/mapred/output
页: [1]
查看完整版本: Cloudera 局域网安装部署