centos6.4 32/64位机 hadoop2.2.0集群安装

简介:

1、准备环境

 安装VMware10 ,三台centos6.4 版本,安装在VMware虚拟机下。

1)安装中文输入法:

   1、需要root权限,所以要用root登录 ,或su root

    2、yum install "@Chinese Support"

2)安装ssh或者vsftp

   使用chkconfig --list来查看是否装有vsftpd服务;

   使用yum命令直接安装:  yum install vsftpd 

   查看与管理ftp服务:
        启动ftp服务:service vsftpd start

        查看ftp服务状态:service vsftpd status

        重启ftp服务:service vsftpd restart

        关闭ftp服务:service vsftpd stop
3)jdk安装 

 参考http://my.oschina.net/kt431128/blog/269262

2、修改主机名

  本人安装一个虚拟机,然后通过虚拟机-》管理-》克隆 完成其他两台机器的安装,现在存在的一个问题就是主机名是一样的,这个明显不是自己想要的,所以需要修改其余两台的主机名。
[root@slaver2 sysconfig]# vi /etc/sysconfig/network

    NETWORKING=yes

    HOSTNAME=slaver

3、配置/ect/hosts,三台服务器的配置一样

vi /etc/hosts

192.168.21.128   master

192.168.21.131   slaver

192.168.21.130   slaver2

4、创建用户(使用root用户创建后来发现Browse the filesystem 报错,后来查文档,建议使用新建的用户)

useradd  hadoop 

passwd hadoop

输入密码,确认

5、ssh无密码登录

参考:http://my.oschina.net/kt431128/blog/269266

6、HADOOP的下载和环境的配置

http://mirror.esocc.com/apache/hadoop/common/hadoop-2.2.0/

[   ] hadoop-2.2.0.tar.gz         07-Oct-2013 14:46  104M

hadoop环境变量的配置:

vi/etc/profile

在文件的最下面添加

export HADOOP_HOME=/usr/zkt/hadoop2.2.0/hadoop-2.2.0

export PAHT=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

export HADOOP_LOG_DIR=/usr/zkt/hadoop2.2.0/hadoop-2.2.0/logs

export YARN_LOG_DIR=$HADOOP_LOG_DIR

export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native

export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"

注:在64位操作系统上需要加入一下红色部分的配置信息

网上看到的另一种解决办法:

在使用./sbin/start-dfs.sh或./sbin/start-all.sh启动时会报出这样如下警告:

Java HotSpot(TM) 64-Bit Server VM warning: You have loaded library /usr/local/hadoop-2.2.0/lib/native/libhadoop.so.1.0.0 which might have disabled stack guard. The VM will try to fix the stack guard now.

....

Java: ssh: Could not resolve hostname Java: Name or service not known

HotSpot(TM): ssh: Could not resolve hostname HotSpot(TM): Name or service not known

64-Bit: ssh: Could not resolve hostname 64-Bit: Name or service not known

....

这个问题的错误原因会发生在64位的操作系统上,原因是从官方下载的hadoop使用的本地库文件(例如lib/native/libhadoop.so.1.0.0)都是基于32位编译的,运行在64位系统上就会出现上述错误。

解决方法之一是在64位系统上重新编译hadoop,另一种方法是在hadoop-env.sh和yarn-env.sh中添加如下两行:

export HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_HOME}/lib/native  

export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"

注:/usr/zkt/hadoop2.2.0/hadoop-2.2.0为自定义的下载hadoop文件的解压路径

7、修改hadoop的配置文件hadoop2.2.0/etc/hadoop

1、修改hadoop-env.sh 、yarn-env.sh 确保hadoop运行所需要的java环境
# The java implementation to use.

    export JAVA_HOME=/usr/java/jdk1.7.0_55
2、修改core-site.xml文件  定义文件系统的配置
<configuration>

 <property>  

    <name>fs.default.name</name>  

        <value>hdfs://master:9000/</value>  

 </property>  

 <property>

         <name>hadoop.tmp.dir</name>

         <value>/usr/zkt/hadoop2.2.0/tmp</value>

  </property>  

 </configuration>

3、修改hadfs-site.xml 定义名称节点和数据节点

<configuration>

<property>  

        <name>dfs.datanode.data.dir</name>  

        <value>/usr/zkt/hadoop2.2.0/hdf/data</value>  

        <final>true</final>  

   </property>  

     <property>  

       <name>dfs.namenode.name.dir</name>  

       <value>/usr/zkt/hadoop2.2.0/hdf/name</value>  

       <final>true</final>  

   </property>  

   <property>  

        <name>dfs.replication</name>  

        <value>2</value>  

   </property>

 <property>  

            <name>dfs.permissions</name>  

            <value>false</value>  

    </property> 

</configuration>

4、修改mapred-site.xml Configurations for MapReduce Applications

<property>  

        <name>mapreduce.framework.name</name>  

        <value>yarn</value>  

    </property>  

    <property>  

        <name>mapreduce.jobhistory.address</name>  

        <value>master:10020</value>  

    </property>  

  <property>  

        <name>mapreduce.jobhistory.webapp.address</name>  

        <value>master:19888</value>  

    </property>

5、修改yarn-site.xml文件

 该文件主要用于:
