hadoop集群的安装步骤和配置

hadoop是由java语言编写的,首先我们肯定要在电脑中安装jdk,配置好jdk的环境,接下来就是安装hadoop集群的步骤了,在安装之前需要创建hadoop用户组和用户,另外我此时使用的是一主(master)三从(slave1、slave2、slave3)。

1、 创建Hadoop组和hadoop用户

  1. [root@master ~]# groupadd hadoop
  2. [root@master ~]# useradd -g hadoop hadoop

2、 上传、解压hadoop压缩包和重名解压后的目录

切换到hadoop用户:

  1. [root@master ~]# su – hadoop

上传hadoop安装包:

解压hadoop安装包和重命名解压目录:

  1. [hadoop@master ~]$ tar -zxvf hadoop-1.0.4.tar.gz
  2. [hadoop@master ~]$ mv hadoop-1.0.4 hadoop

3、 配置hadoop的的配置文件

进入hadoop的conf目录:

  1. [hadoop@master ~]$ cd hadoop
  2. [hadoop@master hadoop]$ cd conf
  3. [hadoop@master conf]$
  4. [hadoop@master conf]$ ll
  5. 总用量 76
  6. -rw-rw-r--. 1 hadoop hadoop 7457 10月  3 2012 capacity-scheduler.xml
  7. -rw-rw-r--. 1 hadoop hadoop  535 10月  3 2012 configuration.xsl
  8. -rw-rw-r--. 1 hadoop hadoop  178 10月  3 2012 core-site.xml
  9. -rw-rw-r--. 1 hadoop hadoop  327 10月  3 2012 fair-scheduler.xml
  10. -rw-rw-r--. 1 hadoop hadoop 2237 10月  3 2012 hadoop-env.sh
  11. -rw-rw-r--. 1 hadoop hadoop 1488 10月  3 2012 hadoop-metrics2.properties
  12. -rw-rw-r--. 1 hadoop hadoop 4644 10月  3 2012 hadoop-policy.xml
  13. -rw-rw-r--. 1 hadoop hadoop  178 10月  3 2012 hdfs-site.xml
  14. -rw-rw-r--. 1 hadoop hadoop 4441 10月  3 2012 log4j.properties
  15. -rw-rw-r--. 1 hadoop hadoop 2033 10月  3 2012 mapred-queue-acls.xml
  16. -rw-rw-r--. 1 hadoop hadoop  178 10月  3 2012 mapred-site.xml
  17. -rw-rw-r--. 1 hadoop hadoop   10 10月  3 2012 masters
  18. -rw-rw-r--. 1 hadoop hadoop   10 10月  3 2012 slaves
  19. -rw-rw-r--. 1 hadoop hadoop 1243 10月  3 2012 ssl-client.xml.example
  20. -rw-rw-r--. 1 hadoop hadoop 1195 10月  3 2012 ssl-server.xml.example
  21. -rw-rw-r--. 1 hadoop hadoop  382 10月  3 2012 taskcontroller.cfg

这里的配置文件有core-site.xml,hadoop-env.sh,hdfs-site.xml,mapred-site.xml,masters,slaves都需要修改,下面是这几个配置文件的内容:

core-site.xml配置文件的内容:

  1. <?xml version="1.0"?>
  2. <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
  3. <!-- Put site-specific property overrides in this file. -->
  4. <configuration>
  5. <property>
  6. <name>fs.default.name</name>#++++hdfs的默认路径
  7. <value>hdfs://master:9000</value>
  8. </property>
  9. </configuration>

hadoop-env.sh配置文件最后面添加的内容:

  1. export JAVA_HOME=/usr/jdk #++++jdk的环境变量++++#

hdfs-site.xml配置文件的内容:

  1. <?xml version="1.0"?>
  2. <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
  3. <!-- Put site-specific property overrides in this file. -->
  4. <configuration>
  5. <property>
  6. <name>dfs.replication</name>#++++hdfs的备份数
  7. <value>3</value>
  8. </property>
  9. <property>
  10. <name>dfs.name.dir</name>  #++++namenode的文件存储路径,包括edites、fsimage、fstime、VERSION
  11. <value>/home/hadoop/hadoop/namenode/</value>
  12. </property>
  13. <property>
  14. <name>dfs.data.dir</name>  #++++datanode的存储路径,包含数据和数据的原信息。
  15. <value>/home/hadoop/hadoop/data/</value>
  16. </property>
  17. <property>
  18. <name>hadoop.tmp.dir</name>  #++++mapreduce计算的中间结果的临时存储文件夹
  19. <value>/home/hadoop/hadoop/tmp/</value>
  20. </property>
  21. <property>
  22. <name>dfs.permissions</name>#++++认证策略
  23. <value>false</value>
  24. </property>
  25. </configuration>

