一、安装装备

下载安装包:

vmware workstations pro 12

三台centos7.1 mini 虚拟机

网络配置NAT网络如下:

二、创建hadoop用户和hadoop用户组

1. groupadd hadoop

2. useradd hadoop

3. 给hadoop用户设置密码

在root用户下:passwd hadoop设置新密码

三、关闭防火墙和selinux

1. yum install -y firewalld

2. systemctl stop firewalld

3. systemctl disable firewalld

4. vi /etc/selinux/config

5.全部设置好重启虚拟机

四、三台虚拟机之间ssh互通

1. 在hadoop用户下

1. ssh-keygen -t rsa

2. ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub hadoop@虚拟机ip

3. ssh namenode/dnode1/dnode2

五、安装Java

1. 官网下载jdk1.8.rpm包

2.  rpm -ivh jdk1.8.rpm

六、安装hadoop

1. 官网下载hadoop2.7.3.tar.gz

2. tar xzvf hadoop2.7.3.tar.gz

3. mv hadoop2.7.3 /usr/local/

4. chown -R hadoop:hadoop /usr/local/hadoop-2.7.3

七、环境变量配置

1.vim /home/hadoop/.bash_profile

source /home/hadoop/.bash_profile

  1. export JAVA_HOME=/usr/java/jdk1.8.0_101
  2. export JRE_HOME=$JAVA_HOME/jre
  3. export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
  4. export HADOOP_HOME=/usr/local/hadoop-2.7.3
  5. export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
  6. export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop
  7. export SCALA_HOME=/usr/local/scala-2.11.8
  8. export SPARK_HOME=/usr/local/spark-2.0.0
  9. PATH=$PATH:$HOME/bin:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$SCALA_HOME/bin:$SPARK_HOME/bin
  10. export PATH

八、建立hadoop相关目录

  1. mkdir -p /home/hadoop/hd_space/tmp
  2. mkdir -p /home/hadoop/hd_space/hdfs/name
  3. mkdir -p /home/hadoop/hd_space/hdfs/data
  4. mkdir -p /home/hadoop/hd_space/mapred/local
  5. mkdir -p /home/hadoop/hd_space/mapred/system
  6. chown -R hadoop:hadoop /home/hadoop

注意:至此,可以克隆虚拟机,不必每台都安装centos,克隆之后再建立互通

九、配置hadoop

1. 配置core-site.xml

vim /usr/local/hadoop-2.7.3/etc/hadoop/core-site.xml

  1. <configuration>
  2. <property>
  3. <name>fs.defaultFS</name>
  4. <value>hdfs://namenode:9000</value>
  5. </property>
  6. <property>
  7. <name>hadoop.tmp.dir</name>
  8. <value>/home/hadoop/hd_space/tmp</value>
  9. </property>
  10. <property>
  11. <name>io.file.buffer.size</name>
  12. <value>131702</value>
  13. </property>
  14. </configuration>

2. 配置hdfs-site.xml

  1. <property>
  2. <name>dfs.namenode.name.dir</name>
  3. <value>/home/hadoop/hd_space/hdfs/name</value>?
  4. </property>
  5. <property>
  6. <name>dfs.datanode.data.dir</name>
  7. <value>/home/hadoop/hd_space/hdfs/data</value>
  8. </property>
  9. <property>
  10. <name>dfs.replication</name>
  11. <value>2</value>
  12. </property>
  13. <property>
  14. <name>dfs.namenode.secondary.http-address</name>
  15. <value>dnode1:50090</value>
  16. </property>
  17. <property>
  18. <name>dfs.namenode.secondary.https-address</name>
  19. <value>dnode1:50091</value>
  20. </property>

3. 配置mapred-site.xml

  1. <configuration>
  2. <property>
  3. <name>mapreduce.cluster.local.dir</name>
  4. <value>/home/hadoop/hd_space/mapred/local</value>
  5. </property>
  6. <property>
  7. <name>mapreduce.cluster.system.dir</name>
  8. <value>/home/hadoop/hd_space/mapred/system</value>
  9. </property>
  10. <property>
  11. <name>mapreduce.framework.name</name>
  12. <value>yarn</value>
  13. </property>
  14. <property>
  15. <name>mapreduce.jobhistory.address</name>
  16. <value>namenode:10020</value>
  17. </property>?
  18. <property>
  19. <name>mapreduce.jobhistory.webapp.address</name>
  20. <value>namenode:19888</value>
  21. </property>?
  22. </configuration>

