CHD4安装hadoop2.0

来源:互联网 发布:红叶知弦 编辑:程序博客网 时间:2024/05/18 03:29

介绍安装之前我先吐槽一下。我不得不说csdn整的什么玩意,没那么牛就别装,所有的url都给屏蔽了。你让别人怎么发博客,怎么也得过滤下不?

Cdh4安装需要支持的系统和jdk版本。

Jdk版本兼容:

1.6.0.31至少。对于jdk1.7cdh4.2和以后的版本支持,jdk至少1.7.0_15

系统兼容如下:

 


 

 

 

我采用的是centos6.4 64位版本。Jdk1.6.0.45(64位版本),所以如下命令也是在centos6.464位)下,如果您采用了别的版本,请访问下方地址。如果您需要使用可以联系zlqiao.

安装安装过程如下:

如果您习惯英文请访问:

三个w.cloudera.com/content/cloudera-content/cloudera-docs/CDH4/4.3.0/CDH4-Quick-Start/cdh4qs_topic_3_3.html


一卸载之前安装好的版本

建议命令yum remove hadoop*

 

二下载cdh4

这里是redhat/centos6 (64bit)的下载链接:

archive.cloudera.com/cdh4/one-click-install/redhat/6/x86_64/cloudera-cdh-4-0.x86_64.rpm


 

下载完成后上传到你的linux某个目录下执行如下命令:

sudo yum --nogpgcheck localinstall cloudera-cdh-4-0.x86_64.rpm

 

由于我们需要安装4.3.0所以您需要看这里:

您需要在/etc/yum.repos.d/cloudera-cdh4.repo文件下内容改成如下内容。

archive.cloudera.com/cdh4/redhat/6/x86_64/cdh/4.3.0/


安装cdh4

您需要安装下边命令:


Install hadoop with YARN

sudo yum install hadoop-conf-pseudo

 

启动hadoop并验证完整工作目录

YARN来说,伪分布模式安装在一台机器上,并运行hadoop的五个守护进程,分别是: namenode, secondarynamenode, resourcemanager, datanode, and nodemanager.

你需要运行如下命令:查看系统上的文件

rpm -ql hadoop-conf-pseudo

下一步就是启动hadoop了。

第一步 格式化namenode

在你第一次启动namenode的时候,你必须格式化你的文件系统。命令如下:

$ sudo -u hdfs hdfs namenode -format或者/ su - hdfs -c 'hdfs namenode -format'

Cdh之前的版本在安装过程中就已经格式化了,但是此版本必须执行该步骤。

 

第二部 启动HDFS

命令如下:

$ for x in `cd /etc/init.d ; ls hadoop-hdfs-*` ; do sudo service $x start ; done

或者

ls /etc/init.d/hadoop-hdfs-*

 

/etc/init.d/hadoop-hdfs-namenode start

/etc/init.d/hadoop-hdfs-secondarynamenode start

/etc/init.d/hadoop-hdfs-datanode start

你需要验证一下你的进程是否启动正常,建议jsp一下,看看你的进程是否都启动。这个时候注意如果没有发现datanode进程,那么原因就是你多次格式化了文件系统。这个时候你需要找到/hdfs/data/current删除下边的VERSION文件(如果是集群将集群中每个datanode/hdfs/data/current中的VERSION删掉)。

你可以打开你的浏览器访问:50070/ 

 查看你的分布式系统,你的datanode节点数和活着的节点数量。如果正常后者应该是一个在为分布式下。

注意:下边命令都将给出2中方式,

第三步 创建/tmp文件夹

1.删除老的/tmp文件夹如果存在的话

$ sudo -u hdfs hadoop fs -rm -r /tmp

或者su - hdfs -c 'hadoop fs -rm -r /tmp'

 

2.创建一个新的/tmp文件夹,并赋予权限

sudo -u hdfs hadoop fs -mkdir /tmp 或者

su - hdfs -c 'hadoop fs -mkdir /tmp'

 

sudo -u hdfs hadoop fs -chmod -R 1777 /tmp或者

su - hdfs -c 'hadoop fs -chmod -R 1777 /tmp'

 

第四步 创建Staging 和日志目录

1.创建staging目录并赋予权限

sudo -u hdfs hadoop fs -mkdir /tmp/hadoop-yarn/staging 

su - hdfs -c 'hadoop fs -mkdir /tmp/hadoop-yarn/staging'

 

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

su - hdfs -c 'hadoop fs -chmod -R 1777 /tmp/hadoop-yarn/staging'

 

2.在staging下创建done_intermediate目录并赋予权限

 

sudo -u hdfs hadoop fs -mkdir /tmp/hadoop-yarn/staging/history/done_intermediate 

su - hdfs -c 'hadoop fs -mkdir /tmp/hadoop-yarn/staging/history/done_intermediate'

 

$ sudo -u hdfs hadoop fs -chmod -R 1777 /tmp/hadoop-yarn/staging/history/done_intermediate

