文档章节

hadoop 2.8.1安装和配置(单机)

wangxuwei
 wangxuwei
发布于 2017/08/17 00:11
字数 946
阅读 168
收藏 0
点赞 0
评论 0

一、java环境(略)

二、配置SSH无密码登陆

$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

出现sign_and_send_pubkey: signing failed: agent refused operation

eval 'ssh-agent -s'
ssh-add

测试无密码登录

$ ssh localhost 
Welcome to Ubuntu 16.04.3 LTS (GNU/Linux 4.10.0-32-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

9 packages can be updated.
8 updates are security updates.

Last login: Tue Aug 15 23:16:52 2017 from ::1

三、创建hadoop用户组、用户

sudo addgroup hadoop
sudo adduser --ingroup hadoop hduser
sudo adduser hduser sudo

打算以普通用户(平时常用的这里mymotif)启动,故把它加到hadoop组

sudo usermod -a -G hadoop mymotif

四、下载、解压、改own等

cd
wget http://apache.fayea.com/hadoop/common/hadoop-2.8.1/hadoop-2.8.1.tar.gz
cd /opt
sudo tar xzvf  ~/hadoop-2.8.1.tar.gz 
sudo mv hadoop-2.8.1 hadoop
sudo chown -R hduser:hadoop hadoop

数据存放目录/home/hduser/tmp

su hduser
cd
mkdir tmp
chmod g+rw -Rf tmp            #为了使得mymotif用户对该目录有读写权限
exit

五、配置

etc/hadoop/core-site.xml文件

<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
core-site.xml
 <!-- 指定HDFS老大(namenode)的通信地址 -->
    <property>
        <name>fs.default.name</name>
        <value>hdfs://localhost:9000</value>
    </property>
<!-- 指定hadoop运行时产生文件的存储路径 -->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/home/hduser/tmp</value>
    </property>
</configuration>

etc/hadoop/hdfs-site.xml

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
                     <!-- 设置hdfs副本数量 -->
      <property>
        <name>dfs.replication</name>
        <value>1</value>
      </property>
      <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:/home/hduser/tmp/dfs/name</value>
      </property>
      <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/home/hduser/tmp/dfs/data</value>
      </property>
</configuration>

etc/hadoop/hadoop-env.sh 中export JAVA_HOME=${JAVA_HOME}行改成如下内容:

# The java implementation to use.
export JAVA_HOME=/opt/lib/jvm/jdk1.8.0_141
export HADOOP_COMMON_LIB_NATIVE_DIR="/opt/hadoop/lib/native/"
export HADOOP_OPTS="$HADOOP_OPTS -Djava.library.path=/opt/hadoop/lib:/opt/hadoop/lib/native"

修改环境变量

全局变量/etc/profile加下面这段

#Hadoop variables
export HADOOP_INSTALL=/opt/hadoop
export HADOOP_HOME=/opt/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
###end of paste

六、Hadoop启动

1)格式化namenode

$ hdfs namenode –format
2)启动NameNode 和 DataNode 守护进程

$ start-dfs.sh
3)启动ResourceManager 和 NodeManager 守护进程

$ start-yarn.sh

【注:start-all.sh 已不被建议使用】

文件存放:

$ hadoop fs -mkdir /user
$ hadoop fs -mkdir /user/hadoop
$ hadoop fs -mkdir /user/input
$ hadoop fs -ls /user/
Found 2 items
drwxr-xr-x   - mymotif supergroup          0 2017-08-18 14:50 /user/hadoop
drwxr-xr-x   - mymotif supergroup          0 2017-08-16 01:10 /user/input
$ hadoop fs -put test.c /user/hadoop/
$ hadoop fs -ls /user/hadoop
Found 1 items
-rw-r--r--   1 mymotif supergroup         66 2017-08-18 14:54 /user/hadoop/test.c
$ hadoop fs -copyFromLocal ~/hello.c /user/input/
$ hadoop fs -copyFromLocal ~/test.c /user/input/
$ hadoop fs -ls /user/input
Found 2 items
-rw-r--r--   1 mymotif supergroup         72 2017-08-19 15:46 /user/input/hello.c
-rw-r--r--   1 mymotif supergroup         66 2017-08-16 01:10 /user/input/test.c

获取

 hadoop fs -get /user/hadoop/test.c mytest.c
或
$ hadoop fs -get hdfs://localhost:9000/user/hadoop/test.c mytest.c

七、验证

$ jps
11856 NameNode
12210 SecondaryNameNode
12821 Jps
12502 NodeManager
12378 ResourceManager
12013 DataNode

管理界面:http://localhost:8088

NameNode界面:http://localhost:50070

HDFS NameNode界面:http://localhost:8042

其它问题:

