Mryqu's Notes


  • 首页

  • 搜索
close

[Hadoop] 安装Hadoop 2.7.x 集群

时间: 2015-04-28   |   分类: BigData     |   阅读: 281 字 ~2分钟

集群规划

|节点|角色 |—– |node50064|NameNode RessourceManager |node50069|Datanode SecondNameNode |node51054|Datanade

准备工作

(在全部机器上)创建hadoop用户

$ sudo useradd -m hadoop -s /bin/bash
$ sudo passwd hadoop
$ sudo adduser hadoop sudo

(在全部机器上)配置/etc/hosts

10.120.12.135 node50064.mryqu.com node50064
10.120.11.201 node50069.mryqu.com node50069
10.120.14.226 node51054.mryqu.com node51054

(在全部机器上)禁止掉IPv6

参见之前的博文在Ubuntu中禁掉IPv6。

(在全部机器上)关闭防火墙

ufw disable   //关闭
sudo apt-get remove  ufw   //卸载
sudo ufw status   //查看

(在全部机器上)安装并配置Java JDK

安装Java JDK:

$ sudo apt-get update
$ sudo apt-get install openjdk-7-jre openjdk-7-jdk

通过下列命令确定JDK安装路径为/usr/lib/jvm/java-7-openjdk-amd64: [Hadoop] 安装Hadoop 2.7.x 集群 通过sudovi /etc/profile添加如下内容:

export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH

最后通过source/etc/profile刷新配置文件。

Java环境变量既可以在/etc/profile下配置,也可以在~/.profile或~/.bashrc中配置。区别在于/etc/profile对所有登陆用户都生效,在~/.profile或~./bashrc中配置仅对当前用户有效。~/.profile与~./bashrc二者的区别为,~/.profile可以设定本用户专有的路径、环境变量等,它只能登入的时候执行一次;~/.bashrc也是某用户专有设定文档,可以设定路径、命令别名,每次shellscript的执行都会对其使用一次。

设置无密码SSH登录

在node50064上生成公钥和私钥,公钥即为认证密钥:

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

将认证密钥通过ssh-copy-id命令复制给node50069和node51054: [Hadoop] 安装Hadoop 2.7.x 集群 至此,可从node50064无密码SSH登录上node50069或node51054。

(在node50064上)安装Hadoop

下载并解压缩Hadoop

wget http://apache.osuosl.org/hadoop/common/hadoop-2.7.x/hadoop-2.7.x.tar.gz
tar -xzf hadoop-2.7.x.tar.gz 
sudo mv hadoop-2.7.x /usr/local/hadoop
sudo chown -R hadoop /usr/local/hadoop
cd /usr/local/hadoop
mkdir tmp
mkdir tmp/dfs
mkdir tmp/dfs/name
mkdir tmp/dfs/data

配置环境变量

通过vi~/.bashrc添加如下内容:

# Set HADOOP_HOME (deprecated)
export HADOOP_HOME=/usr/local/hadoop

# Set HADOOP_PREFIX
export HADOOP_PREFIX=$HADOOP_HOME

# Set HADOOP_CONF_DIR
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop

export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_PREFIX/lib/native
export HADOOP_OPTS="$HADOOP_OPTS -Djava.library.path=$HADOOP_PREFIX/lib/native"
export JAVA_LIBRARY_PATH=$HADOOP_PREFIX/lib/native:$JAVA_LIBRARY_PATH
export LD_LIBRARY_PATH=$HADOOP_PREFIX/lib/native

# Add Hadoop bin and sbin directory to PATH
export PATH=$PATH:$HADOOP_PREFIX/bin:$HADOOP_PREFIX/sbin

最后通过source~/.bashrc刷新配置文件。

配置Hadoop

这些配置文件路径为/usr/local/hadoop的相对路径。

etc/hadoop/hadoop-env.sh

export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64

etc/hadoop/core-site.xml

[Hadoop] 安装Hadoop 2.7.x 集群

etc/hadoop/hdfs-site.xml

[Hadoop] 安装Hadoop 2.7.x 集群

etc/hadoop/yarn-site.xml

[Hadoop] 安装Hadoop 2.7.x 集群

etc/hadoop/mapred-site.xml

[Hadoop] 安装Hadoop 2.7.x 集群

etc/hadoop/masters

node50064

etc/hadoop/slaves

node50069
node51054

复制Hadoop及配置到其他主机

在node50064上执行:

scp ~/.bashrc node50069:~/
scp ~/.bashrc node51054:~/
scp -r /usr/local/hadoop node50069:~/
scp -r /usr/local/hadoop node51054:~/

之后,在node50069和node51054上执行:

sudo mv ~/hadoop /usr/local/
sudo chown -R hadoop /usr/local/hadoop
source ~/.bashrc

(在node50064上)启动Hadoop

首次使用需要格式化NameNode

hdfs namenode -format

启动dfs和yarn

start-dfs.sh
start-yarn.sh

启动MapReduce JobHistory服务器

mr-jobhistory-daemon.sh start historyserver

检验安装结果

查看JVM进程状态

[Hadoop] 安装Hadoop 2.7.x 集群

运行Hadoop范例

hdfs dfs -mkdir /user
hdfs dfs -mkdir /user/hadoop
hdfs dfs -put etc/hadoop input
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.x.jar grep input output 'dfs[a-z.]+'
hdfs dfs -cat output/*

查看HDFS Web UI

[Hadoop] 安装Hadoop 2.7.x 集群

查看YARN资管管理器Web UI

[Hadoop] 安装Hadoop 2.7.x 集群

查看MapReduce作业历史

[Hadoop] 安装Hadoop 2.7.x 集群

(在node50064上)关闭Hadoop

mr-jobhistory-daemon.sh stop historyserver
stop-dfs.sh
stop-yarn.sh

附注

SecondNameNode可以在NameNode故障时快一点进行恢复,但它不是对NameNode的插入时更换,也没有提供自动故障切换的手段。更多HadoopHA配置可参考HDFS High Availability Using the Quorum Journal Manager。

参考

Hadoop: Setting up a Single Node Cluster.
Hadoop Cluster Setup
Hadoop Default Ports Quick Reference

标题:[Hadoop] 安装Hadoop 2.7.x 集群
作者:mryqu
声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 CN 许可协议。转载请注明出处!

#hadoop# #cluster# #install# #yarn#
[Hadoop] check FSDataInputStream and its wrapped InputStream implementation
阅读《Microservice Design Patterns》
  • 文章目录
  • 站点概览

Programmer & Architect

662 日志
27 分类
1472 标签
GitHub Twitter FB Page
    • 集群规划
    • 准备工作
    • (在node50064上)安装Hadoop
    • 配置Hadoop
    • 复制Hadoop及配置到其他主机
    • (在node50064上)启动Hadoop
    • 检验安装结果
    • (在node50064上)关闭Hadoop
    • 附注
    • 参考
© 2009 - 2023 Mryqu's Notes
Powered by - Hugo v0.120.4
Theme by - NexT
0%