hadoop的伪分布式安装

hadoop伪分布式(pseudo)安装

伪分布式的基本安装

1) 配置hadoop-env.sh

1
2
3
4
5
6
7
8
9
10
11
12
13
vim $HADOOP_HOME/etc/hadoop/hadoop-env.sh
# 配置 JAVA_HOME
export JAVA_HOME=/opt/jdk1.8.0_181
# 日志存放目录,默认为 $HADOOP_HOME/logs by default.
# export HADOOP_LOG_DIR=${HADOOP_LOG_DIR}/$USER
# *.log:通过log4j记录的大部分应用程序的日志信息
# *.out:记录标准输出和标准错误日志,少量记录
export HADOOP_LOG_DIR=/var/log/hadoop/$USER

sudo mkdir -p /var/log/hadoop
sudo mkdir -p /var/lib/hadoop/data/tmp
sudo chown -R hadoop:hadoop /var/lib/hadoop
sudo chown -R hadoop:hadoop /var/log/hadoop

hadoop的编译和本地安装

hadoop 源码的编译(v2.7.6)

Hadoop是使用Java语言开发的,但出于性能、安全等角度考虑,hadoop部分功能(如压缩)使用系统本地库(Native Libraries)实现。本地库是由C/C++编写的动态库xxx.so(windows下对应xxx.dll文件),并通过JNI(Java Native Interface)机制为java层提供接口。由于不同的处理器架构,需要编译出相应平台的动态库(xxx.so)文件,才能被正确的执行,所以最好重新编译一次hadoop源码,让xxx.so文件与自己处理器相对应。如下是编译hadoop应用的一般步骤:

大数据及hadoop概述

大数据的概念

大数据到底是啥?

大数据(big data),指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。说到底,大数据就是海量的数据,和普通数据区分的标准就是能不能只用单机就能处理的了。大数据领域主要解决海量数据的存储和计算问题

远程执行和远程分发bash脚本

关于bash脚本的四种执行模式以及环境变量加载顺序的说明

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 登陆机器后的第一个shell、通过ssh登陆到远程主机
# 配置文件的加载顺序:
/etc/profile(一定加载)
~/.bashrc(.bash_profile文件存在则加载)
~/.bash_profile(以下三个文件按顺序加载,一旦找到并加载其中一个便不再接着加载)
~/.bash_login
~/.profile

# 新启动一个shell进程如运行bash、远程执行脚本如ssh user@remote script.sh
# 配置文件的加载顺序:
~/.bashrc

# 执行脚本如bash script.sh、运行头部有如 #!/bin/bash 或 #!/usr/bin/env bash的可执行文件
# 配置文件的加载顺序:
寻找环境变量BASH_ENV,将变量的值作为文件名进行查找,如果找到便加载它

Zookeeper简介

概述

ZK是啥?

Zookeeper 是一个开源的分布式的,为分布式应用提供协调服务的Apache项目。Zookeeper从设计模式角度来理解:
是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据,然后接受观察者的注册,一
旦这些数据的状态发生变化,Zookeeper就将负责通知已经在Zookeeper上注册的那些观察者做出相应的反应,从而
实现集群中类似Master/Slave管理模式。Zookeeper=文件系统+通知机制