1、Configurations for ResourceManager and NodeManager:

 2、Configurations for ResourceManager:

 3、Configurations for NodeManager:

4、Configurations for History Server (Needs to be moved elsewhere):

<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>master:8032</value>  

</property>  

<property>  

    <name>yarn.resourcemanager.scheduler.address</name>  

    <value>master:8030</value>  

</property>  

<property>  

    <name>yarn.resourcemanager.resource-tracker.address</name>  

    <value>master:8031</value>  

</property>  

<property>  

    <name>yarn.resourcemanager.admin.address</name>  

    <value>master:8033</value>  

</property>  

  <property>  

    <name>yarn.resourcemanager.webapp.address</name>  

    <value>master:8088</value>  

</property>

8、创建第7步配置文件中多出的文件夹

data  tmp  name  log    mkdir -r  /usr/zkt/hadoop2.2.0/hdf/data 等

9、为这些文件夹赋权限 比较关键 不然文件生成的时候无文件创建、写权限

su - root

chown -R hadoop:hadoop /usr/zkt/hadoop2.2.0 (不明白的可以查看chown命令)

或者切换到hadoop用户下 通过chmod -R 777 data 赋权限

10、将配置好的hadoop分别拷贝到 slaver 和slaver2主机上

scp -r  /usr/zkt/hadoop2.2.0/hadoop-2.2.0    hadoop@slaver:/usr/zkt/hadoop2.2.0/

    scp -r  /usr/zkt/hadoop2.2.0/hadoop-2.2.0    hadoop@slaver2:/usr/zkt/hadoop2.2.0/

11、hadoop namenode的初始化

  如果 hadoop环境变量配置没问题直接使用
hdfs namenode -format
   hadoop command not found 解决办法:
echo $PATH
    发现hadoop的环境变量是:/home/hadoop/bin 而不是我们配置的环境变量,我们需要把hadoop-2.2.0包下的bin、sbin文件夹拷贝到/home/hadoop/下,再次echo $PATH,发现可以了。

12、关闭防火墙 三台服务器的防火墙都需要关闭

查看iptables状态:

service iptables status

iptables开机自动启动:

开启: chkconfig iptables on
关闭: chkconfig iptables off

iptables关闭服务:

开启: service iptables start
关闭: service iptables stop

13、启动hadoop

start-all.sh

    关闭hadoop

     stop-all.sh

14、查看启动的节点进程

jps

15、查看启动后的服务信息

master中应该有ResourceManager服务,slave中应该有nodemanager服务

查看集群状态:./bin/hdfs dfsadmin –report

查看文件块组成: ./bin/hdfsfsck / -files -blocks

查看各节点状态: http://master:50070

相关文章
|
分布式计算 资源调度 Hadoop
|
分布式计算 Hadoop Java
我用免费白拿的服务器搭建了一台基于CentOS7的Hadoop3.x伪分布式环境
我用免费白拿的服务器搭建了一台基于CentOS7的Hadoop3.x伪分布式环境
228 0
|
7月前
|
分布式计算 Hadoop Java
CentOS中构建高可用Hadoop 3集群
这个过程像是在一个未知的森林中探索。但当你抵达终点,看到那个熟悉的Hadoop管理界面时,所有的艰辛都会化为乌有。仔细观察,尽全力,这就是构建高可用Hadoop 3集群的挑战之旅。
287 21
|
Linux 开发工具 Windows
CentOS8 64位系统 搭建内网穿透frp
【10月更文挑战第23天】本文介绍了如何在Linux系统上搭建frp内网穿透服务,并配置Windows客户端进行访问。首先,通过系统信息检查和软件下载,完成frp服务端的安装与配置。接着,在Windows客户端下载并配置frpc,实现通过域名访问内网地址。最后,通过创建systemd服务,实现frp服务的开机自动启动。
897 20
|
分布式计算 Hadoop Java
Hadoop集群搭建,基于3.3.4hadoop和centos8【图文教程-从零开始搭建Hadoop集群】,常见问题解决
本文是一份详细的Hadoop集群搭建指南,基于Hadoop 3.3.4版本和CentOS 8操作系统。文章内容包括虚拟机创建、网络配置、Java与Hadoop环境搭建、克隆虚拟机、SSH免密登录设置、格式化NameNode、启动Hadoop集群以及通过UI界面查看Hadoop运行状态。同时,还提供了常见问题的解决方案。
Hadoop集群搭建,基于3.3.4hadoop和centos8【图文教程-从零开始搭建Hadoop集群】,常见问题解决
|
分布式计算 资源调度 Hadoop
centos7二进制安装Hadoop3
centos7二进制安装Hadoop3
|
分布式计算 Java Hadoop
centos7编译安装Hadoop3
centos7编译安装Hadoop3
|
SQL 分布式计算 Hadoop
centos7通过CDH部署Hadoop
centos7通过CDH部署Hadoop
|
分布式计算 Java Linux
centos7通过Ambari2.74部署Hadoop
centos7通过Ambari2.74部署Hadoop
|
存储 分布式计算 资源调度
centos 部署Hadoop-3.0-高性能集群(二)
centos 部署Hadoop-3.0-高性能集群(二)
164 0
centos 部署Hadoop-3.0-高性能集群(二)