当前位置:文档之家› Hadoop环境的搭建与管理 (1)

Hadoop环境的搭建与管理 (1)

Hadoop环境的搭建与管理1、Hadoop的安装与配置HDFS在Master节点启动dfs和yarn服务时,需要自动启动Slave节点服务,HDFS需要通过ssh访问Slave节点机。

HDFS需要搭建多台服务器组成分布式系统,节点机间需要无密码访问。

本节任务是进行ssh的设置、用户的创建、hadoop参数的设置,完成HDFS分布式环境的搭建。

任务实施:本节任务需要四台节点机组成集群,每个节点机上安装CentOS-6.5-x86_64系统。

四台节点机使用的IP地址分别为:192.168.23.111、192.168.23.112、192.168.23.113、192.168.23.114,对应节点主机名为:node1、node2、node3、node4。

节点机node1作为NameNode,其他作为DataNode。

创建hadoop用户,分别在四台节点机上创建用户hadoop,uid=660,密码分别为h1111, h2222, h3333, h4444。

登录node1节点机,创建hadoop用户和设置密码。

操作命令如下。

[root@node1 ~]# useradd -u 660 hadoop[root@node1 ~]# passwd hadoop其他节点机的操作相同。

步骤2设置master节点机ssh无密码登录slave节点机。

(1)在node1节点机上,以用户hadoop用户登录或者使用su – hadoop切换到hadoop 用户。

操作命令如下。

[root@node1 ~]# su - hadoop(2)使用ssh-keygen生成证书密钥,操作命令如下。

[hadoop@node1 ~]$ssh-keygen -t dsa(3)使用ssh-copy-id分别拷贝证书公钥到node1,node2,node3,node4节点机上,操作命令如下。

[hadoop@node1 ~]$ ssh-copy-id -i .ssh/id_dsa.pub node1[hadoop@node1 ~]$ ssh-copy-id -i .ssh/id_dsa.pub node2[hadoop@node1 ~]$ ssh-copy-id -i .ssh/id_dsa.pub node3[hadoop@node1 ~]$ ssh-copy-id -i .ssh/id_dsa.pub node4(4)在node1节点机上使用ssh测试无密码登录node1节点机,操作命令如下。

[hadoop@node1 ~]$ ssh node1Last Login: Mon Dec 22 08:42:38 2014 from node1[hadoop@node1 ~]$ exitLogoutConnection to node1 closed.以上表示操作成功。

在node1节点机上继续使用ssh测试无密码登录node2、node3和node4节点机,操作命令如下。

[hadoop@node1 ~]$ ssh node2[hadoop@node1 ~]$ ssh node3[hadoop@node1 ~]$ ssh node4测试登录每个节点机后,输入exit退出。

步骤3使用WinSCP上传hadoop-2.6.0.tar.gz软件包到node1节点机的root目录下。

如果hadoop 软件包在node1节点机上编译,则把编译好的包拷贝到root目录下即可。

如图7.3所示。

图7.3 使用WinSCP上传hadoop-2.6.0.tar.gz软件包步骤4解压文件,安装文件。

操作命令如下。

[root@node1 ~]# cd[root@node1 ~]# tar xvzf hadoop-2.6.0.tar.gz[root@node1 ~]# cd hadoop-2.6.0[root@node1 hadoop-2.6.0]# mv * /home/hadoop步骤5修改hadoop配置文件。

Hadoop配置文件主要有:hadoop-env.sh、yarn-env.sh、slaves、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml。

配置文件在/home/hadoop/etc/hadoop/目录下,可进入该目录进行配置。

操作命令如下。

[root@node1 hadoop-2.6.0]# cd /home/hadoop/etc/hadoop/(1)修改hadoop-env.sh,将文件中的export JAVA_HOME=${JAVA_HOME}修改为export JAVA_HOME=/usr/lib/jvm/java-1.7.0。

如下所示。

[root@node1 hadoop]# vi hadoop-env.sh# The java implementation to use.# export JAVA_HOME=${JAVA_HOME}export JAVA_HOME=/usr/lib/jvm/java-1.7.0(2)修改slaves,该文件登记DataNode节点主机名,本处添加node2,node3,node4三台节点主机名。

如下所示。

[root@node1 hadoop]# vi slavesnode2node3node4(3)修改core-site.xml,将文件中的<configuration></configuration>修改为如下内容。

<configuration><property><name>fs.defaultFS</name><value>hdfs://node1:9000</value></property><property><name>io.file.buffer.size</name><value>131072</value></property><property><name>hadoop.tmp.dir</name><value>file:/home/hadoop/tmp</value><description>Abase for other temporary directories.</description></property><property><name>hadoop.proxyuser.hadoop.hosts</name><value>*</value></property><property><name>hadoop.proxyuser.hadoop.groups</name><value>*</value></property></configuration>其中node1为集群的NameNode(Master)节点机,node1可以使用IP地址表示。

(4)修改hdfs-site.xml,将文件中的<configuration></configuration>修改为如下内容。

<configuration><property><name>node.secondary.http-address</name><value>node1:9001</value></property><property><name>.dir</name><value>file:/home/hadoop/dfs/name</value></property><property><name>dfs.datanode.data.dir</name><value>file:/home/hadoop/dfs/data</value></property><property><name>dfs.replication</name><value>3</value></property><property><name>dfs.webhdfs.enabled</name><value>true</value></property></configuration>其中为了便于教学,第二个NameNode也使用node1节点机,NameNode产生的数据存放在/home/hadoop/dfs/name目录下,DataNode产生的数据存放在/home/hadoop/dfs/data目录下,设置3份备份。

(5)将文件mapred-site.xml.template改名为mapred-site.xml。

操作如下。

[root@node1 hadoop]# mv mapred-site.xml.template mapred-site.xml将文件中的<configuration></configuration>修改为如下内容。

<configuration><property><name></name><value>yarn</value></property><property><name>mapreduce.jobhistory.address</name><value>node1:10020</value></property><property><name>mapreduce.jobhistory.webapp.address</name><value>node1:19888</value></property></configuration>(6)修改yarn-site.xml,将文件中的<configuration></configuration>修改为如下内容。

相关主题