$ ldd /opt/hadoop/lib/native/libhadoop.so.1.0.0
    linux-vdso.so.1 =>  (0x00007ffe79fb9000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f7b3feaa000)
    libjvm.so => not found
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f7b3fc8d000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f7b3f8c3000)
    /lib64/ld-linux-x86-64.so.2 (0x0000561243d70000)

 libjvm.so 找不到,执行下面的指令即可:

 sudo ln -s /opt/lib/jvm/jdk1.8.0_141/jre/lib/amd64/server/libjvm.so /lib/x86_64-linux-gnu/libjvm.so

eclipse插件下载地址:http://download.csdn.net/download/darkdragonking/9849522

https://pan.baidu.com/s/1eSpd7zk

java测试代码:

package test;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URI;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FSDataInputStream;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;

public class ReadHDFS {

	public static String getStringByTXT(String txtFilePath, Configuration conf)
	{

		FSDataInputStream fsr = null;
		BufferedReader bufferedReader = null;
		String lineTxt = null;
		try
		{
			FileSystem fs = FileSystem.get(URI.create(txtFilePath),conf);
			fsr = fs.open(new Path(txtFilePath));
			bufferedReader = new BufferedReader(new InputStreamReader(fsr));		
			while ((lineTxt = bufferedReader.readLine()) != null)
			{
				if(lineTxt.split("\t")[0].trim().equals("序号")){
					return lineTxt;
				}
				
			}
		} catch (Exception e)
		{
			e.printStackTrace();
		} finally
		{
			if (bufferedReader != null)
			{
				try
				{
					bufferedReader.close();
				} catch (IOException e)
				{
					e.printStackTrace();
				}
			}
		}

		return lineTxt;
	}
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Configuration conf = new Configuration();
		String txtFilePath = "hdfs://localhost:9000/user/input/myhello.txt";
		String mbline = getStringByTXT(txtFilePath, conf);
		System.out.println(mbline);
	}

}

myhello.txt内容

$ hadoop fs -cat hdfs://localhost:9000/user/input/myhello.txt
1序号	学院	班级	学号	姓名	
序号 234	学院	班级	学号	姓名	
序号	学院12 34	班级	学号	姓名

运行结果:

序号	学院12 34	班级	学号	姓名	

enjoy  it!

© 著作权归作者所有

共有 人打赏支持
wangxuwei
粉丝 20
博文 302
码字总数 103978
作品 0
杭州
其他
大数据之---hadoop问题排查汇总终极篇---持续更新中

1、软件环境 本次涉及伪分布式部署只是要主机hadoop1 2、启动密钥互信问题 HDFS启动 [hadoop@hadoop01 hadoop]$ ./sbin/start-dfs.sh Starting namenodes on [hadoop01] The authenticity of...

ycwyong ⋅ 05/17 ⋅ 0

Hadoop伪分布式安装(HDFS)步骤

1.安装前的准备工作 在进行Hadoop伪分布式安装前要检测虚拟机是否进行了下面的配置: 1. 修改主机名 2. 修改主机名与ip之间的映射关系 3. 配置虚拟机网络可以进行上网 2.伪分布式部署(HDFS)...

yu0_zhang0的博客 ⋅ 2017/12/19 ⋅ 0

【Hadoop】Hadoop2.8编译

Hadoop编译步骤: 1.解压Hadoop源码包 2.JAVA安装 3.Maven安装 4.Findbugs安装 5.protobuf安装 6.安装其他依赖 7.编译 编译好的tar包路径 /opt/sourcecode/hadoop-2.8.1-src/hadoop-dist/tar...

wangkunj ⋅ 05/16 ⋅ 0

Hadoop2安装——单机模式

Hadoop有三种模式 单机模式、伪分布模式和完全分布模式 这里先简单介绍单机模式 ,默认情况下,Hadoop被配置成一个非分布式模式,独立运行JAVA进程,适合开始做调试工作。 Hadoop 网址http:...

tngou ⋅ 2012/12/01 ⋅ 12

在Ubuntu上安装Hadoop(集群模式)

在安装好单机模式的hadoop之后,我们就可以着手来在集群模式下安装hadoop了。在安装了单机版hadoop的机器上将hadoop转成集群模式是很容易的。首先来设置网络。 网络 首先,我们需要在同一个网...

贱圣 ⋅ 2013/06/12 ⋅ 4

Hadoop手把手逐级搭建,从单机伪分布到高可用+联邦(1)单机伪分布

总体概述 1. 目标 2. 工具及版本 3. 四个阶段 第一阶段: hadoop单机伪分布(single) 0. 步骤概述 1. 配置网络修改主机名 1.1 查看VMware虚拟网络 1.2 配置虚拟机网卡ifcfg-eth0 1.3 设置NETWO...

bigablecat ⋅ 2017/12/26 ⋅ 0

hadoop+spark详细的部署过程

