在 Ubuntu 上搭建 Eadoop 分布式集群 Eclipse 开发环境

  一直在忙Android FrameWork,终于闲了一点,利用空余时间研究了一下Hadoop,并且在自己和同事的电脑上搭建了分布式集群,现在更新一下blog,分享自己的成果。

一 .环境

1.操作系统:Ubuntu 12.04 LTS 64位

2.Java版本:openjdk-7-jdk

3.Hadoop版本:2.6.0

4.结点信息:


机器名


IP


hostname


作用


master


10.13.14.83


rdcdz140395


NameNode and JobTracker


slave-1


10.13.14.110


rdjdz110716


DataNode and TaskTracker


slave-2


10.13.14.127


rdjdz120312


DataNode and TaskTracker

5.我在每台机器上创建了群组hadoop和用户hduser,并将hduser加入到hadoop群组中,方便管理。

二.安装

1.在这3台电脑上都安装 jdk,ssh,maven

sudo apt-get update
sudo apt-get install openjdk-7-jdk
sudo apt-get install ssh
sudo apt-get install rsync
sudo apt-get install maven
sudo apt-get update

2.在这3台电脑上都添加Hadoop用户组和用户hduser

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

然后切换到hduser账户,进行下面的操作。

su - hduser

3.修改集群中所有机器的/etc/hosts

10.13.14.83  master
10.13.14.110 slave-1
10.13.14.127 slave-2

如下图所示

4.建立SSH无密码登录

在Hadoop启动以后,namenode是通过SSH(Secure Shell)来启动和停止各个节点上的各种守护进程的,这就需要在节点之间执行指令的时候是不需要输入密码的方式,故我们需要配置SSH使用无密码公钥认证的方式。

使用下面的命令会在~/.ssh/目录下生成 id_dsa.pub文件,如果我们希望master 结点不需要密码就能使用ssh连接到slave结点,我们需要将master结点上的~/.ssh/id_dsa.pub的内容,添加到slave结点的~/.ssh,并将id_dsa.pub重命名为authorized_keys

ssh-keygen -t dsa -P ‘‘ -f ~/.ssh/id_dsa
scp -r .ssh/id_dsa.pub 10.13.14.110:~/.ssh/authorized_keys
scp -r .ssh/id_dsa.pub 10.13.14.127:~/.ssh/authorized_keys

5.下载&安装Hadoop

下载Hadoop 解压到master服务器的/home/hduser目录下(配置好master结点后再将其复制到其它的服务器上,一般来说,群集中所有的hadoop都安装在同一目录下)

cd ~
wget http://www.trieuvan.com/apache/hadoop/common/hadoop-2.6.0/hadoop-2.6.0.tar.gz
sudo tar -xzvf hadoop-2.6.0.tar.gz -C /usr/local
cd /usr/local
sudo mv hadoop-2.6.0 hadoop
sudo chown -R hduser:hadoop hadoop 

6.配置Hadoop环境

(1)修改.bashrc

vim ~/.bashrc 

将下面的内容复制到.bashrc最后一行

## Hadoop variables ,start of paste
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
export HADOOP_INSTALL=/usr/local/hadoop
export PATH=$PATH:$HADOOP_INSTALL/bin
export PATH=$PATH:$HADOOP_INSTALL/sbin
export HADOOP_MAPRED_HOME=$HADOOP_INSTALL
export HADOOP_COMMON_HOME=$HADOOP_INSTALL
export HADOOP_HDFS_HOME=$HADOOP_INSTALL
export YARN_HOME=$HADOOP_INSTALL
###end of paste 

7.配置Hadoop

(1)修改 hadoop-env.sh

cd /usr/local/hadoop/etc/hadoop
vim hadoop-env.sh

将下面的三行加入到hadoop-env.sh中,删除原来的 "export JAVA_HOME"那行