4.配置yarn-site.xml

  1. <configuration>
  2. <!-- Site specific YARN configuration properties -->
  3. <property>
  4. <description>The?hostname?of?the?RM.</description>
  5. <name>yarn.resourcemanager.hostname</name>
  6. <value>namenode</value>
  7. </property>
  8. <property>
  9. <description>the?valid?service?name?should?only?contain?a-zA-Z0-9_?and?can?not?start?with?numbers</description>
  10. <name>yarn.nodemanager.aux-services</name>
  11. <value>mapreduce_shuffle</value>
  12. </property>?
  13. </configuration>

5. 配置slaves,两个数据节点dnode1,dnode2

6. 拷贝配置文件目录到另外两台数据节点

  1. for target in dnode1 dnode2 do 
  2.     scp -r /usr/local/hadoop-2.7.3/etc/hadoop $target:/usr/local/hadoop-2.7.3/etc
  3. done

十、启动hadoop

1. 用户登陆hadoop

2. 格式化hdfs

hdfs namenode -format

3. 启动dfs

start-dfs.sh

4. 启动yarn

start-yarn.sh

十一、错误解决

1. 出现以下环境变量JAVA_HOME找不到。

解决办法:需要重新配置/usr/local/hadoop-2.7.3/libexec/hadoop-config.sh

2. oracle数据出现以下错误解决

TNS-12555: TNS:permission denied,监听器启动不了 lsnrctl start(启动)/status(查看状态)/stop(停止)

解决办法:chown -R hadoop:hadoop /var/tmp/.oracle

chmod 777 /var/tmp/.oracle

问题:

十二、客户端验证

1. jps检查进程

至此,hadoop已经安装完毕

十三、测试hadoop,hadoop用户登陆

运行hadoop自带的wordcount实例

1. 建立输入文件

mkdir -p -m 755 /home/hadoop/test

cd /home/hadoop/test

echo "My first hadoop example. Hello Hadoop in input. " > testfile.txt

2. 建立目录

hadoop fs -mkdir /test

#hadoop fs -rmr /test 删除目录

3. 上传文件

hadoop fs -put testfile.txt /test

4. 执行wordcount程序

hadoop jar /usr/local/hadoop-2.7.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount /test/testfile.txt /test/output

5. 查看结果

hadoop fs -cat /test/output/part-r-00000

十四、安装Spark2.0.0

1. 解压scala-2.11.8.tar.gz到/usr/local

tar xzvf scala-2.11.8 

mv scala-2.11.8 /usr/local

2. 解压spark-2.0..0.tgz 到/usr/local

tar xzvf spark-2.0.0.tar.gz 

mv spark-2.0.0 /usr/local

3.配置spark

cd /usr/local/spark-2.0.0/conf

vim spark-env.sh

  1. export JAVA_HOME=/usr/java/jdk1.8.0_101
  2. export SCALA_HOME=/usr/local/scala-2.11.8
  3. export SPARK_HOME=/usr/local/spark-2.0.0
  4. export SPARK_MASTER_IP=namenode
  5. export SPARK_WORKER_MEMORY=1024m
  6. export master=spark://namenode:7070

vim slaves

同步资源及配置文件到其它两个节点(hadoop用户)

  1. for target in dnode1 dnode2 do
  2. scp -r /usr/local/scala-2.11.8 $target:/usr/local
  3. scp -r /usr/local/spark-2.0.0 $target:/usr/local
  4. done

4.启动spark集群

cd $SPARK_HOME 

# Start Master 

./sbin/start-master.sh  

# Start Workers 

./sbin/start-slaves.sh

5.客户端验证

