安装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安装相关推荐
- 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 ...
- hadoop3.0 分布式搭建/安装
原文:http://blog.csdn.net/u010499619/article/details/52886872 最近打算尝试在服务器上安装hadoop3.0,由于服务器上本来搭建好hadoop ...
- CentOS-7.0.中安装与配置Tomcat-7的方法
CentOS-7.0.中安装与配置Tomcat-7的方法 原创 2014年11月24日 23:38:36 72472 安装说明 安装环境:CentOS-7.0.1406 安装方式:源码安装 软件: ...
- centos7.2源码安装openssl1.0.2
centos7.2默认是安装了opensll软件包的,但是部署个别服务时,由于版本太低.会影响服务的正常部署.只能使用源码安装提高openssl软件版本. 因为之前有openssl软件包,所以要先移除 ...
- (亲测无坑)Centos7.x使用kubeadm安装K8s集群1.15.0版本
基础环境配置 三台Centos7.x的服务器,主节点 cpu >=2,node节点>=1 注:(上述cpu为最低配置,否则集群安装部署会报错,无法启动,对其他硬件无硬性要求) 以下操作若无 ...
- 【CNMP系列】CentOS7.0下安装Nginx服务
[CNMP系列]CentOS7.0下安装Nginx服务 话步前言,CNMP之路,系统起步:http://www.cnblogs.com/riverdubu/p/6425028.html 这回我来讲解下 ...
- Centos7 Yum安装MYSQL8.0详细安装步骤
Centos7 Yum安装MYSQL8.0详细安装步骤 0.更换yum源 1.打开 mirrors.aliyun.com,选择centos的系统,点击帮助 2.执行命令:yum install wge ...
- Win10安装使用Hadoop3.0.0
本章将一步一步在win10下安装Hadoop3.0.0,并启动服务进行简单的hdfs操作. 准备工作 1.Hadoop官方下载地址: http://hadoop.apache.org/releases ...
- centos7 mysql 源码安装_CentOS7.4 源码安装MySQL8.0的教程详解
MySQL 8 正式版 8.0.11 已发布,官方表示 MySQL 8 要比 MySQL 5.7 快 2 倍,还带来了大量的改进和更快的性能! 以下为本人2018.4.23日安装过程的记录.整个过程大 ...
最新文章
- CloudCompare 的简单的使用说明
- ECMAScript6入门--Class对象
- The role of the inter-controller consensus in the placement of distributed SDN controllers
- 创建数据库是列名无效咋办_怎样解决列名无效 - 技术问答 - .Net源码论坛 .net源码,ASP.net|论坛 - Powered by Discuz!NT...
- layui tab选项卡外部html页面,layui的Tab选项卡知识
- selenium+python中,框架中,怎么返回上一个菜单
- 猛然发现,已经第100篇随笔了
- php配合jade使用,前端自动化系列(四)之jade预编译html
- 数据治理为何越来越重要
- R|数据处理|list的转化与转置
- 题目458-小光棍数
- 20189222 《网络攻防实践》安全工具、库的简介以及使用教程
- 打印机可以打印不能扫描怎么弄_打印机可以打印但是不能扫描是为何
- 推荐10本大数据领域必读的经典好书(火速收藏)
- 电脑内存与地址位数的关系
- 计算机交换机作用,交换机的作用与功能
- 引擎开发-图形渲染器开发
- 基于STM32的简易数码相册
- 光与夜之恋服务器维护,《光与夜之恋》2021年7月30日停服维护说明
- (域名、主机名、服务名、端口号)名字与地址的转换 (gethostbyname、getservbyname、getaddrinfo、getnameinfo等)
热门文章
- 前端学习(2686):重读vue电商网站7之登录预校验
- 前端学习(2572):如何使用vuex
- 前端学习(2429):上午回顾
- 前端学习(1781):前端调试之security节点讲解
- 前端学习(1668):前端系列实战课程之限制范围拖拽思路
- 前端学习(1048):todolist正在进行和已经完成阶段
- 前端学习(41):背景实现视觉差效果
- html:(24):内联式css和嵌入式css
- java学习(82):静态代码块内部类
- JAVA翻译官_Java开发笔记(三)Java帝国的特种官吏