# begin of paste
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64/
export HADOOP_COMMON_LIB_NATIVE_DIR="/usr/local/hadoop/lib/native/"
export HADOOP_OPTS="$HADOOP_OPTS -Djava.library.path=/usr/local/hadoop/lib/"
### end of paste 

(2)修改 core-site.xml

vim core-site.xml 

将下面的内容复制到 <configuration> 标签内

<property>
   <name>fs.default.name</name>
   <value>hdfs://localhost:9000</value>
</property>

(3)修改 yarn-site.xml

vim yarn-site.xml 

将下面的内容复制到 <configuration> 标签内

<property>
  <name>yarn.nodemanager.aux-services</name>
  <value>mapreduce_shuffle</value>
</property>
<property>
  <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
  <value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>

(4)修改 mapred-site.xml

mv mapred-site.xml.template mapred-site.xml
vim mapred-site.xml 

将下面的内容复制到 <configuration> 标签内

<property>
   <name>mapreduce.framework.name</name>
   <value>yarn</value>
</property>

(5)修改 hdfs-site.xml

mkdir -p ~/mydata/hdfs/namenode
mkdir -p ~/mydata/hdfs/datanode
vim hdfs-site.xml 

将下面的内容复制到 <configuration> 标签内

<property>
   <name>dfs.replication</name>
   <value>1</value>
 </property>
 <property>
   <name>dfs.namenode.name.dir</name>
   <value>file:/home/hduser/mydata/hdfs/namenode</value>
 </property>
 <property>
   <name>dfs.datanode.data.dir</name>
   <value>file:/home/hduser/mydata/hdfs/datanode</value>
 </property>

8.安装 protobuf-2.5.0 or later

curl -# -O https://protobuf.googlecode.com/files/protobuf-2.5.0.tar.gz
tar -xzvf protobuf-2.5.0.tar.gz
cd protobuf-2.5.0
./configure --prefix=/usr
make
sudo make install
cd ..
mvn package -Pdist,native -DskipTests -Dtar 

三.启动

1.格式化 namenode

hdfs namenode -format

2.启动服务

start-dfs.sh && start-yarn.sh 

3.使用jps查看服务

jps

4.在浏览器上查看

Cluster status: http://localhost:8088
HDFS status: http://localhost:50070
Secondary NameNode status: http://localhost:50090

参考文档:http://blog.csdn.net/feixia586/article/details/24950111

时间: 2024-10-02 22:09:04

在 Ubuntu 上搭建 Eadoop 分布式集群 Eclipse 开发环境的相关文章

Hadoop集群 -Eclipse开发环境设置

1.Hadoop开发环境简介 1.1 Hadoop集群简介 Java版本:jdk-6u31-linux-i586.bin Linux系统:CentOS6.0 Hadoop版本:hadoop-1.0.0.tar.gz 1.2 Windows开发简介 Java版本:jdk-6u31-windows-i586.exe Win系统:Windows 7 旗舰版 Eclipse软件:eclipse-jee-indigo-SR1-win32.zip | eclipse-jee-helios-SR2-win32

利用Redis实现集群或开发环境下SnowFlake自动配置机器号

前言: SnowFlake 雪花ID 算法是推特公司推出的著名分布式ID生成算法.利用预先分配好的机器ID,工作区ID,机器时间可以生成全局唯一的随时间趋势递增的Long类型ID.长度在17-19位.随着时间的增长而递增,在MySQL数据库中,InnoDB存储引擎可以更快的插入递增的主键.而不像UUID那样因为写入是乱序的,InnoDB不得不频繁的做页分裂操作,耗时且容易产生碎片. 对于SnowFlake 的原理介绍,可以参考该文章:理解分布式id生成算法SnowFlake 理解了雪花的基本原理

搭建Spark分布式集群

搭建Spark分布式集群 0.准备 先准备好以下软件: 软件 版本 ubuntu 14.04 64bit java jdk1.8.0_25 64bit hadoop 2.4.1 64bit scala 2.10.4 spark 1.1.0 maven 3.2.3 1.设置静态IP Ubuntu系统设置静态IP l 设置静态IP Sudogedit /etc/network/interfaces 修改文件: autolo ifaceio inet loop back autoeth0 ifacee

