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