准备软件包 1、hadoop-2.7.2.tar.gz http://mirror.bit.edu.cn/apache/hadoop/common/ 2、scala-2.10.4.tgz http://www.scala-lang.org/download/2.10.4.html 3、spark-2.0.0-bin-hadoop2.7......

天涯有梦 ⋅ 2017/07/18 ⋅ 0

HADOOP2单机版

Hadoop有三种模式 单机模式、伪分布模式和完全分布模式 这里先简单介绍单机模式 ,默认情况下,Hadoop被配置成一个非分布式模式,独立运行JAVA进程,适合开始做调试工作。 Hadoop 网址http:...

壹炮倾城 ⋅ 2013/10/09 ⋅ 0

Hadoop的安装

原文:http://www.linuxidc.com/Linux/2016-07/133508.htm 1.下载Hadoop安装包,笔者学习使用的是Hadoop1.2.1。提供一下下载地址吧: http://apache.fayea.com/hadoop/common/hadoop-1.2.1/ha......

夏春涛 ⋅ 2017/09/06 ⋅ 0

linux Hadoop 探索-hadoop单机模式

groupadd hadoopuseradd -mg hadoop hadoop -m指的是在/home/目录下新建一个与用户名相同的文件夹 -g指的是添加用户组 passwd hadoop 回车后将密码设置成123456 ps:密码限于开发调试,生产环...

charles_shang ⋅ 2016/03/01 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Nginx服务架构初探(四):nginx服务器的rewrite功能

nginx服务器的rewrite功能 1.nginx后端服务器组的配置 1>upstream name {…} name是给服务器组限的组名 2>server address [parameters]; address为服务器地址 parame......

余温灬未存 ⋅ 今天 ⋅ 0

layer.prompt使文本框为空的情况下也能点击确定

最近一直在使用layui,但是用到弹出层layer.prompt时,如果文本框是空的话点击确定没有反应,不能向下执行。 但是我又需要空值,看看我原来的代码。 123456789 layer.prompt...

孟飞阳 ⋅ 今天 ⋅ 0

Linux普通文件压缩工具gzip、Bzip2、xz

第六章 文件压缩和打包 6.1 压缩打包介绍 Linux环境常见压缩文件类型: .zip,.gz,.bz2,.xz, .tar.gz,.tar.bz2,.tar.xz 压缩打包的目的 方便文件传输 节省磁盘空间 减少传输花费的时间 ...

弓正 ⋅ 今天 ⋅ 0

移动弹窗基础知识浅析——IOS弹窗体系

摘要: 最为常见的【弹窗】反而是最“捉摸不定”的东西。各种类型的弹窗傻傻分不清楚,不知道在什么场景下应该用哪种弹窗。尤其是遇到“二次确认”等场景…… 因此,打算从头整理移动弹窗的基...

阿里云云栖社区 ⋅ 今天 ⋅ 0

zabbix短信报警统计以及报表展示

一、需求 由于我们的业务报警比较频繁,之前是针对每个报警进行具体处理,但是有时还会重复出现,或者后续处理有时忘记跟进等,因此进行报警短信的统计,可以针对一些问题与业务跟进,明确后...

o翡翠谷o ⋅ 今天 ⋅ 0

JNI 输出LOG

1、导入log头文件。在你使用的 .c/ .cpp 文件中,导入 log.h 头文件。 #include<android/log.h> 2、在android.mk 加上 LOCAL_LDLIBS := -llog 或 LOCAL_SHARED_LIBRARIES := liblog 3、定义L......

国仔饼 ⋅ 今天 ⋅ 0

主线程pthread_exit 作用

#include <iostream>#include <pthread.h>#include <unistd.h>using namespace std;#define NUM_THREADS 10void* say_hello(void* args){ int i = *((int*)args);/......

xxdd ⋅ 今天 ⋅ 0

崛起于Springboot2.X之Mybatis-xml方式操作mysql数据库(3)

序言:当第一篇讲道Mybatis的时候,只要使用过mybatis的java程序员100%都会知道这种方式,因为这是最广泛最全面的编写sql操作mysql数据库的方式,高级sql的编写往往通过xml方式,接下来进入正...

木九天 ⋅ 今天 ⋅ 1

移动弹窗基础知识浅析——IOS弹窗体系

摘要: 最为常见的【弹窗】反而是最“捉摸不定”的东西。各种类型的弹窗傻傻分不清楚,不知道在什么场景下应该用哪种弹窗。尤其是遇到“二次确认”等场景…… 因此,打算从头整理移动弹窗的基...

猫耳m ⋅ 今天 ⋅ 0

spring elasticsearch 2.4 date 日期

1.mappingPUT user_behavior { "mappings": { "user_behavior": { "properties": { "date": { "type": "createDate", ......

xiaomin0322 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部