Hadoop简介及集群的安装

Hadoop简介及安装过程

概述:Hadoop是Apache软件基金会旗下的一个开源分布式计算平台,以Hadoop分布式文件
系统(HDFS,Hadoop Distributed Filesystem)和MapReduce(Google MapReduce的开源
实现)为核心的hadoop为用户提供了系统底层细节透明的分布式基础框架。HDFS的高容错
性、高伸缩性等优点允许用户将Hadoop部署在低廉的硬件上,形成分布式系统;MapReduce
分布式编程模型允许用户在不了解分布式系统底层细节的情况下开发并行应用程序。所以
用户可以利用Hadoop轻松地组织计算机资源,从而搭建自己的分布式计算平台,并且可以
充分利用集群的计算和存储能力,完成海量数据的处理。

安装过程:

创建用户组
groupadd hadoop  添加一个组
useradd hadoop -g hadoop  添加用户

IP的配置
vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
TYPE=Ethernet
NETMASK=255.255.255.0
IPADDR=192.168.10.11
USERCTL=no
PEERDNS=yes
GATEWAY=192.168.10.1(路由器的IP地址)
保存退出,重启网卡
$ service network restart
查看ip
$ifconfig

关闭防火墙
$chkconfig iptables off
$iptables -F
$service iptables save

修改主机名
vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=master-1
GATEWAY=192.168.10.11
#其它节点依次修改

配置hosts文件
vi /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
#::1        localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.10.11 master-1
192.168.10.12 master-2
192.168.10.13 slave-1
192.168.10.14 slave-2

语言配置
如果不配置语言,中文打印出来的可能会是乱码,因为Hadoop默认的输出写死的是utf-8
vi /etc/sysconfig/i18n
LANG=en_US.UTF-8
查看修改后的情况
$echo $LANG
en_US.UTF-8

在linux服务器安装Hadoop之前,首先安装两个准备软件
1.JDK1.6或者更高版本,Hadoop 2.7.0仅支持JDK1.7+
2.SSH(安全外壳协议),推荐安装OpenSSH
   之所以安装这两个软件,首先Hadoop的编译及MapReduce的运行都需要使用JDK.
其次,Hadoop需要通过SSH来启动slave列表中各台主机的守护进程,因为SSH也是必须安装的。

(1)下载和安装JDK1.7
     下载地址:
     http://www.oracle.com/technetwork/java/javase/downloads/java-se-jdk-7-download-432154.html
     执行安装:
      rpm -ivh jdk-7-linux-i586.rpm
     配置环境变量:
     $vi /etc/profile
     在该profile文件中最下面添加:
      export JAVA_HOME="/usr/java/jdk1.7.0"
      export PATH="$PATH : $JAVA_HOME/bin:$JAVA_HOME/jre/bin:"
      export CLASSPATH="$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib"
     添加完毕保存退出
     $java -version
     出现java version "1.7.0"的时候表示安装成功。

(2)SSH免身份登录
     进入集群用户 home目录
     生成公钥和私钥 主节点到其它节点
     ssh-keygen -t rsa
     默认在 ~/.ssh目录生成两个文件:
      id_rsa      :私钥
      id_rsa.pub  :公钥
     导入公钥到认证文件,更改权限
     cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 
     首先将公钥复制到其他服务器,主节点向其它节点复制.
scp ~/.ssh/id_rsa.pub xxx@host:/home/xxx/id_rsa.pub  
以下命令需要在子节点上操作
cat ~/id_rsa.pub >> ~/.ssh/authorized_key
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
执行完以上几步,主节点主可以和子节点无密码连接了.测试命令
ssh 子节点主机名或ip地址,第一次连接需确认,第二次以后就不用了

(3)安装运行Hadoop
  Hadoop分别从三个角度将主机划分为两种角色。第一,划分为master和slave,
即主人与奴隶;第二,从HDFS的角度,将主机划分为NameNode和DataNode;第三,
从MapReduce的角度,将主机划分为JobTracker和TaskTracker。

  Hadoop版本方面有官方发行版与cloudera版,其中cloudera版是Hadoop的商用版本。

  Hadoop有三种运行方式:单节点方式、单机伪分布方式及全分布方式

   
解压介质:
$tar zxvf hadoop-2.0.0-cdh4.4.0.tar.gz
增加Hadoop环境变量
$vi .bashrc
HADOOP_HOME=/home/cup/hadoop-2.0.0-cdh4.2.1
HADOOP_MAPRED_HOME=$HADOOP_HOME
HADOOP_COMMON_HOME=$HADOOP_HOME
HADOOP_HDFS_HOME=$HADOOP_HOME
YARN_HOME=$HADOOP_HOME
HADOOP_CONF_HOME=${HADOOP_HOME}/etc/hadoop
YARN_CONF_DIR=${HADOOP_HOME}/etc/hadoop
保存并退出

