安装JDK

rpm -qa | grep java
找出OPENJDK
yum -y remove java 上一步复制的jdk文件名
卸载openjdk
rpm -ivh jdk文件名
安装jdk
设置jdk环境变量
需要修改配置文件/etc/profile,追加
export JAVA_HOME="/usr/java/jdk-10"
export PATH=$JAVA_HOME/bin:$PATH
修改完毕后,执行 source /etc/profile

检查ssh

rpm -qa | grep openssh
rpm -qa | grep rsync
[hadoop@localhost .ssh]$ rpm -qa | grep openssh
openssh-clients-6.6.1p1-22.el7.x86_64
openssh-server-6.6.1p1-22.el7.x86_64
openssh-6.6.1p1-22.el7.x86_64
[hadoop@localhost .ssh]$ rpm -qa | grep rsync
rsync-3.0.9-17.el7.x86_64
假设没有安装ssh和rsync,可以通过下面命令进行安装。
yum install ssh 安装SSH协议
yum install rsync (rsync是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件)
service sshd restart 启动服务

设置网络

关闭selinux
vim /etc/sysconfig/selinux
修改
SELINUX=disabled
三台机器分别设置IP
192.168.10.10
192.168.10.11
192.168.10.12
修改三个机器名分别为master.hadoop、slaver1.hadoop、slaver2.hadoop
vim /etc/sysconfig/network
添加
NETWORKING=yes #使用网络
HOSTNAME=master.hadoop #设置主机名
修改Hosts
vim /etc/hosts
添加
192.168.10.10 master.hadoop
192.168.10.11 slaver1.hadoop
192.168.10.12 slaver2.hadoop

设置SSH无密码登录

添加用户
useradd hadoop
passwd hadoop
设置权限
visudo修改
root ALL=(ALL) ALL
hadoop ALL=(root) NOPASSWD:ALL
su hadoop
以hadoop用户身份登录
仅主机操作
ssh-keygen -t rsa -P ''
生成无密码密钥对,询问保存路径直接输入回车,生成的密钥对:id_rsa和id_rsa.pub,默认存储在"/home/hadoop/.ssh"目录下。
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
把id_rsa.pub追加到授权的key里面去。
chmod 600 ~/.ssh/authorized_keys
修改权限
三台机器操作
vim /etc/ssh/sshd_config
修改ssh配置
RSAAuthentication yes # 启用 RSA 认证
PubkeyAuthentication yes # 启用公钥私钥配对认证方式
AuthorizedKeysFile .ssh/authorized_keys # 公钥文件路径(和上面生成的文件同)
service sshd restart
重启ssh
仅从机用hadoop用户操作
mkdir ~/.ssh
chmod 700 ~/.ssh
#cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
#rm -r ~/id_rsa.pub
生成从机的公钥
ssh-keygen -t rsa -P ""
slave1上执行
scp ~/.ssh/id_rsa.pub 192.168.10.10:~/.ssh/id_rsa.pub.s1
slave2上执行
scp ~/.ssh/id_rsa.pub 192.168.10.10:~/.ssh/id_rsa.pub.s2
主机上hadoop用户执行
cd ~/.ssh
cat id_rsa.pub.s1 >> authorized_keys
cat id_rsa.pub.s2 >> authorized_keys
scp ~/.ssh/authorized_keys 192.168.10.11:~/.ssh
scp ~/.ssh/authorized_keys 192.168.10.12:~/.ssh
从机操作
chmod 600 ~/.ssh/authorized_keys

配置hadoop

cd /usr
tar -zxvf hadoop-3.0.1.tar.gz #解压"hadoop-3.0.1.tar.gz"安装包
mv hadoop-3.0.1 hadoop #将"hadoop-3.0.1"文件夹重命名"hadoop"
给hadoop目录赋所有者权限
chown -R hadoop:hadoop /usr/hadoop/
配置路径在/usr/hadoop/etc/hadoop
1)配置hadoop-env.sh、yarn-env.sh
修改
export JAVA_HOME=/usr/java/jdk-10
2)配置core-site.xml文件
<configuration>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/usr/hadoop/tmp</value>
        (备注:请先在 /usr/hadoop 目录下建立 tmp 文件夹)
        <description>A base for other temporary directories.</description>
    </property>
