hadoop-2.8.0完全分布式环境搭建

来源:互联网 发布:大圣归来 制作软件 编辑:程序博客网 时间:2024/05/17 02:29

一、机器及环境准备。

1、jdk安装不用多说,安装完成配置环境变量即可。

export JAVA_HOME=/usr/java/latestexport JRE_HOME=$JAVA_HOME/jreexport CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jarexport PATH=$JAVA_HOME/bin:$PATH
运行 #source /etc/profile让环境变量生效

2、将下载的hadoop-2.8.0.tar.gz文件解压到指定目录/data/下,然后需要配置hadoop相关的环境变量,这里为了区别,特意做一个单独的配置文件,放到/etc/profile.d目录下,取名hadoop.sh,文件内容如下。

同样的为了让环境变量生效,需要运行# source /etc/profile

3、配置免密钥登录,这里需要在namenode节点上远程操作datanode节点,因此只需要在linux-node1上配置免密登录,然后将密钥拷贝到linux-node1,linux-node2,linux-node3上,linux-node1本机也需要免密登录,如果不配置这一步,在启动hdfs时,需要手动输入密码。

#ssh-keygen -t rsa -P ""#cp /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys#ssh-copy-id linux-node2#ssh-copy-id linux-node3

上面依次创建一对密钥,然后在linux-node1上将id_rsa.pub复制为authorized_keys,这样就实现了在本季免密登录。最后分别利用ssh-copy-id命令将密钥拷贝到linux-node2,linux-node3上。

说明一点:hadoop-2.8.0二进制安装包是在x64位机器上编译的,所以如果是64位虚拟机,无须下载源码编译来生成本地库,我们可以通过查看lib/native/libhadoop.so.1.0.0文件,来验证具体的编译信息。

[root@linux-node1 hadoop-2.8.0]# file lib/native/libhadoop.so.1.0.0 lib/native/libhadoop.so.1.0.0: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=0x4f0a2f27e6f1a45560dad736ba475a8d7fb97a09, not stripped

二、准备配置文件。

core-site.xml

<configuration>     <property>             <name>fs.defaultFS</name>             <value>hdfs://linux-node1:9000</value>     </property>     <property>             <name>hadoop.tmp.dir</name>             <value>file:/data/hadoop-2.8.0/tmp</value>     </property></configuration>

根据配置文件,需要在hadoop安装目录下新建tmp目录。

hdfs-site.xml

<configuration>     <property>            <name>dfs.replication</name>            <value>2</value>     </property>     <property>            <name>dfs.namenode.secondary.http-address</name>            <value>linux-node1:9001</value>     </property>      <property>            <name>dfs.namenode.name.dir</name>            <value>file:/data/hadoop-2.8.0/hdfs/name</value>     </property>      <property>            <name>dfs.datanode.data.dir</name>            <value>file:/data/hadoop-2.8.0/hdfs/data</value>     </property> </configuration>

根据配置文件,需要在hadoop安装目录下新建hdfs/name,hdfs/data两个目录。

mapred-site.xml

<configuration>     <property>          <name>mapreduce.framework.name</name>          <value>yarn</value>      </property>     <property>          <name>mapreduce.jobhistory.address</name>          <value>linux-node1:10020</value>      </property>     <property>          <name>mapreduce.jobhistory.webapp.address</name>          <value>linux-node1:19888</value>      </property></configuration>

yarn-site.xml

<configuration>      <property>           <name>yarn.nodemanager.aux-services</name>           <value>mapreduce_shuffle</value>      </property>            <property>           <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>           <value>org.apache.hadoop.mapred.ShuffleHandler</value>      </property>      <property>           <name>yarn.resourcemanager.address</name>           <value>linux-node1:8032</value>      </property>      <property>           <name>yarn.resourcemanager.scheduler.address</name>           <value>linux-node1:8030</value>      </property>      <property>           <name>yarn.resourcemanager.resource-tracker.address</name>           <value>linux-node1:8031</value>      </property>      <property>           <name>yarn.resourcemanager.admin.address</name>           <value>linux-node1:8033</value>      </property>      <property>           <name>yarn.resourcemanager.webapp.address</name>           <value>linux-node1:8088</value>      </property></configuration>

slaves

[root@linux-node1 hadoop]# cat slaves linux-node2linux-node3

hadoop-env.sh(可选),如果安装jdk时,配置环境变量使用了软链的方式将jdk的安装目录映射到/usr/java/latest这样的目录,这里就需要将hadoop-env.sh中JAVA_HOME的值需要设置一下,否则在启动hdfs时会出现java_home未设置的错误,如果直接指定jdk的安装目录,则不用设置。

# The java implementation to use.export JAVA_HOME=/usr/java/latest

配置文件准备好了之后,可以将hadoop-2.8.0安装包拷贝到linux-node2,linux-node3机器对应的目录下。

scp -r /data/hadoop-2.8.0 linux-node2:/data/scp -r /data/hadoop-2.8.0 linux-node3:/data/

三、格式化和启动hdfs,yarn。

在主节点上运行以下命令:hdfs namenode -format,入下图所示,表示格式化成功。

sbin/start-dfs.sh//启动dfs文件系统,可以查看hdfs文件系统。

sbin/start-yarn.sh//启动yarn,可以运行mapreduce程序。

如果需要关闭,依次关闭yarn,hdfs

sbin/stop-yarn.sh

sbin/stop-dfs.sh

四、登录图形界面查看集群状态。

在浏览器中访问地址:http://192.168.61.21:50070

overview

datanode