因为使用需要,在自己小本上建了四个虚拟机,打算搭建一个1+3的hadoop分布式系统。

环境:hadoop2.7.0+ubuntu14.04 (64位)

首先分别为搭建好的虚拟机的各主机重命名

方法:vi /etc/hostname

例如:ubuntu0 ubuntu1 ubuntu2 ubuntu3

一. 配置hosts文件

通过ifconfig命令查看虚拟机的IP,配置hosts文件

方法:vi /etc/hosts

192.168.XXX.129 ubuntu0

192.168.XXX.138 ubuntu1

192.168.XXX.139 ubuntu2

192.168.XXX.140 ubuntu3

二. 建立hadoop运行账号

创建hadoop用户组:sudo addgroup hadoop

创建hadoop用户:sudo adduser -ingroup hadoop hadoop

为hadoop用户添加权限

方法:sudo vi /etc/sudoers

添加hadoop ALL=(ALL:ALL)ALL

->切换hadoop用户:su hadoop

三. ssh配置(master-slave免密码登录)

1)每个节点分别产生公私密匙(生成目录为.ssh)

ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

cd .ssh

cat id_dsa.pub >> authorized_keys

单机测试免密码登录:ssh localhost(或主机名)

退出命令:exit

2)让主节点通过ssh登录子节点

scp hadoop@ubuntu0:~/.ssh/id_dsa.pub ./master_dsa.pub

cat master_dsa.pub >> authorized_keys

在子节点重复上诉操作。

四. 下载并解压hadoop安装包

1安装JAVA环境

sudo apt-get install openjdk-7-jdk

查看安装结果:java -version

2下载hadoop2.7.0

解压:sudo tar xzf hadoop-2.7.0.tar.gz

解压hadoop在/usr/local/hadoop下:

sudo mv hadoop-2.7.0 /usr/local/hadoop

修改权限:sudo chmod 777 /usr/local/hadoop

3配置~/.bashrc

查看java的安装路径:update-alternatives --config java

配置.bashrc文件:vi ~/.bashrc 在末尾添加:

#HADOOP VARIABLES START

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

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

export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_INSTALL/lib/native

export HADOOP_OPTS="-Djava.library.path=$HADOOP_INSTALL/lib"

#HADOOP VARIABLES END

执行source ~/.bashrc ,使添加的环境变量生效。

4.编辑/usr/local/hadoop/etc/hadoop/hadoop-env.sh

添加

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

export HADOOP_HOME=/usr/local/hadoop

export YARN_HOME=/usr/local/hadoop

export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop

export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop

5.编辑/usr/local/hadoop/etc/hadoop/yarn-env.sh

export YARN_CONF_DIR="${YARN_CONF_DIR:-$HADOOP_YARN_HOME/etc/hadoop}"
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64

五. 配置namenode,修改site文件(/usr/local/hadoop/etc/hadoop/)

1、配置core-site.xml

<property>

<name>fs.default.name</name>

<value>hdfs://localhost:9000</value>

</property>

2、yarn-site.xml

<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>

3、创建mapred-site.xml,

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

并添加

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

</property>

4、配置hdfs-site.xml

cd /usr/local/hadoop/
mkdir hdfs
mkdir hdfs/data
mkdir hdfs/name

编辑打开hdfs-site.xml

<property>

<name>dfs.replication</name>

<value>1</value>

</property>

<property>

<name>dfs.namenode.name.dir</name>

<value>file:/usr/local/hadoop/hdfs/name</value>

</property>

<property>

<name>dfs.datanode.data.dir</name>

<value>file:/usr/local/hadoop/hdfs/data</value>

</property>

六. 配置masters和slaves文件

在两个文件中分别填入适合的主机名

七. 向节点复制hadoop

scp -r ./hadoop ubuntu1:~

scp -r ./hadoop ubuntu2:~ 

scp -r ./hadoop ubuntu3:~

八、格式化namenode

hdfs namenode -format 

注意:上面只要出现“successfully formatted”就表示成功了。

九.启动hadoop

浏览器打开 http://localhost:50070/,会看到hdfs管理页面

浏览器打开http://localhost:8088,会看到hadoop进程管理页面

wordcount执行停止的修改办法:

在yarn-site.xml中添加

<property>
<name>yarn.acl.enable</name>
<value>false</value>
</property>
<property>
<name>yarn.admin.acl</name>
<value>*</value>
</property>
<property>
<name>yarn.log-aggregation-enable</name>
<value>false</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>ubuntu0:</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>ubuntu0:</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>ubuntu0:</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>ubuntu0:</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>ubuntu0:</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>ubuntu0</value>
</property>
</configuration>

运行wordcount

bin/hadoop fs -mkdir /data       新建文件夹data
bin/hadoop fs -put README.txt /data 将文件复制至data文件下 bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.0.jar wordcount data out 返回hadoop根目录执行命令 bin/hadoop fs -ls /user/hadoop/out 查看out文件下内容 bin/hadoop fs -cat /user/hadoop/out/part-r-00000 查看输出内容 bin/hadoop fs -rm /user/hadoop/out 删除out文件

CMS版测试命令:

sudo -u hdfs hadoop jar /opt/cloudera/parcels/CDH/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar pi 10 100

最新文章

  1. python 学习第五天,python模块
  2. Linux字符集的查看及修改
  3. CentOS7下Apache及Tomcat开启SSL
  4. shell-脚本入门【转】
  5. Git版本控制与工作流
  6. Net 分页功能的实现
  7. VB 笔记
  8. P1079 Vigen&#232;re 密码
  9. awk脚本
  10. PAT (Basic Level) Practise:1014. 福尔摩斯的约会
  11. 【linux】具体芯片MACHINE_START处理
  12. ad nbetmk57
  13. Lambda&amp;Java多核编程-5-函数式接口与function包
  14. 微信网页浏览器打开链接后跳转到其他浏览器下载APK文件包
  15. 断网环境,Python环境迁移
  16. POJ 1659 Frogs&#39; Neighborhood (Havel--Hakimi定理)
  17. &lt;?php if($value[&#39;udertype&#39;] == 0) {?&gt; &lt;td&gt;超级管理员&lt;/td&gt; &lt;?php } else if ($value[&#39;udertype&#39;] == 1)
  18. JavaScript中的DOM及相关操作
  19. [Android Pro] 开发一流的 Android SDK:Fabric SDK 的创建经验
  20. Zabbix实战-简易教程--业务类

热门文章

  1. iOS7开发-Apple苹果iPhone开发Xcode官方文档翻译
  2. EJB配置jboss数据源
  3. codevs 1277 生活大爆炸 2012年CCC加拿大高中生信息学奥赛
  4. null 理解
  5. hibernate3缓存(hibernate)
  6. Bootstrap历练实例:输入框组的大小
  7. 第五次作业:Excel制作英文课程表
  8. ios 团购信息客户端demo(一)
  9. C\C++对于字符串输入处理
  10. 洛谷 P1214 等差数列