在centos7上安装部署hadoop2.7.3和spark2.0.0的更多相关文章

  1. Docker(2)--Centos7 上安装部署

    Centos7 上安装docker Docker从1.13版本之后采用时间线的方式作为版本号,分为社区版CE和企业版EE. 社区版是免费提供给个人开发者和小型团体使用的,企业版会提供额外的收费服务,比 ...

  2. Centos7.5安装分布式Hadoop2.6.0+Hbase+Hive(CDH5.14.2离线安装tar包)

    Tags: Hadoop Centos7.5安装分布式Hadoop2.6.0+Hbase+Hive(CDH5.14.2离线安装tar包) Centos7.5安装分布式Hadoop2.6.0+Hbase ...

  3. 在Centos7上安装漏洞扫描软件Nessus

    本文摘要:简单叙述了在Centos7上安装Nessus扫描器的过程   Nessus 是目前全世界最多人使用的系统漏洞扫描与分析软件,Nessus的用户界面是基于Web界面来访问Nessus漏洞扫描器 ...

  4. CentOS7.4安装部署openstack [Liberty版] (二)

    继上一篇博客CentOS7.4安装部署openstack [Liberty版] (一),本篇继续讲述后续部分的内容 一.添加块设备存储服务 1.服务简述: OpenStack块存储服务为实例提供块存储 ...

  5. CentOS7.4安装部署openstack [Liberty版] (一)

    一.OpenStack简介 OpenStack是一个由NASA(美国国家航空航天局)和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目. OpenStack是一个 ...

  6. centos7.8 安装部署 k8s 集群

    centos7.8 安装部署 k8s 集群 目录 centos7.8 安装部署 k8s 集群 环境说明 Docker 安装 k8s 安装准备工作 Master 节点安装 k8s 版本查看 安装 kub ...

  7. 怎么在linux上安装部署jenkins

    怎么在linux上安装部署jenkins 作为一个非科班出身自学的小白,踩过很多的坑,特此留下记录 以下在虚拟机上示例 系统:linux(centos7) 操作方式:xshell连接终端操作 教程之前 ...

  8. 在centos7上安装Jenkins

    在centos7上安装Jenkins 安装 添加yum repos,然后安装 sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins ...

  9. 在 CentOS7 上安装 zookeeper-3.4.9 服务

    在 CentOS7 上安装 zookeeper-3.4.9 服务 1.创建 /usr/local/services/zookeeper 文件夹: mkdir -p /usr/local/service ...

随机推荐

  1. java获取时间段内的所有日期

        public static void main(String[] args) {        SimpleDateFormat dateFormat = new SimpleDateForm ...

  2. HBase简介及集群安装

    一.Hbase概述 Apache HBase™是Hadoop数据库,是一个分布式,可扩展的大数据存储. 当您需要对大数据进行随机,实时读/写访问时,请使用Apache HBase™.该项目的目标是托 ...

  3. Python的subprocess模块(二)

    原文:http://blog.chinaunix.net/uid-26000296-id-4461522.html 一.subprocess 模块简介 subprocess最早是在2.4版本中引入的. ...

  4. NoSQL 数据库概览及其与 SQL 语法的比较

    NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用的难题. 本文对NoSQL数据库的定义.分类.特征.当前比较流行的NoSQL数据库系统等进行了简单的介绍,并对N ...

  5. MySQL协议分析(1)

    MySQL协议分析 此阶段的协议分析是在未压缩未加密情况下的协议分析 思路: 结合Oracle官网和自己用wireshark抓的网络数据包进行协议分析 官网说明 mysql包共分为4段,格式如下: 第 ...

  6. Vi文本编辑

    vi 有3种工作模式,分别是命令行模式.插入模式.底行模式 . 命令行模式:最初进入的一般模式,该模式下可以移动光标进行浏览,整行删除,但无法编辑文字.插入模式:只有在该模式下,用户才能进行文字的编辑 ...

  7. 使用stringstream格式化字符串

    stringstream所在头文件为<sstream> 一般有如下常用功能: 1.安全格式化字符串 stringstream常用来安全的格式化若干个字符串,数值到一个缓冲区, 而不用担心溢 ...

  8. Apple Pay编程指导

    1.About Apple PayApple Pay是一种移动支付技术,让使用者把它们对真实的物品和服务的支付信息以一种方便和安全的方式给你. 对于在app中给出的数字物品和服务,可查看In-App ...

  9. 11、classmethod和staticmethod

    类中定义的函数有两大类(3小种)用途,一类是绑定方法,另外一类是非绑定方法 1. 绑定方法:特点:绑定给谁就应该由谁来调用,谁来调用就会将谁当作第一个参数自动传入1.1 绑定给对象的:类中定义的函数默 ...

  10. python 利用正则构建一个计算器

    该计算器主要分为四个模块: weclome_func函数用来进入界面获取表达式,并判断表达式是否正确,然后返回表达式: add_sub函数用来进行加减运算,如果有多个加减运算,会递归,最后返回对应的值 ...