<!-- file system properties -->
    <property>
        <name>fs.default.name</name>
        <value>hdfs://192.168.10.10:9000</value>
    </property>
</configuration>
3)配置hdfs-site.xml文件
修改Hadoop中HDFS的配置,配置的备份方式默认为3。
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
        (备注:replication 是数据副本数量,默认为3,salve少于3台就会报错)
    </property>
<configuration>
4)配置mapred-site.xml文件
修改Hadoop中MapReduce的配置文件,配置的是JobTracker的地址和端口。
<configuration>
    <property>
        <name>mapred.job.tracker</name>
        <value>http://192.168.10.10:9001</value>
    </property>
</configuration> 
5)配置masters文件
创建masters文件并添加内容为主机IP
192.168.10.10
6)配置slaves文件(Master主机特有
修改slaves文件并添加内容为各从机IP
192.168.10.11
192.168.10.12
将主机上的目录拷贝到从机上
scp -r /usr/hadoop root@服务器IP:/usr/
在从机上用root用户设置/usr/hadoop目录权限
chown -R hadoop:hadoop hadoop
把Hadoop的安装路径添加到"/etc/profile"中,并使其有效:
# set hadoop path
export HADOOP_HOME=/usr/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
重启profile
source /etc/profile

启动及验证

1)格式化HDFS文件系统
  在"Master.Hadoop"上使用普通用户hadoop进行操作。(备注:只需一次,下次启动不再需要格式化,只需 start-all.sh)
hadoop namenode -format
如果报错文件夹无法创建,看看/usr/hadoop/tmp目录权限是不是不够
2)启动hadoop 
在启动前关闭集群中所有机器的防火墙,不然会出现datanode开后又自动关闭。
service iptables stop
三台机器均使用下面命令启动。
${HADOOP_HOME}/sbin/start-all.sh
启动 hadoop成功后,在 Master 中的 tmp 文件夹中生成了 dfs 文件夹,在Slave 中的 tmp 文件夹中均生成了 dfs 文件夹和 mapred 文件夹。
停止命令
stop-all.sh
3)验证hadoop
用jps命令查看进程
主机上
[hadoop@Master hadoop]$ jps
12989 Jps
12599 NameNode
12776 SecondaryNameNode
12920 ResourceManager
从机上
[root@Slave1 hadoop]# jps
3270 DataNode
3482 Jps
3382 NodeManager

wordcount测试