mapred-site.xml配置文件的内容:

  1. <?xml version="1.0"?>
  2. <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
  3. <!-- Put site-specific property overrides in this file. -->
  4. <configuration>
  5. <property>
  6. <name>mapred.job.tracker</name>  #++++jobtracker的ip和端口
  7. <value>master:9001</value>
  8. </property>
  9. <property>
  10. <name>mapred.tasktracker.map.tasks.maximum</name>  #++++maptask的最大数
  11. <value>2</value>
  12. </property>
  13. <property>
  14. <name>mapred.tasktracker.reduce.tasks.maximum</name>  #++++reducetask的最大数
  15. <value>2</value>
  16. </property>
  17. </configuration>

masters配置文件的内容:

  1. master
  2. #SecondaryNameNode的位置,可以配置多个

slaves配置文件的内容:

  1. slave1#++++slave的ip或者域名
  2. slave2
  3. slave3

说明:这些配置文件都是事先配置好的,只要上传到conf目录下,替换之前的文件即可,采用这种方式是因为在Linux命令行下直接打开文件在里面输入内容更容易错并且不方便。这里还有一点需要注意,上面配置文件中存在的汉字是用于注释的,实际上传的文件是没有注释的,因为不支持汉字。

上传配置文件过程:

4、 到这里hadoop就安装结束了,接下来就是将安装完成的hadoop发送到其他的虚拟机中。

  1. [hadoop@master conf]$ scp -r /home/hadoop/hadoop hadoop@slave1:/home/hadoop
  2. [hadoop@master conf]$ scp -r /home/hadoop/hadoop hadoop@slave2:/home/hadoop
  3. [hadoop@master conf]$ scp -r /home/hadoop/hadoop hadoop@slave3:/home/hadoop

向另外三台机器发送hadoop,记住这里发送到另外一台机器的hadoop用户下,而非root用户下。发送完成,就意味着三台机器的hadoop都已经安装完成。

5、 安装ssh

为了在master机器中启动集群中所有的hadoop,这里安装ssh是提供启动方便。

将slave1、slave2、slave3三台机器都切换到hadoop用户;

在slave1、slave2、slave3三台机器中执行ssh localhost,是为了生成.ssh目录,这个目录默认是隐藏的需要使用ll –a命令查看。

  1. [hadoop@slave1 ~]$ ll -a
  2. 总用量 32
  3. drwx------.  5 hadoop hadoop 4096 11月 20 23:09 .
  4. drwxr-xr-x.  3 root   root   4096 11月 20 22:20 ..
  5. -rw-r--r--.  1 hadoop hadoop   18 7月  18 2013 .bash_logout
  6. -rw-r--r--.  1 hadoop hadoop  176 7月  18 2013 .bash_profile
  7. -rw-r--r--.  1 hadoop hadoop  124 7月  18 2013 .bashrc
  8. drwxr-xr-x.  2 hadoop hadoop 4096 11月 12 2010 .gnome2
  9. drwxr-xr-x. 14 hadoop hadoop 4096 11月 20 23:03 hadoop
  10. drwx------.  2 hadoop hadoop 4096 11月 20 23:09 .ssh

在master机器中生成公钥和私钥:

进入.ssh目录,移除里面的known_hosts文件

  1. [hadoop@master ~]$ cd .ssh
  2. [hadoop@master .ssh]$ ll
  3. 总用量 4
  4. -rw-r--r--. 1 hadoop hadoop 1209 11月 20 23:05 known_hosts
  5. [hadoop@master .ssh]$
  6. [hadoop@master .ssh]$ rm -rf known_hosts

生成公钥和私钥:

  1. [hadoop@master .ssh]$ ssh-keygen -t rsa

出现需要输入内容的对话,一律回车,只到生成结束

把公钥放到认证列表中:

  1. [hadoop@master .ssh]$ cat id_rsa.pub >> authorized_keys

此时.ssh目录下回多出一个文件authorized_keys

