【腾讯云的1001种玩法】在腾讯云上部署你的Hadoop集群

前言

Apache Hadoop软件库是一个框架,开发者只需使用简单的编程模型在大量计算机(配置不高)上对大型数据集进行分布式处理。

YingJoy

Hadoop有两种安装模式

  1. 完全分布式
  2. 伪分布式(单机)

本文采用完全分布式进行安装。

准备

master:      123.206.111.142      hadoop-master 
slave :       115.159.221.61        hadoop-slave-1
slave :       123.206.217.178      hadoop-slave-2

一、安装Java

执行下面代码

cd /opt/
wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-linux-x64.tar.gz"

tar xzf jdk-7u79-linux-x64.tar.gz

用alternatives安装Java

cd /opt/jdk1.7.0_79/
alternatives --install /usr/bin/java java /opt/jdk1.7.0_79/bin/java 2
alternatives --config java

你会看到这个

There are 3 programs which provide 'java'.

  Selection    Command
-----------------------------------------------
*  1           /opt/jdk1.7.0_60/bin/java
 + 2           /opt/jdk1.7.0_72/bin/java
   3           /opt/jdk1.7.0_79/bin/java

Enter to keep the current selection[+], or type selection number: 3 [Press Enter]

这里选择3

现在设置javac和jar命令

alternatives --install /usr/bin/jar jar /opt/jdk1.7.0_79/bin/jar 2
alternatives --install /usr/bin/javac javac /opt/jdk1.7.0_79/bin/javac 2
alternatives --set jar /opt/jdk1.7.0_79/bin/jar
alternatives --set javac /opt/jdk1.7.0_79/bin/javac

查看Java是否安装成功

java -version

java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)

配置环境变量

vi ~/.bashrc

在文件尾部加上下面的代码

export JAVA_HOME=/opt/jdk1.7.0_79
export JRE_HOME=/opt/jdk1.7.0_79/jre
export PATH=$PATH:/opt/jdk1.7.0_79/bin:/opt/jdk1.7.0_79/jre/bin

二、服务器创建Hadoop账号

执行下面代码

useradd hadoop
passwd hadoop

会看到下面

Changing password for user hadoop.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.

三、修改/etc/hosts

执行下面代码

vi /etc/hosts

在文件下面增加下面三句

master的ip hadoop-master
slave1的ip hadoop-slave-1
slave2的ip hadoop-slave-2

四、设置机器之间ssh免密码登陆

仅在Hadoop用户下免密登陆,我听到很多人说配置后仍需密码,那是因为他们使用了root用户来连接。

su - hadoop
ssh-keygen -t rsa
ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop@hadoop-master
ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop@hadoop-slave-1
ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop@hadoop-slave-2
chmod 0600 ~/.ssh/authorized_keys
exit

五、下载Hadoop

这里使用Hadoop的一个稳定点的版本2.7.3

mkdir /opt/hadoop
cd /opt/hadoop/
wget http://apache.mesi.com.ar/hadoop/common/hadoop-2.7.3/hadoop-2.7.3.tar.gz
tar -xzf hadoop-2.7.3.tar.gz
mv hadoop-2.7.3 hadoop
chown -R hadoop /opt/hadoop
cd /opt/hadoop/hadoop/

六、配置Hadoop

1.修改core-site.xml

在<configuration>标签中间添加下面内容

<property>
    <name>fs.default.name</name>
    <value>hdfs://hadoop-master:9000/</value>
</property>
<property>
    <name>dfs.permissions</name>
    <value>false</value>
</property>

2.修改hdfs-site.xml

在<configuration>标签中间添加下面内容

<property>
	<name>dfs.data.dir</name>
	<value>/opt/hadoop/hadoop/dfs/name/data</value>
	<final>true</final>
</property>
<property>
	<name>dfs.name.dir</name>
	<value>/opt/hadoop/hadoop/dfs/name</value>
	<final>true</final>