su - hdfs -c 'hadoop fs -chmod -R 1777 /tmp/hadoop-yarn/staging/history/done_intermediate'

 

 

3.修改staging和子文件夹的拥有者。

 

sudo -u hdfs hadoop fs -chown -R mapred:mapred /tmp/hadoop-yarn/staging

su - hdfs -c 'hadoop fs -chown -R mapred:mapred /tmp/hadoop-yarn/staging'

 

 

 

4.创建/var/log/hadoop-yarn并设置拥有者

sudo -u hdfs hadoop fs -mkdir /var/log/hadoop-yarn 

su - hdfs -c 'hadoop fs -mkdir /var/log/hadoop-yarn'

 

$ sudo -u hdfs hadoop fs -chown yarn:mapred /var/log/hadoop-yarn

su - hdfs -c 'hadoop fs -chown yarn:mapred /var/log/hadoop-yarn'

 

 

 

第五步 验证创建的文件结构

sudo -u hdfs hadoop fs -ls -R /

su - hdfs -c 'hadoop fs -ls -R /'

你应该能看到下边文件结构:

drwxrwxrwt - hdfs supergroup 0 2012-05-31 15:31 /tmp

drwxr-xr-x - hdfs supergroup 0 2012-05-31 15:31 /tmp/hadoop-yarn

drwxrwxrwt - mapred mapred 0 2012-05-31 15:31 /tmp/hadoop-yarn/staging

drwxr-xr-x - mapred mapred 0 2012-05-31 15:31 /tmp/hadoop-yarn/staging/history

drwxrwxrwt - mapred mapred 0 2012-05-31 15:31 /tmp/hadoop-yarn/staging/history/done_intermediate

drwxr-xr-x - hdfs supergroup 0 2012-05-31 15:31 /var

drwxr-xr-x - hdfs supergroup 0 2012-05-31 15:31 /var/log

drwxr-xr-x - yarn mapred 0 2012-05-31 15:31 /var/log/hadoop-yarn

 

第六步 启动yarn

 

/etc/init.d/hadoop-yarn-resourcemanager start

/etc/init.d/hadoop-yarn-nodemanager start

/etc/init.d/hadoop-mapreduce-historyserver start

 

第七步 创建用户目录

为每个MapReduce用户创建根目录,最好在namenode上边,例如:

$ sudo -u hdfs hadoop fs -mkdir /user/<user> 

$ sudo -u hdfs hadoop fs -chown <user> /user/<user>

<uers>就是你的linux系统的每个用户

当然,你可以使用下边命令为每个用户创建一个根目录:

sudo -u hdfs hadoop fs -mkdir /user/$USER 

su - hdfs -c 'hadoop fs -mkdir /user/$USER'

 

$ sudo -u hdfs hadoop fs -chown $USER /user/$USER

su - hdfs -c 'hadoop fs -chown $USER /user/$USER'

 

第八步 运行一个例子验证你安装成功。

1.创建一下input目录用来放置一些*.xml文件的文件夹

hadoop fs -mkdir input

 

hadoop fs -put /etc/hadoop/conf/*.xml input或者

su - hdfs -c  'hadoop fs -put /etc/hadoop/conf/*.xml /user/hdfs/input'

2为你的用户创建HADOOP_MAPRED_HOME文件夹

export HADOOP_MAPRED_HOME=/usr/lib/hadoop-mapreduce或者

su - hdfs -c 'export HADOOP_MAPRED_HOME=/usr/lib/hadoop-mapreduce'S

 

 

hadoop fs -ls input 

出现如下:

Found 3 items:

-rw-r--r-- 1 joe supergroup 1348 2012-02-13 12:21 input/core-site.xml

-rw-r--r-- 1 joe supergroup 1913 2012-02-13 12:21 input/hdfs-site.xml

-rw-r--r-- 1 joe supergroup 1001 2012-02-13 12:21 input/mapred-site.xml

 

4.然后运行如下命令跑一个例子

hadoop jar /usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar grep input output23 'dfs[a-z.]+' 或者

su - hdfs -c 'hadoop jar /usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar grep input output23 'dfs[a-z.]+' '

 

这个过程可能比较慢,需要你耐心等待5分钟。期间虚拟机可能非常卡......

 

 

5.查看运行完后的输出目录

 

hadoop fs -ls output23 

Found 2 items

drwxr-xr-x - joe supergroup 0 2009-02-25 10:33 /user/joe/output23/_SUCCESS

-rw-r--r-- 1 joe supergroup 1068 2009-02-25 10:33 /user/joe/output23/part-r-00000

6.查看输出的内容

 hadoop fs -cat output23/part-r-00000 | head

1 dfs.safemode.min.datanodes

1 dfs.safemode.extension

1 dfs.replication

1 dfs.permissions.enabled

1 dfs.namenode.name.dir

1 dfs.namenode.checkpoint.dir

1 dfs.datanode.data.dir

 

 

 

0 0
原创粉丝点击