hadoop2.9安装及配置_阿里云服务器上装Hadoop的心得(内附Hadoop2.9.2详细安装教程)...
以前装Hadoop-3.1.2是跟着厦大林子雨的详细教程装的,所以遇到的问题不多,自己没怎么思考,导致跟着官网再装了一个Hadoop-2.9.2(为了装Hbase2.2.0)时装了两天,现在把遇到过的问题记下来以免以后再犯。
首先,安装软件首先看官网教程。但官网的教程是很简单的,比如Hadoop的安装。默认会创建hadoop用户;给hadoop权限;所有都在hadoop用户下操作(不然会出错);会更新apt;会解压;会配JAVA_HOME,会配置SSH免密登陆。但我是个小白啊,都不懂,因此查了很多资料。不过这些都是Linux基础,我现在得记住这些。
一、准备工作
(一)创建hadoop用户
1.1 创建可以登陆的 hadoop 用户,并自动建立用户的登入目录
sudo useradd -m hadoop
-m 是自动建立用户的登入目录,如果不输以新用户身份登入后会出错。
-s指定用户登入后所使用的shell。默认值为/bin/bash。(所以可以不指定)
其他详见useradd命令详解:
1.2 设置密码,按提示输入两次密码
sudo passwd ${你想设的密码}
sudo是使得普通用户有root权限的命令,如果就是root没必要输。
1.3 可为 hadoop 用户增加管理员权限,方便部署
sudo adduser hadoop sudo
(二)更新apt
后续我们使用 apt 安装软件(比如ssh-server),如果没更新可能有一些软件安装不了。
sudo apt-get update
(三)安装SSH,配置免密登陆
厦大教程cf官网教程,厦大说下载ssh-server(首先要确保你的linux系统中已经安装了ssh,对于ubuntu系统一般默认只安装了ssh client,所以还需要我们手动安装ssh server)
而官网说安装ssh(why?I don‘t know,但我相信官网hhh)
所以安装过程是:
sudo apt-get install ssh
sudo apt-get install pdsh
配置免密登陆是:
先check一下可不可以免密:
ssh localhost
如果不行,利用 ssh-keygen 生成密钥,并将密钥加入到授权中(参考官网)。
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys #加入授权
chmod 0600 ~/.ssh/authorized_keys #啥意思?
(四)安装Java环境
4.1 apt傻瓜式安装java
按班主任的操作好像是先查看 java -version ,或者 which java ,没有,系统提示apt-install headlessjava啥的,然后安装openjdk-8-jdk
apt install openjdk-8-jdk
不安11好像是因为这个在hadoop3上没有错,比较稳定。
4.2 编辑当前登录用户的环境变量配置文件
vim ~/.bashrc
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
JAVA_HOME指明JDK安装路径,此路径下包括lib,bin,jre等文件夹。
如果你不记得自己的JAVA在哪里,可以输 whereis java ,再翻文件夹到第一个不是快捷键的就是你java的位置啦!
4.3 让环境变量立即生效
请执行如下代码:
source ~/.bashrc
4.4检验
执行上述命令后,可以检验一下是否设置正确:
用查看java -version等方式检验一下,至此,就成功安装了Java环境。下面就可以进入Hadoop的安装。
二、安装Hadoop
(一)下载Hadoop(假如是2.9.2,方法都是一样的,只是把名字改一下)
wget https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-2.9.2/hadoop-2.9.2.tar.gz
(二)解压
wget默认下载到登陆路径~也就是/home/user,linux下安装路径一般是/usr/local,所以解压到那里。
sudo tar -zxf ~/hadoop-2.9.2.tar.gz -C /usr/local
林子雨的教程里面把hadoop-2.9.2改名了(mv 成hadoop),但考虑到可能装多个hadoop我就不改名了哈。
但hadoop-2.9.2的权限得改,因为hadoop-2.9.2文件默认拥有者是root。
cd /usr/local/ #进入用户安装目录
sudo chown -R hadoop ./hadoop-2.9.2 #修改文件权限(hadoop-2.9.2默认拥有者是root,这里我们让hadoop也成为拥有者)
(三)检查
(每一步都要检查一下,不然就会像我一样经常重置系统哦!)
Hadoop 解压后即可使用。输入如下命令来检查 Hadoop 是否可用,成功则会显示 Hadoop 版本信息:
cd /usr/local/hadoop-2.9.2./bin/hadoop version #查看hadoop版本信息,成功显示则安装成功
(四)修改/usr/local/hadoop-2.9.2/etc/hadoop/hadoop-env.sh
uncomment export JAVA_HOME=${JAVA_HOME}或者修改为具体地址
三、单机配置standlone
默认就是,无需配置!我们可以运行运行grep例子
cd /usr/local/hadoop #进入用户安装目录
mkdir ./input cp ./etc/hadoop/*.xml ./input #将配置文件作为输入文件
./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar grep ./input ./output 'dfs[a-z.]+' cat ./output/* #查看运行结果
结果出现一次,说明✔
养成好习惯,删掉output,不然下次运行出错
rm -r ./output
四、伪分布式
(一)修改 ./ect/hadoop/core-site.xml
配置hdfs端口9000(默认是8020,但和Client连接的RPC端口冲突),让空空的configuration标签充实起来
可用 netstat -ntlp 查看所有使用端口
netstat -lent | grep 9000 查看9000端口
林子雨说可以配置tmp文件路径(默认为/tmp/hadoo-hadoop,重启时可能被系统清理掉),所以配吧配吧以免之后出错。(记住各种dir要根据自己安装的路径改一下啊)
hadoop.tmp.dir
file:/usr/local/hadoop-2.9.2/tmp
Abase for other temporary directories.
fs.defaultFS
hdfs://localhost:9000
(二)修改 ./ect/hadoop/hdfs-site.xml
hdfs-site中官网只配了replication(有几个备份),林子雨指定了 dfs.namenode.name.dir 和 dfs.datanode.data.dir
dfs.replication
1
dfs.namenode.name.dir
file:/usr/local/hadoop-2.9.2/tmp/dfs/name
dfs.datanode.data.dir
file:/usr/local/hadoop-2.9.2/tmp/dfs/data
(三)执行 NameNode 的格式化
./bin/hdfs namenode -format
结果应该是“successfully formatted” ,若JAVA_HOME报错,改./etc/hadoop/hadoop-env.sh中JAVA_HOME为具体地址
(四)启动
终于可以启动了,是不是很激动!
./sbin/start-dfs.sh #start-dfs.sh是个完整的可执行文件,中间没有空格
WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable WARN 提示可以忽略,并不会影响正常使用。
(五)检查
输入 jps 查看是否成功,成功了应该有四个
不成功的话:
1.查看.log日志,百度
2.若Datanode没启动
#针对 DataNode 没法启动的解决方法
./sbin/stop-dfs.sh #关闭
rm -r ./tmp #删除 tmp 文件,注意这会删除 HDFS 中原有的所有数据
./bin/hdfs namenode -format #重新格式化 NameNode
./sbin/start-dfs.sh #重启
(六)Web界面访问
我之前一直无法通过localhost访问,后来才想起我不是在本机我电脑是阿里云的云主机啊啊啊啊!!所以正确做法是:
6.1首先关闭防火墙
6.2 浏览器输入{你阿里云的公网ip}:50070
(Hadoop 2.*是50070,3.1.2是9870,具体自行查看官网)
(七)伪分布式例子
7.1创建用户目录
用户目录格式: /user/username
./bin/hdfs dfs -mkdir -p /user/hadoop
7.2input文件
将本地/usr/local/hadoop-2.9.2/ect/hadoop下的xml配置文件拷贝到分布式HDFS中用户目录下的input文件夹中
./bin/hdfs dfs -mkdir input
./bin/hdfs dfs -put ./etc/hadoop/*.xml input
我在上传本地文件到HDFS时出现警告
WARN hdfs.DataStreamer: Caught exception java.lang.InterruptedException 但不影响上传,所以没管
复制完成后,可以通过如下命令查看文件列表
./bin/hdfs dfs -ls input
7.3运行例子
伪分布式读取HDFS中的input信息,输出结果
./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar grep input output 'dfs[a-z.]+'
五、基本操作
hdfs的基本操作和单机模式相似,只是需要在hadoop安装目录下运行这个./bin/hdfs dfs
-mkdir新建目录(-p递归地./bin/hdfs dfs -mkdir -p /user/hadoop)
-get下载到本地(./bin/hdfs dfs -get output ./output)
-cat显示查看文件内容(./bin/hdfs dfs -cat output/*)
-put本地 目标地址(./bin/hdfs dfs -put ./etc/hadoop/*.xml input)
-列出文件目录(./bin/hdfs dfs -ls input)
-chmod 777 文件名(修改文件权限为所有人可读写)
-rm 删除(-r递归的)
六、参考资料
七、总结(敲重点!)
在阿里云Ubuntu实例上面装软件大概步骤就是
(1)在清华镜像上下载
wget http://mirrors.tuna.tsinghua.edu.cn/*
(2)解压
sudo tar -zxf ~/*.tar.gz -C /usr/local
(3)给hadoop(当前用户)这个文件夹的权限
sudo chown -R hadoop ./hadoop-2.9.2 #修改文件权限(hadoop-2.9.2默认拥有者是root,这里我们让hadoop也成为拥有者)
(4)按照官网,按单机、伪分布一步步来,修改各种配置文件
(5)要访问web前关一下防火墙(控制台)
下面这是我安装hadoop的命令行:
希望我踩过的坑大家就不要踩了,最后,我想说老师说的对啊装软件还是要看官网以及各种英文网站。希望以后装软件快一点,加油!
hadoop2.9安装及配置_阿里云服务器上装Hadoop的心得(内附Hadoop2.9.2详细安装教程)...相关推荐
- Ubuntu16.04下安装类似于windows下微信软件,非网页版微信(内附安装包和详细安装指令)
一.下载安装包 安装包下载地址: 链接:https://pan.baidu.com/s/1M8i6mdC952exhyFoLp84rg 提取码:nt5q 然后解压压缩包,获得文件夹如下: 然后进入文件 ...
- yum安装mysql5.7 简书_阿里云服务器(centos7.3)上安装jdk、tomcat、mysql、redis
前言: 平时我们敲的项目,只能在本地浏览,不论项目写得怎么样只有自己看得到,只有发布到了云服务器,别人才能访问得到.学习之路就是这样,当别人能访问自己的项目时,会更有成就感,所以接下来就一起看看阿里云 ...
- 云服务器架设网站教程_阿里云服务器购买流程详细教程及注意事项
阿里云服务器如何购买?目前,无论个人站长还是企业,都将阿里云作为了上云首选,那么作为新手用户应该如何选择阿里云服务器呢?阿里云服务器配置选择,和网站或应用的类型.访问量.数据量大小.程序质量等因素息息 ...
- 基于阿里云服务器搭建hadoop集群:HDFS的namenode WEB访问9870端口打不开解决方法
基于阿里云服务器搭建hadoop集群:HDFS的namenode WEB访问9870端口打不开解决方法 以下是基于我所面临问题的解决办法. 1.在本地的c:windows/system32/dirve ...
- centos6安装mysql并远程连接_阿里云服务器上安装redis并实现远程连接
一.概述 之前一直将redis安装在本地,为了在服务器上使用redis进行数据的存储,需要在服务器端进行redis的安装,本次使用的是阿里云服务器,由于是第一安装,在安装及后续远程连接过程中也遇到一些 ...
- 阿里云centos服务器rdp远程桌面规则_阿里云服务器使用教程 新手用户的好帮手...
云服务器越来越成为企业及个人用户开展网络业务的首选了,阿里云服务器ECS因其起步较早,用户数量已经是国内第一,全球五强的大云服务商了.虽然阿里云对于用户来说很熟悉了,但阿里云服务器的使用方法,相信还有 ...
- 阿里云mysql用户名和密码是什么_阿里云服务器数据库账号密码是什么
阿里云服务器数据库账号密码是什么,阿里云虚拟机数据库. 在阿里云ecs云服务器上部署数据库后,在平常的操作中可能会遇到些问题,可以先做个大致的了解: 如果您想看更多的在ecs上的数据库的相关操作,请前 ...
- 阿里云mysql怎么查看数据库_阿里云服务器如何查看数据库
阿里云服务器如何查看数据库,阿里云上布数据库. 在阿里云ecs云服务器上部署数据库后,在平常的操作中可能会遇到些问题,可以先做个大致的了解: 如果您想看更多的在ecs上的数据库的相关操作,请前往以下两 ...
- 阿里云mysql创建数据库服务器地址_阿里云服务器创建数据库操作流程
阿里云服务器创建数据库操作流程,如何上传数据库阿里云. 在阿里云ecs云服务器上部署数据库后,在平常的操作中可能会遇到些问题,可以先做个大致的了解: 如果您想看更多的在ecs上的数据库的相关操作,请前 ...
最新文章
- 关于条件随机场的一些补充
- 城市轨道交通运营票务管理论文_【专业简介】城市轨道交通运营与管理
- 姚期智施尧耘获FOCS 2021时间检验奖,MIT华人学霸毛啸摘最佳学生论文奖
- 《JVM系列》深入浅出类加载机制中<init>和<Clinit>的区别【一篇即可搞懂初始化机制】
- centos mysql 设置_CentOS下MySQL安装后配置和设置-阿里云开发者社区
- Shell——运行Shell脚本
- linux修改rm指令执行(数据安全)
- Linux 内核设备属性
- 华为机试HJ52:计算字符串的距离(动态规划)
- 第四章 linux字符界面操作
- NHibernate从入门到精通系列(3)——第一个NHibernate应用程序
- H5分享到微信朋友圈与好友实现思路
- rpm包的卸载与安装
- (转)双线性汇合(bilinear pooling)在细粒度图像分析及其他领域的进展综述
- 解决js获取当前时间精确到秒并格式划成数字(20200712120610)
- AI领域各个方向大牛博客汇总
- 云计算 第四章 微软云计算 Windows Azure
- win10 kms激活
- Oracle数据库 登录命令 用户管理 建表 修改字段 数据类型 约束 增删改查
- php对接阿里巴巴开放平台
热门文章
- leetcode【困难】460、LFU 缓存
- 【ubuntu】禁用IP和端口
- leetcode17 电话号码的字母组合,39 组合总和(python)
- 全链路压测那点事(一)
- 平凡的世界,因你而美
- 浏览器火狐3.0发布之盛况
- 透明加密支持linux吗,IP-guard文档透明加密软件|文档防泄密|数据加密|Linux系统加密|Mac苹果系统文档加密...
- (原创)设置APP内的字体
- vmware15.5.5版本虚拟机(VMware Workstation 15 Pro)BUG(CentOS7.3下):切换大小写失效的解决方案
- 并发编程中你需要知道的基础概念