谷歌

前谷歌高级工程师兼技术主管,京东前高级研发总监,后续在北京与京东前CTO合作建立了和金在线(互联网保险大数据公司),获得红点创投的投资。其实我以前是做大数据的,我在京东是做大数据运用,做他们的推荐系统、广告系统和搜索引擎,,资深大数据程序员,建了一个大数据资源共享群593188212 ,欢迎加入分享学习方法,实时了解大数据市场需求,计算机就可以学会以往只有人类才能理解的念破知识,然后再将这些概念或知识应用到之前从来没有看见过的新数据上。现在分享大数据环境搭建:

前工程师

由于hadoop需要运行在Linux环境中,而且是分布式的,因此个人学习只能装虚拟机,本文都以VMware Workstation为准,安装CentOS7,具体的安装此处不作过多介绍,只作需要用到的知识介绍。

VMware的安装,装好一个虚拟机后利用复制虚拟机的方式创建后面几个虚拟机,省时省力,需要注意的是需要修改每个虚拟机的IP与主机名。

所有虚拟机采用NAT模式上网,而且要保证与物理主机的IP互相能访问。

需要注意的几个问题。nat如果上网首先需要查看物理机(pc机)这个服务器已经启动。上网的原理:流量是走的物理网卡,但是它的ip,却是和物理机没有关系的。 也就是说,无论你怎么更换网络环境,你的虚拟机都不需要做改变。这就是它的优点。

重点看右侧第三图你会看到ip地址,这个ip地址,因个人而异,也就是说不同网络,不同环境,这个ip变化的概率是很大的。可能是192.168.0.1等等。这里也相当于我们编程的一个变量,这里是需要你根据你的环境来赋值的,建议vmnet1到vmnet8分别设置192.168.10.1到192.168.80.1,好作区分。

弹出之后,我们在看一下虚拟机的(交换机)vmnet8.

Linux基础知识

Linux的学习也是一个过程,因为可能你连最简单的开机和关机命令都不会,更不要谈配置网络。这里面给大家提供刚开始学习所查阅的资料和经验总结。首先我们需要使用一些命令,进行网络配置,但是在网络配置中,这里面又必须懂得虚拟机的一些知识,所以前面的虚拟机知识需要掌握扎实一些。在此注意CentOS7与CentOS6的命令有些不同,会一些常用命令是必备,每次开机或启动解压安装授权都是最基本的知识,其它的可以暂时不用学。

具体常用命令可参考常备Linux命令

CentOS中安装java环境

下载对应32或64位jdk,设置好JDK环境变量PATH,具体的配置可自行Google。

环境准备

修改机器名,每个系统中都要修改成这样。

打开终端,切换到root用户下修改机器名称。

$ sudo su

$ vim /etc/sysconfig/network

在其中添加“HOSTNAME=H32”

添加每个服务器IP对应的机器名

三个ip地址都添加到各自的/etc/hosts文件中

每个系统中都要修改成这样

时间间服务器安装

这里需要安装时间服务器,其他的服务器通过这个来进行多机器时间的同步,分布式部署时机器时间不一致会导致数据错误或组件内通讯错误。

安装httpd服务

httpd是Apache超文本传输协议(HTTP)服务器的主程序。被设计为一个独立运行的后台进程,它会建立一个处理请求的子进程或线程的池。

安装yum-utils

yum install yum-utils 用于在线yum安装 它是基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。(需要机器能访问外网)

准备资源和环境

下载Centos 7.2 的iso安装镜像,jdk1.8 for Linux压缩包,hadoop2.7.3压缩包(本来用hadoop3,发现后面不兼容hive的最新版本)

环境

Java基础知识

由于Hadoop框架源码都是以java来写,因此最好都以java作为开发的最佳语言,虽然说有些用C#做了封装,但性能已大打折扣。(这就是为什么说Java的学大数据有很大的优势,其它语言的还需要重新学习Java)

Eclipse IDE使用

Linux和Windows下源码编译技术

还有最重要的是你的网速要好,因为安装过程中会下载依赖包,网不好会卡到你怀疑人生。

最后还需要有耐心,每台机子的环境都不一样,而且每个人下载的包的版本也有可能不一样 会导致各种问题,此时就需要耐心的去看日志,不停的尝试和仔细的对比安装步骤,可能就是少了个变量 或大小写错误或是要重启,