cd /usr/hadoop
bin/hdfs dfs -mkdir -p /user/hadoop
创建目录
bin/hdfs dfs -mkdir input
创建/user/hadoop/input目录
bin/hdfs dfs -put etc/hadoop/*.xml input
挪一批xml文件到input目录中
bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.0.1.jar wordcount /user/hadoop/input /user/hadoop/output
执行wordcount示例
bin/hdfs dfs -cat output/*
查看wordcount结果

问题

如果运行脚本报如下错误,
ERROR: Attempting to launch hdfs namenode as root
ERROR: but there is no HDFS_NAMENODE_USER defined. Aborting launch.
Starting datanodes
ERROR: Attempting to launch hdfs datanode as root
ERROR: but there is no HDFS_DATANODE_USER defined. Aborting launch.
Starting secondary namenodes [localhost.localdomain]
ERROR: Attempting to launch hdfs secondarynamenode as root
ERROR: but there is no HDFS_SECONDARYNAMENODE_USER defined. Aborting launch.
解决方案
(缺少用户定义而造成的)因此编辑启动和关闭
$ vim sbin/start-dfs.sh
$ vim sbin/stop-dfs.sh
顶部空白处
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
如果启动时报如下错误,
Starting resourcemanager
ERROR: Attempting to launch yarn resourcemanager as root
ERROR: but there is no YARN_RESOURCEMANAGER_USER defined. Aborting launch.
解决方案
(也是由于缺少用户定义)
是因为缺少用户定义造成的,所以分别编辑开始和关闭脚本 
$ vim sbin/start-yarn.sh 
$ vim sbin/stop-yarn.sh 
顶部添加
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root

centos7 hadoop3.0.1安装相关推荐

  1. centos7 mysql8.0.15_Centos7 安装MySQL8.0.15

    1.删除原有的mariadb,不然mysql装不进去 mariadb-libs-5.5.52-1.el7.x86_64 rpm -qa|grep mariadb rpm -e --nodeps mar ...

  2. hadoop3.0 分布式搭建/安装

    原文:http://blog.csdn.net/u010499619/article/details/52886872 最近打算尝试在服务器上安装hadoop3.0,由于服务器上本来搭建好hadoop ...

  3. CentOS-7.0.中安装与配置Tomcat-7的方法

    CentOS-7.0.中安装与配置Tomcat-7的方法 原创 2014年11月24日 23:38:36 72472 安装说明  安装环境:CentOS-7.0.1406 安装方式:源码安装  软件: ...

  4. centos7.2源码安装openssl1.0.2

    centos7.2默认是安装了opensll软件包的,但是部署个别服务时,由于版本太低.会影响服务的正常部署.只能使用源码安装提高openssl软件版本. 因为之前有openssl软件包,所以要先移除 ...

  5. (亲测无坑)Centos7.x使用kubeadm安装K8s集群1.15.0版本

    基础环境配置 三台Centos7.x的服务器,主节点 cpu >=2,node节点>=1 注:(上述cpu为最低配置,否则集群安装部署会报错,无法启动,对其他硬件无硬性要求) 以下操作若无 ...

  6. 【CNMP系列】CentOS7.0下安装Nginx服务

    [CNMP系列]CentOS7.0下安装Nginx服务 话步前言,CNMP之路,系统起步:http://www.cnblogs.com/riverdubu/p/6425028.html 这回我来讲解下 ...

  7. Centos7 Yum安装MYSQL8.0详细安装步骤

    Centos7 Yum安装MYSQL8.0详细安装步骤 0.更换yum源 1.打开 mirrors.aliyun.com,选择centos的系统,点击帮助 2.执行命令:yum install wge ...

  8. Win10安装使用Hadoop3.0.0

    本章将一步一步在win10下安装Hadoop3.0.0,并启动服务进行简单的hdfs操作. 准备工作 1.Hadoop官方下载地址: http://hadoop.apache.org/releases ...

  9. centos7 mysql 源码安装_CentOS7.4 源码安装MySQL8.0的教程详解

    MySQL 8 正式版 8.0.11 已发布,官方表示 MySQL 8 要比 MySQL 5.7 快 2 倍,还带来了大量的改进和更快的性能! 以下为本人2018.4.23日安装过程的记录.整个过程大 ...

最新文章

  1. CloudCompare 的简单的使用说明
  2. ECMAScript6入门--Class对象
  3. The role of the inter-controller consensus in the placement of distributed SDN controllers
  4. 创建数据库是列名无效咋办_怎样解决列名无效 - 技术问答 - .Net源码论坛 .net源码,ASP.net|论坛 - Powered by Discuz!NT...
  5. layui tab选项卡外部html页面,layui的Tab选项卡知识
  6. selenium+python中,框架中,怎么返回上一个菜单
  7. 猛然发现,已经第100篇随笔了
  8. php配合jade使用,前端自动化系列(四)之jade预编译html
  9. 数据治理为何越来越重要
  10. R|数据处理|list的转化与转置
  11. 题目458-小光棍数
  12. 20189222 《网络攻防实践》安全工具、库的简介以及使用教程
  13. 打印机可以打印不能扫描怎么弄_打印机可以打印但是不能扫描是为何
  14. 推荐10本大数据领域必读的经典好书(火速收藏)
  15. 电脑内存与地址位数的关系
  16. 计算机交换机作用,交换机的作用与功能
  17. 引擎开发-图形渲染器开发
  18. 基于STM32的简易数码相册
  19. 光与夜之恋服务器维护,《光与夜之恋》2021年7月30日停服维护说明
  20. (域名、主机名、服务名、端口号)名字与地址的转换 (gethostbyname、getservbyname、getaddrinfo、getnameinfo等)

热门文章

  1. 前端学习(2686):重读vue电商网站7之登录预校验
  2. 前端学习(2572):如何使用vuex
  3. 前端学习(2429):上午回顾
  4. 前端学习(1781):前端调试之security节点讲解
  5. 前端学习(1668):前端系列实战课程之限制范围拖拽思路
  6. 前端学习(1048):todolist正在进行和已经完成阶段
  7. 前端学习(41):背景实现视觉差效果
  8. html:(24):内联式css和嵌入式css
  9. java学习(82):静态代码块内部类
  10. JAVA翻译官_Java开发笔记(三)Java帝国的特种官吏