基于docker1.7.03.1单机上部署hadoop2.7.3集群

基于docker1.7.03.1单机上部署hadoop2.7.3集群

声明

文章均为本人技术笔记,转载请注明出处:
[1] https://segmentfault.com/u/yzwall
[2] blog.csdn.net/j_dark/

0 docker版本与hadoop版本说明

  • PC:ubuntu 16.04.1 LTS
  • Docker version:17.03.1-ce OS/Arch:linux/amd64
  • Hadoop version:hadoop-2.7.3

1 docker中配置构建hadoop镜像

1.1 创建docker容器container

创建基于ubuntu镜像的容器container,官方默认下载ubuntu最新精简版镜像;
sudo docker run -ti container ubuntu

1.2 修改/etc/source.list

修改默认源文件/etc/apt/source.list,用国内源代替官方源;

1.3 安装java8

# docker镜像为了精简容量,删除了许多ubuntu自带组件,通过`apt-get update`更新获得
apt-get update
apt-get install software-properties-common python-software-properties # add-apt-repository
apt-get install software-properties-commonapt-get install software-properties-common # add-apt-repository
add-apt-repository ppa:webupd8team/java
apt-get update
apt-get install oracle-java8-installer
java -version

1.4 docker中安装hadoop-2.7.3

1.4.1 下载hadoop-2.7.3源码

# 创建多级目录
mkdir -p /software/apache/hadoop
cd /software/apache/hadoop
# 下载并解压hadoop
wget http://mirrors.sonic.net/apache/hadoop/common/hadoop-2.7.3/hadoop-2.7.3.tar.gz
tar xvzf hadoop-2.7.3.tar.gz

1.4.2 配置环境变量

修改~/.bashrc文件。在文件末尾加入下面配置信息:

export JAVA_HOME=/usr/lib/jvm/java-8-oracle
export HADOOP_HOME=/software/apache/hadoop/hadoop-2.7.3
export HADOOP_CONFIG_HOME=$HADOOP_HOME/etc/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

source ~/.bashrc使环境变量配置生效;
注意:完成./bashrc文件配置后,hadoop-env.sh无需再配置;

1.5 配置hadoop

配置hadoop主要配置core-site.xmlhdfs-site.xmlmapred-site.xmlyarn-site.xml三个文件;

$HADOOP_HOME下创建namenode, datanodetmp目录

cd $HADOOP_HOME
mkdir tmp
mkdir namenode
mkdir datanode

1.5.1 配置core.site.xml

  • 配置项hadoop.tmp.dir指向tmp目录
  • 配置项fs.default.name指向master节点,配置为hdfs://master:9000
<configuration>
    <property>
        <!-- hadoop temp dir  -->
        <name>hadoop.tmp.dir</name>
        <value>/software/apache/hadoop/hadoop-2.7.3/tmp</value>
        <description>A base for other temporary directories.</description>
    </property>

    <!-- Size of read/write buffer used in SequenceFiles. -->
    <property>
        <name>io.file.buffer.size</name>
        <value>131072</value>
    </property>

    <property>
        <name>fs.default.name</name>
        <value>hdfs://master:9000</value>
        <final>true</final>
        <description>The name of the default file system.</description>
    </property>
</configuration>

1.5.2 配置hdfs-site.xml

  • dfs.replication表示节点数目,配置集群1个namenode,3个datanode,设置备份数为4;
  • dfs.namenode.name.dirdfs.datanode.data.dir分别配置为之前创建的NameNode和DataNode的目录路径
<configuration>
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>master:9001</value>
    </property>

    <property>
        <name>dfs.replication</name>
        <value>3</value>
        <final>true</final>
        <description>Default block replication.</description>
    </property>

    <property>
        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值