Ubuntu16.04下安装Hadoop
一、记录理由
刚开始只是想要学习怎么使用Hive的。想着安装应该很简单,没想到花了整整一天的时间来安装,为了避免下次犯同样的错误,特此记录。
二、安装Hadoop
网上教你怎么安装Hadoop的文章有很多,质量参差不齐,作为一名刚刚入门的菜鸟,我就记录一个完整的菜鸟版吧。
(1)环境准备
1. Vmware
2. Ubuntu16.04
(2) 安装jdk和openssh
请执行以下命令:
$ sudo apt-get install openjdk-8-jdk
$ sudo apt-get install openssh-server
$ sudo /etc/init.d/ssh start
$ ps -e | grep ssh
$ ssh-keygen -t dsa -P ''
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
$ ssh localhost
(3)添加Hadoop用户组合用户
$ sudo su
$ addgroup hadoop
$ adduser --ingroup hadoop hadoop
$ password hadoop //为hadoop账号设置密码
$ adduser hadoop sudo
$ su hadoop
键入hadoop的密码:
(4) 下载Hadoop

执行以上过程的时候,要先去上面的网站上看一看有没有对应的hadoop-2.2.0.tar.gz,没有的话就换成有的版本
在这个过程中如果有出现permission denieied提示的话,就在命令的最前面加上sudo
(5) 配置环境
$ sudo vim ~/.bashrc
在.bashrc这个文件的最后面加上:
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export HADOOP_HOME=/usr/local/hadoop
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
保存之后退出.bashrc文件
$ sudo cd /usr/local/hadoop/etc/hadoop
$ sudo vim hadoop-env.sh
在hadoop-env.sh文件的最末端加上以下内容
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/
export HADOOP_COMMON_LIB_NATIVE_DIR="/usr/local/hadoop/lib/native/"
export HADOOP_OPTS="$HADOOP_OPTS -Djava.library.path=/usr/local/hadoop/lib/"
保存之后退出hadoop-env.sh文件
退出terminal再打开
(6)配置Hadoop
$ su hadoop
$ cd /usr/local/hadoop/etc/hadoop
$ sudo vim core-site.xml
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
$ sudo vim yarn-site.xml
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
$ sudo mv mapred-site.xml.template mapred-site.xml
$ sudo vim mapred-site.xml
property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
$ sudo mkdir -p ~/mydata/hdfs/namenode
$ sudo mkdir -p ~/mydata/hdfs/datanode
$ sudo vim hdfs-site.xml
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/hduser/mydata/hdfs/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/hduser/mydata/hdfs/datanode</value>
</property>
(6) 格式化namenode, 启动服务
$ sudo cd /usr/local/hadoop/
$ ./bin/hdfs namenode -format
$ ./start-dfs.sh && start-yarn.sh
$ jps
顺利的话这里要能看到 SecondaryNameNode, NameNode, DataNode, NodeManager, ResourceManager, Jps
(7)测试
在浏览器上键入: http://localhost:50070/ 会出现hadoop页面; 键入:http://localhost:8088也会出现有一个页面
三、安装Hive
在安装了测试了Hadoop之后就可以安装Hive。为了避免篇幅过长,我把如何安装Hive移到下一篇博客。
Ubuntu16.04下安装Hadoop的更多相关文章
- Ubuntu16.04下安装数据库oracle客户端
在Ubuntu16.04下安装oracle数据库客户端,使Django项目连接到远程Oracle数据库. 1.下载oracle客户端安装包: 进入官网http://www.oracle.com/tec ...
- Ubuntu16.04下安装redis
Ubuntu16.04下安装redis 保证网络畅通,选定好下载工作路径,执行以下命令下载redis-3.2.6: sudo wget http://download.redis.io/release ...
- docker学习笔记(一)—— ubuntu16.04下安装docker
docker学习笔记(一)—— ubuntu16.04下安装docker 原创 2018年03月01日 14:53:00 标签: docker / ubuntu 1682 本文开发环境为Ubuntu ...
- ubuntu16.04下安装artoolkit5
目前对AR技术的常见理解就是CV(Computer Vision)+CG(Computer Graphic).CV的方法很多,简单些比如FREAK+ICP(ARToolKit中的NFT),复杂些就是S ...
- Ubuntu16.04下安装多版本cuda和cudnn
Ubuntu16.04下安装多版本cuda和cudnn 原文 https://blog.csdn.net/tunhuzhuang1836/article/details/79545625 前言 因为之 ...
- Ubuntu16.04下安装texlive
Ubuntu 16.04下安装texlive的步骤如下: 1.下载texlive 打开终端输入:sudo apt-get install texlive-full #下载这一过程会持续10-20分钟 ...
- Ubuntu16.04下安装googlechrome flash 插件和安装网易云音乐
一.ubuntu 16.04 下安装完后发现 flash无法播放没有安装flash插件因为 Adobe Flash 不再支持 linux Google 便开发了PepperFlashPlayer来替代 ...
- Ubuntu16.04下安装Hive
上一篇博客我们已经说过了要如何安装Hadoop,别忘记了我们的目的是安装Hive.所以这篇博客,我就来介绍一下如何安装Hive. 一.环境准备 (1)Vmware (2) Ubuntu 16.04 ...
- ubuntu16.04下安装opencv3.4.1及其扩展模块
1.源文件下载 opencv-3.4.1.tar.gz(https://github.com/opencv/opencv/releases) opencv_contrib-3.4.1.tar.gz(h ...
随机推荐
- MySQL最佳实践
一.核心军规 - 不在数据库做运算:cpu计算务必移至业务层 - 控制单表数据量:单表记录控制在1000w - 控制列数量:字段数控制在20以内 ...
- C语言的预编译
由"源代码"到"可执行文件"的过程包括四个步骤:预编译.编译.汇编.链接.所以,首先就应该清楚的首要问题就是:预编译只是对程序的文本起作用,换句话说就是,预编译 ...
- PA 项目关联项目经理
---- 项目关联项目经理 DECLARE p_project_id NUMBER := 155233; l_project_role_id NUMBER := ''; p_employee_id N ...
- 【leetcode81】Product of Array Except Self
题目描述: 给定一个长度为n的整数数组Array[],输出一个等长的数组result[],这个输出数组,对应位置i是除了Array[i]之外,其他的所有元素的乘积 例如: given [1,2,3,4 ...
- 《java入门第一季》之面向对象(包概述)
由于eclipse等ide的强大功能,使得建包,导包用一些快捷键就能完成.这里对包的概念做稍微的叙述,了解即可: 分包后使得项目更加清晰,提高代码维护性. 包: A:其实就是文件夹 ...
- 【嵌入式开发】C语言 指针数组 多维数组
. 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/21402047 . 1. 地址算数运算示例 指针算数运算 ...
- 理解WebKit和Chromium: Chromium插件和扩展基础
转载请注明原文地址:http://blog.csdn.net/milado_nju ##概述 插件和扩展是一种扩充浏览器功能的技术,在之前我们介绍过NPAPI插件技术,在Chromium中,远远不只是 ...
- Cocos2D中的Framerate状态
对于额外绘制调试物理引擎的支持,Cocos2D同样可以绘制概述计数器,尤其是帧速率(framerate)显示. 为了启用这些概述计数器标签,你只需添加如下一行代码,比如说在AppDelegate.m里 ...
- linux内核代码的编写初步以及makefile的配置
在linux内核代码开发中,头文件不能包含标准C头文件,只能采用GNC标准 而且内核开发中没有main函数,只有init 和 exit ,这是每个内核模块中必须要包含的函数模块. 在GNU C标准中, ...
- OC语言(二)
十.匿名对象 即不将对象赋给指针,而是直接使用 注意new对象的时候要用[ ]嵌套 例如:[[Car new] run]; 十一.枚举书写规范 注意空格 //注视 typedef enum { } X ...