一、安装装备

下载安装包:

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. js当前页面刷新并且清空文本内容的方法

    js当前页面刷新并且清空文本内容的方法: 1.js代码:location.reload(); 2.html:<body onload="document.forms[0].reset( ...

  2. POJ1470Closest Common Ancestors 最近公共祖先LCA 的 离线算法 Tarjan

    该算法的详细解释请戳: http://www.cnblogs.com/Findxiaoxun/p/3428516.html #include<cstdio> #include<alg ...

  3. centos7手动编译安装Libvirt常见问题

    由于功能需要,体验了手动编译安装Libvrt,还是碰到了不少问题,这里总结如下仅限于centos7: 1.configure: error: You must install the pciacces ...

  4. C++ 带有通配符*与?的字符串匹配

    题目:两个字符串,一个是普通字符串,另一个含有*和?通配符,*代表零个到多个任意字符,?代表一个任意字符,通配符可能多次出现.写一个算法,比较两个字符串是否相等. 发现许多公司笔试面试都有这道题目,于 ...

  5. Linux之Redis-redis哨兵集群详解

    1.Sentinel 哨兵 Sentinel(哨兵)是Redis 的高可用性解决方案:由一个或多个Sentinel 实例 组成的Sentinel 系统可以监视任意多个主服务器,以及这些主服务器属下的所 ...

  6. HTTP来源地址

    HTTP来源地址(referer,或HTTP referer),是HTTP表头的一个字段,用来表示从哪儿链接到目前的网页,采用的格式是URL. 换句话说,借着HTTP来源地址,目前的网页可以检查访客从 ...

  7. phpcms调用子栏目名称/文章怎么操作

    phpcms调用子栏目名称相对比较简单一些,也是用{pc:content}来调用,只是把action设置为category,catid如果为0的话是调用所有一级栏目,如果是其他数字的话,则调用相应栏目 ...

  8. JavaWeb—Base64编码(转载)

    基本概念 Base64这个术语最初是在“MIME内容传输编码规范”中提出的.Base64不是一种加密算法,虽然编码后的字符串看起来有点加密的赶脚.它实际上是一种“二进制到文本”的编码方法,它能够将给定 ...

  9. DEPHI XE5 XE6 ANDROID IOS开发的几点体会

    DEPHI XE5 XE6 ANDROID IOS开发的几点体会 2014-09-04 20:48 1.不纠结于APK或者APP的大小.现在的客户端设备都很廉价,300元以上的新安卓设备都不在乎软件的 ...

  10. 带宽、流量、CDN

    1.啥叫带宽? 1.1 带宽的概念: 在网络中的带宽往往是指一个固定的时间内,能通过的最大位数据,即数据传输率.带宽是一个计量单位,用来计量单位时间内传输的数据量的多少. 1.2 计量单位: 这个数据 ...