给authorized_keys文件授权:

  1. [hadoop@master .ssh]$ chmod 600 authorized_keys

将authorized_keys文件发送到slave1、slave2、slave3的hadoop用户下的.ssh目录下:

  1. [hadoop@master .ssh]$ scp ~/.ssh/authorized_keys hadoop@slave1:~/.ssh/
  2. [hadoop@master .ssh]$ scp ~/.ssh/authorized_keys hadoop@slave2:~/.ssh/
  3. [hadoop@master .ssh]$ scp ~/.ssh/authorized_keys hadoop@slave3:~/.ssh/

至此ssh就安装成功了。

6、 启动hadoop,这里要注意,要使用hadoop用户,不能用root用户。

格式化集群:

  1. [hadoop@master .ssh]$ hadoop namenode –format

启动集群:

  1. [hadoop@master ~]$ start-all.sh
  2. Warning: $HADOOP_HOME is deprecated.
  3. starting namenode, logging to /home/hadoop/hadoop/libexec/../logs/hadoop-hadoop-namenode-master.out
  4. slave3: starting datanode, logging to /home/hadoop/hadoop/libexec/../logs/hadoop-hadoop-datanode-slave3.out
  5. slave2: starting datanode, logging to /home/hadoop/hadoop/libexec/../logs/hadoop-hadoop-datanode-slave2.out
  6. slave1: starting datanode, logging to /home/hadoop/hadoop/libexec/../logs/hadoop-hadoop-datanode-slave1.out
  7. The authenticity of host 'master (192.168.56.200)' can't be established.
  8. RSA key fingerprint is 63:e7:e2:e1:ae:bb:59:f8:ec:e8:23:e0:22:3e:ac:16.
  9. Are you sure you want to continue connecting (yes/no)? yes
  10. master: Warning: Permanently added 'master,192.168.56.200' (RSA) to the list of known hosts.
  11. master: starting secondarynamenode, logging to /home/hadoop/hadoop/libexec/../logs/hadoop-hadoop-secondarynamenode-master.out
  12. starting jobtracker, logging to /home/hadoop/hadoop/libexec/../logs/hadoop-hadoop-jobtracker-master.out
  13. slave2: starting tasktracker, logging to /home/hadoop/hadoop/libexec/../logs/hadoop-hadoop-tasktracker-slave2.out
  14. slave1: starting tasktracker, logging to /home/hadoop/hadoop/libexec/../logs/hadoop-hadoop-tasktracker-slave1.out
  15. slave3: starting tasktracker, logging to /home/hadoop/hadoop/libexec/../logs/hadoop-hadoop-tasktracker-slave3.out

这样集群就启动成功了。

7、 jps命令测试是否安装成功

master机器:

  1. [hadoop@master ~]$ jps
  2. 2372 JobTracker
  3. 2298 SecondaryNameNode
  4. 2128 NameNode
  5. 2471 Jps

slave1机器:

  1. [hadoop@slave1 ~]$ jps
  2. 2185 Jps
  3. 2019 DataNode
  4. 2106 TaskTracker

slave2机器:

  1. [hadoop@slave2 ~]$ jps
  2. 2101 TaskTracker
  3. 2183 Jps
  4. 2013 DataNode

slave3机器:

  1. [hadoop@slave3 ~]$ jps
  2. 2115 TaskTracker
  3. 2211 Jps
  4. 2041 DataNode

至此hadoop集群的安装和启动就完成了,启动集群只需要在master机器上执行start-all.sh就可以。停止集群使用stop-all.sh命令。

