在单台云主机搭伪分布式hadoop环境

Hadoop是大数据的基础框架模型,处理大数据,不应只谈偏向业务环境的大数据(如超市买婴儿尿不湿同时还应该推荐啤酒的经典案例),作为解决方案经理,技术是不能缺少的,否则存在忽游的嫌疑。:) 做解决方案经理,技术+业务,个人理解,技术应占到60%,业务占到40%,说到业务其实客户比我们更懂,因此技术非常重要。前面我们讲到过大数据的环境搭建,今天我们用单台云主机(或自建vmware虚机)进行Hadoop所有组件的实际应用,再次加深大数据的技术底蕴。

一、我们搭建伪分布式的hadoop环境

所谓伪分布式,即hadoop之dfs的namenode、datanode均在一台云主机中。今天我们用ubuntu 14.04进行测试,主机配置为2cpu、2GB内存、40GB硬盘,具有弹性IP配置。

二、为便于操作,新建hadoop帐户

1、sudo useradd -m hadoop -s /bin/bash

这条命令创建hadoop帐户,并创建/home/hadoop目录,并使用/bin/bash作为Shell

2、sudo passwd hadoop

这条命令为hadoop帐户设置密码

3、sudo adduser hadoop sudo

为hadoop用户增加管理员权限,方便将来的部署

三、为便于操作,实现master主机无密登陆

1、sudo apt-get update

升级系统,以便为将来的java jdk安装作准备

2、为本机生成免密码登录,为hadoop作准备

ssh localhost 登录成功后退出

cd ~/.ssh/

ssh-keygen -t rsa

cat ./id_rsa.pub>>./authorized_keys

ssh localhost 如果正常,将实现免密登陆

四、安装java环境

1、sudo apt-get install openjdk-7-jre openjdk-7-jdk 安装201M的jdk文件

2、dpkg -L openjdk-7-jdk |grep 'bin/javac' 获得java的执行路径为/usr/lib/jvm/java-7-openjdk-amd64

3、配置JAVA_HOME变量

vim ~/.bashrc

在文件最开始增加

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

!wq后保存退出

4、使环境变量生效

source ~/.bashrc

5、java -version,如果输出版本,则正常安装

五、安装伪分布式hadoop环境

1、从http://mirrors.cnnic.cn/apache.hadoop/common中下载hadoop2.7.6.tar.gz

2、通过rz命令上传至云主机

3、安装hadoop

sudo tar -zxf hadoop-2.7.6.tar.gz -C /usr/local

cd /usr/local/

sudo mv ./hadoop-2.7.6/ ./hadoop 将文件夹名改名

sudo chown -R hadoop ./hadoop 修改文件权限为hadoop用户

4、检查hadoop版本

cd /usr/local/hadoop

./bin/hadoop version

六、配置伪分布式hadoop环境

如果是单机环境,不用配置即可使用,但单机环境无法使用hdfs功能,因此我们按照伪分布式进行配置。

1、配置core-site.xml文件

cd /usr/local/hadoop/etc/hadoop

vim core-site.xml

<configuration>

<property>

<name>hadoop.tmp.dir</name>

<value>file:/usr/local/hadoop/tmp</value>

<description>Abase for other temporary directories.</description>

</property>

<property>

<name>fs.defaultFS</name>

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

</property>

</configuration>

2、配置hdfs-site.xml文件

<configuration>

<property>

<name>dfs.replication</name>

<value>1</value>

</property>

<property>

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

<value>file:/usr/local/hadoop/tmp/dfs/name</value>

</property>

<property>

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

<value>file:/usr/local/hadoop/tmp/dfs/data</value>

</property>

</configuration>

3、格式化hdfs环境

cd /usr/local/hadoop

./bin/hdfs namenode -format

4、配置mapreduce的文件

vim mapred-site.xml

<configuration>

<property>

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

<value>yarn</value>

</property>

</configuration>

5、配置yarn的文件

vim yarn-site.xml

<configuration>

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

</configuration>

~

七、启动所有进程

./sbin/start-dfs.sh 先启动hdfs

./sbin/stop-dfs.sh 先关闭hdfs,以产生secondary进程

./sbin/start-dfs.sh 启动hadoop

./sbin/start-yarn.sh 启动yarn

./sbin/mr-jobhistory-daemon.sh start historyserver 开启历史服务器,才能在web中查看任务运行情况

八、用web界面查看dfs、mapreduce

1、http://118.121.206.238:50070 用弹性ip查看dfs

2、http://118.121.206.238:8088 用弹性ip查看mapreduce