</property>
<property>
	<name>dfs.replication</name>
	<value>1</value>
</property>

3.修改 mapred-site.xml

首先先运行下面命令

cp mapred-site.xml.template mapred-site.xml

然后在<configuration>标签中间添加下面内容

<property>
        <name>mapred.job.tracker</name>
	<value>hadoop-master:9001</value>
</property>

4.修改hadoop-env.sh

export JAVA_HOME=/opt/jdk1.7.0_79
export HADOOP_OPTS=-Djava.net.preferIPv4Stack=true
export HADOOP_CONF_DIR=/opt/hadoop/hadoop/conf

你的Java路径

七、复制Hadoop到子节点

利用SSH复制,速度有点慢,喝杯茶等一下

su hadoop
cd /opt/hadoop
scp -r hadoop hadoop-slave-1:/opt/hadoop
scp -r hadoop hadoop-slave-2:/opt/hadoop

八、配置Hadoop(只在master上进行)

先进入Hadoop路径

su hadoop
cd /opt/hadoop/hadoop

1.修改conf/masters

hadoop-master

2.修改conf/slaves

hadoop-slave-1
hadoop-slave-2

九、在master上格式化namenode

su hadoop
cd /opt/hadoop/hadoop
bin/hadoop namenode -format

十、开启Hadoop服务

使用下面命令,直接启动所有服务

 bin/start-all.sh

相关推荐

基于OGG的Oracle与Hadoop集群准实时同步介绍

【腾讯云的1001种玩法】hadoop伪分布式搭建

原创声明,本文系作者授权云+社区-专栏发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

1 条评论
登录 后参与评论

相关文章

来自专栏cs

linux学习笔记五

笔记摘抄自《linux操作系统基础及应用》 ---- 作业控制 正在执行的一个或者多个程序可形成一个作业。使用管道命令和重定向命令,一个作业可以启动多个进程...

2946
来自专栏北京马哥教育

Docker容器构建过程的安全性分析

DevOps概念的流行跟近些年微服务架构的兴起有很大关系,DevOps是Dev(Development)和Ops(Operations)的结合,Dev负责开发,...

490
来自专栏Netkiller

Tomcat 安全配置与性能优化

Tomcat 安全配置与性能优化 摘要 我的系列文档 Netkiller Architect 手札Netkiller Developer 手札Netkiller...

3305

Debian云工具

最近,我一直在使用Ubuntu中默认提供的云工具套件,现在我把它们移植到了Debian上,让我们来一起看看怎样把Debian和云结合起来!

1759
来自专栏云计算教程系列

如何在Ubuntu 16.04上使用OpenVPN和Docker安全地运行MongoDB服务器

MongoDB是一个开源的NoSQL数据库。由于传统的MongoDB设置缺少一些您想要的安全功能,可能会担心数据的安全性。

1000
来自专栏星汉技术

Hadoop问题:DataNode线程不见了

1736
来自专栏云计算教程系列

在你的电脑上运行Kubernetes

Kubernetes 是编配平台的首选。在开发过程中,您不妨在个人电脑上运行 Kubernetes,以便在本地启动和调试应用程序。本文提供了两种在 Mac OS...

1132
来自专栏云计算教程系列

如何在Ubuntu 14.04上使用Iptables实现基本防火墙模板

实施防火墙是保护服务器的重要一步。其中很大一部分是在于对您的网络实施流量限制有决定性作用的个别规则和政策。防火墙iptables也允许您对应用规则的结构框架有发...

350
来自专栏Java架构沉思录

微服务不得不了解的Docker入门与实践

Docker 是一个能让程序跑在一个它无法感知的、用于隔绝外界环境里的容器的工具。

641
来自专栏Netkiller

Tomcat 安全配置与性能优化

Tomcat 安全配置与性能优化 摘要 我的系列文档 Netkiller Architect 手札Netkiller Developer 手札Netkiller...

3416

扫码关注云+社区