安装和配置hadoop集群步骤的更多相关文章

  1. Linux中安装配置hadoop集群

    一. 简介 参考了网上许多教程,最终把hadoop在ubuntu14.04中安装配置成功.下面就把详细的安装步骤叙述一下.我所使用的环境:两台ubuntu 14.04 64位的台式机,hadoop选择 ...

  2. hadoop集群环境搭建之安装配置hadoop集群

    在安装hadoop集群之前,需要先进行zookeeper的安装,请参照hadoop集群环境搭建之zookeeper集群的安装部署 1 将hadoop安装包解压到 /itcast/  (如果没有这个目录 ...

  3. centos7配置hadoop集群

    一:测试环境搭建规划: 主机名称 IP 用户 HDFS YARN hadoop11 192.168.1.101 hadoop NameNode,DataNode NodeManager hadoop1 ...

  4. yum安装CDH5.5 Hadoop集群

    1.环境说明 系统环境: 系统环境:centos6.7 Hadoop版本:CDH5.5 JDK运行版本:1.7.0_67 集群各节点组件分配: 2.准备工作 安装 Hadoop 集群前先做好下面的准备 ...

  5. Redis 安装、配置、集群

    1.   Redis的安装 1.1. Redis的安装 Redis是c语言开发的. 安装redis需要c语言的编译环境.如果没有gcc需要在线安装.yum install gcc-c++ 安装步骤: ...

  6. 在 Linux 服务器上搭建和配置 Hadoop 集群

    实验条件:3台centos服务器,jdk版本1.8.0,Hadoop 版本2.8.0 注:hadoop安装和搭建过程中都是在用户lb的home目录下,master的主机名为host98,slave的主 ...

  7. zookeeper之一 安装和配置(单机+集群)

    这里我以zookeeper3.4.10.tar.gz来演示安装,安装到/usr/local/soft目录下. 一.单机版配置 1.安装和配置 #.下载 wget http://apache.fayea ...

  8. linux配置hadoop集群

    ①安装虚拟机 ②为虚拟机添加共享文件 右击已经安装好的虚拟机 设置—>选项—>共享文件 ③配置映射 sudo nano /etc/network/interfaces   重启网络:sud ...

  9. 为Linux集群创建新账户,并配置hadoop集群

    转自:http://blog.csdn.net/bluesky8640/article/details/6945776 之前装python.jdk.hadoop都是用的root账户,这是一个绝对的失策 ...

随机推荐

  1. 关于Navicat连接MySQL 报 Authentication plugin 'caching_sha2_password' cannot be loaded

    报错原因: 报这个错是因为MySQL8使用了 caching_sha2_password 加密方式而之前MySQL使用的是 mysql_native_password 加密方式,而你的Navicat不 ...

  2. 使用Linux命名将代码上传到GitHub

    GitHub代码上传教程 https://my.oschina.net/baishi/blog/520791 这篇文章讲得挺清楚的,但是在上传的时候出现了问题 ! [rejected] master ...

  3. NOIP模拟 candy

    题目描述 一天,小 DD 决定买一些糖果.他决定在两家不同的商店中买糖果,来体验更多的口味. 在每家商店中都有 nn 颗糖果,每颗糖果都有一个权值:愉悦度,代表小 DD 觉得这种糖果有多好吃.其中,第 ...

  4. 阅读《大型网站技术架构》,并结合"重大需求征集系统"有感

    今天阅读了<大型网站技术架构:核心原理与案例分析>的第五.六.七章.这三张主要是讲述了一个系统的可用性.伸缩性和可扩展性.而根据文中所讲述的,一个系统的可用性主要是体现在这个系统的系统服务 ...

  5. 八、USB驱动分析

    学习目标:分析USB驱动源码结构. 一.Windows下USB驱动理论问题 1. 当usb设备接入PC时,右下角弹出"发现AAA",并弹出对话框,提示安装驱动程序.没有驱动程序,W ...

  6. python学习——函数

     一.在python的世界里什么是函数: 答:函数通常是用来实现某一个功能二被封装成的一个对象,是用来实现代码复用的常用方式 现在有一个需求,假如你在不知道len()方法的情况下,要你计算字符串‘he ...

  7. (数据科学学习手札06)Python在数据框操作上的总结(初级篇)

    数据框(Dataframe)作为一种十分标准的数据结构,是数据分析中最常用的数据结构,在Python和R中各有对数据框的不同定义和操作. Python 本文涉及Python数据框,为了更好的视觉效果, ...

  8. P1396 营救(最小瓶颈路)

    题目描述 “咚咚咚……”“查水表!”原来是查水表来了,现在哪里找这么热心上门的查表员啊!小明感动的热泪盈眶,开起了门…… 妈妈下班回家,街坊邻居说小明被一群陌生人强行押上了警车!妈妈丰富的经验告诉她小 ...

  9. 【廖雪峰老师python教程】——map/reduce

    Map[单个操作对不同单一对象重复进行] map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回. 返回结果注 ...

  10. 接口测试工具postman(二)创建新项目

    1.此次添加一个request,可以点击左上角的New的下拉选择Request,或者点击New弹出选项框点击Request 2.弹出新增request页面 3.添加请求的参数等 4.也可以直接添加新请 ...