修改Hadoop配置文件
首先,在hadoop中添加JAVA环境
vi hadoop-env.sh
export JAVA_HOME=/usr/java/jdk1.7.0
保存并退出

其次,配置hadoop相关配置文件


$vi core-site.xml

      
      <property>
          <name>fs.defaultFS</name> 主节点名字,确定主节点机器
          <value>hdfs://master-1:9000</value>
      </property>
      <property>
           <name>hadoop.tmp.dir</name>
           <value>/home/hadoop/tmp</value>
      </property>
      <property>  
           <name>fs.trash.interval</name>  
           <value>1440</value>  
      </property>  

$vi hdfs-site.xml
   
   <property>
       <name>dfs.namenode.name.dir</name>
       <value>/home/hadoop/hadoopworkspace/dfs/name</value>
   </property>
   <property>
       <name>dfs.datanode.data.dir</name>
       <value>/home/hadoop/hadoopworkspace/dfs/data</value>
   </property>
   <property>
       <name>dfs.replication</name> 备份数量
       <value>3</value>
   </property>
   <property>
       <name>dfs.permissions</name> 权限认证(默认false)
       <value>false</value>
   </property>  

$vi mapred-site.xml
    
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.job.tracker</name>
<value>hdfs://master-1:9001</value>
<final>true</final>
</property>
<property>
<name>mapreduce.jobtracker.address</name>
<value>master-1:9002</value>
<description>The host and port that the MapReduce job tracker runs
at.  If "local", then jobs are run in-process as a single map
and reduce task.
</description>
</property>
<property>
<name>mapred.system.dir</name>
<value>/home/hadoop/hadoopworkspace/mapred/system</value>
<final>true</final>
</property>
<property>
<name>mapred.local.dir</name>
<value>/home/hadoop/hadoopworkspace/mapred/local</value>
<final>true</final>
</property>

$vi yarn-site.xml


        <property>
<name>yarn.resourcemanager.address</name>
<value>master-1:8080</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master-1:8081</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master-1:8082</value>
</property>


<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>
============
配置节点,当然如果要是安装的伪分布模式,slaves可以配置成master-1
$vi slaves
 slave-1
 slave-2
保存并退出

启动集群
$hdfs namenode -format    //格式化文件系统
$bin/start-all.sh

浏览器中输入 
http://192.168.10.11:8088可以查看mapreduce集群状态
http://192.168.10.11:50070可以查看hdfs状态

$jps 查看进程
NameNode: 
  ResourceManager
  NameNode 
  SecondaryNameNode
DataNode: 
  NodeManager 

  DataNode


注:有些朋友在构建集群的过程中,可能第一次的时候搭建成功了,然后又修改了某些配置文件、又执行了

hdfs namenode -format,结果发现怎么都启动不了datanode了。

原因:数据节点的namespaceID与NN的namespaceID不一致,namespaceID是文件系统的唯一标识,当文件系统

第一次格式化时便会被创建,这个标识符也要求各DataNode和NameNode保持一致。

解决方案:

修改namespaceID, $vi /hadoop/dfs/data/current/VERSION

#Tue Jul 25 17:31:22 JST 2015
namespaceID=590008784
storageID=DS-230267979-192.168.10.12-50010-1342056014871
cTime=0


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Hadoop和Spark是两个常用的大数据处理框架,它们可以在集群环境下进行安装和配置。下面是它们的具体安装步骤: Hadoop集群安装步骤: 1. 下载Hadoop:从Apache官网下载Hadoop的稳定版本,并解压到指定目录。 2. 配置环境变量:将Hadoop的bin目录添加到系统的PATH环境变量。 3. 配置Hadoop集群:编辑Hadoop的配置文件,包括core-site.xml、hdfs-site.xml、mapred-site.xml和yarn-site.xml等,设置相关参数,如文件系统路径、节点信息、资源管理等。 4. 配置SSH免密登录:确保所有节点之间可以通过SSH免密登录,以便进行集群管理和通信。 5. 格式化HDFS:在NameNode节点上执行命令格式化HDFS文件系统,创建初始的文件系统目录结构。 6. 启动Hadoop集群:依次启动Hadoop集群的各个组件,包括NameNode、DataNode、ResourceManager和NodeManager等。 Spark集群安装步骤: 1. 下载Spark:从Apache官网下载Spark的稳定版本,并解压到指定目录。 2. 配置环境变量:将Spark的bin目录添加到系统的PATH环境变量。 3. 配置Spark集群:编辑Spark的配置文件,包括spark-env.sh和spark-defaults.conf等,设置相关参数,如集群管理器、内存分配、日志路径等。 4. 配置SSH免密登录:确保所有节点之间可以通过SSH免密登录,以便进行集群管理和通信。 5. 启动Spark集群:使用Spark提供的启动脚本,依次启动Master节点和Worker节点,启动后它们会自动连接成一个集群

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值