Spark入门 - 1 搭建Hadoop分布式集群

安装Ubuntu系统 不论是通过虚拟机方式还是直接在物理机上安装Ubuntu系统,网上都有丰富的教程,此处不再赘述. 为了方便起见,此处设置的机器名最好与书本的设置一致:Master.Slave1和Slave2. 配置root用户登录 这里有一步与普通教程不同.在安装好系统,重启之后,完成了相关配置.可以进行这一步,设置使用root用户登录,方便以后多个服务器相互操作.如下所示. 为了简化权限问题,需要以root用户的身份登录使用Ubuntu系统.而在默认情况下,Ubuntu没有开启root用户

如何在一台ESXi主机上搭建一整套VSAN集群的环境

从上周起,我开始翻译一本新书.IT类中文书籍的翻译往往有一个术语的问题,如何选择最准确的中文术语,让读者清楚明白而且在实际操作和配置的时候不至于误解,是一件不那么容易的事情.一个简单的例子就是cluster,中文可以译作"集群"或者"群集".这两者本身都广为使用,而且是完全相同的意思.我查了一下中文亚马逊书店,136本IT类中文图书用了"集群",29本用了"群集".看上去"集群"更为普及一些,而且我本人也习

ELK介绍及搭建 Elasticsearch 分布式集群

笔记内容:ELK介绍及搭建 Elasticsearch 分布式集群笔记日期:2018-03-02 27.1 ELK介绍 27.2 ELK安装准备工作 27.3 安装es 27.4 配置es 27.5 curl查看es集群情况 ELK介绍 需求背景: 业务发展越来越庞大,服务器越来越多 各种访问日志.应用日志.错误日志量越来越多,导致运维人员无法很好的去管理日志 开发人员排查问题,需要到服务器上查日志,不方便 运营人员需要一些数据,需要我们运维到服务器上分析日志 为什么要用到ELK: 一般我们需要

centos7搭建伪分布式集群

centos7搭建伪分布式集群 需要 centos7虚拟机一台: jdk-linux安装包一个 hadoop-2.x安装包1个(推荐2.7.x) 一.设置虚拟机网络为静态IP(最好设成静态,为之后编程提供方便,不设置静态ip也可以) 1.进入网络配置查看ip 2.选择NAT模式链连接 3.点击NAT设置,记住网关IP,后面要用到 4.进入终端,输入命令: cd  /etc/sysconfig/network-scripts,然后 vim ./ifcfg-eth0,(有的虚拟机是文件是:ifcfg

使用Docker在本地搭建Hadoop分布式集群

学习Hadoop集群环境搭建是Hadoop入门必经之路.搭建分布式集群通常有两个办法: 要么找多台机器来部署(常常找不到机器) 或者在本地开多个虚拟机(开销很大,对宿主机器性能要求高,光是安装多个虚拟机系统就得搞半天……). 那么,问题来了! 有没有更有可行性的办法? 提到虚拟化,Docker最近很是火热!不妨拿来在本地做虚拟化,搭建Hadoop的伪分布式集群环境.虽然有点大材小用,但是学习学习,练练手也是极好的. 文章比较长,建议先倒杯水,听我慢慢到来…… 先说一下我的思路吧: 先使用Dock

Hadoop集群_Eclipse开发环境设置

1.Hadoop开发环境简介 1.1 Hadoop集群简介 Java版本:jdk-6u31-linux-i586.bin Linux系统:CentOS6.0 Hadoop版本:hadoop-1.0.0.tar.gz 1.2 Windows开发简介 Java版本:jdk-6u31-windows-i586.exe Win系统:Windows 7 旗舰版 Eclipse软件:eclipse-jee-indigo-SR1-win32.zip | eclipse-jee-helios-SR2-win32