Hadoop数据分析平台项目实战(基于CDH版本集群部署与安装)
1、Hadoop的主要应用场景:
a、数据分析平台。
b、推荐系统。
c、业务系统的底层存储系统。
d、业务监控系统。
2、开发环境:Linux集群(Centos64位)+Window开发模式(window10,64位操作系统)。
使用技术:hadoop,hbase,hive,flume,oozie,sqoop,nginx,tomcat,spring,mybatis,springmvc,mysql等等。Hdfs为海量的数据提供存储,MapReduce为海量的数据提供计算。
此项目使用CDH(Cloudera Distribution Hadoop)版本,是Cloudera公司对其商业化改进和更新,CDH官网:http://cloudera.com
3、开发版本:
a、hadoop2.5.0-cdh5.3.6版本;
(之前cdh版本下载地址:http://archive.cloudera.com/cdh5/cdh/5/或者http://archive.cloudera.com/cdh4/cdh/4/),cdh版本的文档:http://archive.cloudera.com/cdh5/cdh/5/hadoop-2.5.0-cdh5.3.6/
如果是在apache的官网下载之前的版本,地址如下所示:http://archive.apache.org/dist/hadoop/common/,文档查看如:http://hadoop.apache.org/docs/
b、hbase-0.98.6-cdh5.3.6版本。
c、zookeeper-3.4.5-cdh5.3.6版本。
4、Hadoop集群分布式(完全分布式模式)环境搭建:
安装步骤: a、创建用户,使用hadoop用户,注意自己配置好自己的网络,这点很重要。 步骤(注意root用户密码): 1)、使用useradd hadoop添加用户。 2)、使用passwd hadoop设置用户密码,密码为hadoop; 3)、给用户赋予使用sudo命令的权限。 4)、chmod u+w /etc/sudoers。 5)、vim /etc/sudoers。由于root用户对此文件也没有修改权限,所以先赋予权限,修改完毕再删除权限。 6)、在root ALL=(ALL)ALL下面加上一行如下所示: hadoop ALL=(ALL)ALL。注意,分隔的是制表符。 7)、chmod u-w /etc/sudoers。 b、修改主机名以及ssh免密码登陆。 注意:由于以后操作都是使用hadoop用户,所以必须使用hadoop用户登陆进行免密码配置,但是使用root还不是免密码登陆的。 步骤(使用hadoop用户登陆): 1)、使用sudo hostname slaver1修改主机名,当前生效,重启后失效。 2)、使用sudo vim /etc/sysconfig/network修改主机名,重启生效。 3)、在sudo vim /etc/hosts文件中添加主机名称对应的ip地址。 注意,将其他集群的主机名称和对应的Ip地址都添加到三台机器,不然无法ping通。 192.168.19.131 slaver1 192.168.19.132 slaver2 192.168.19.133 slaver3 4)、使用ssh-keygen -t rsa生成ssh密钥。 注意:普通用户生成的密钥对是在~/.ssh目录下面,root用户是在/root/.ssh目录下面,一定区分清楚。 5)、进入.ssh文件夹,创建authorized_keys文件,并且将id_rsa.pub的内容添加到文件中去,修改文件权限为600(必须) 注意:普通用户是在~/.ssh目录下。root用户是在/root/.ssh目录下面。 [hadoop@slaver1 .ssh]$ scp authorized_keys slaver2:~/.ssh/ [hadoop@slaver1 .ssh]$ scp authorized_keys slaver3:~/.ssh/ 6)、ssh slaver1验证是否配置免密码登陆成功。 ssh slaver2 ssh slaver3 c、jdk的安装。 1)、复制jdk的tar压缩包到/home/hadoop/package文件夹中。 2)、解压缩操作: [hadoop@slaver1 package]$ tar -zxvf jdk-7u79-linux-x64.tar.gz -C /home/hadoop/soft/ 3)、创建软连接(可创建或者不创建,创建软连接,方便记忆): [hadoop@slaver1 package]$ sudo ln -s /home/hadoop/soft/jdk1.7.0_79/ /usr/local/jdk 4)、配置相关的环境变量: 针对用户生效:[hadoop@slaver1 package]$ vim ~/.bash_profile 全局生效(此处使用这个):[hadoop@slaver1 package]$ sudo vim /etc/profile 在文件最下面添加如下所示内容: export JAVA_HOME=/home/hadoop/soft/jdk1.7.0_79 export PATH=$PATH:$JAVA_HOME/bin 5)、保存文件,使环境变量生效: [hadoop@slaver1 package]$ source /etc/profile 6)、验证jdk是否安装成功: [hadoop@slaver1 package]$ java [hadoop@slaver1 package]$ javac [hadoop@slaver1 package]$ java -version [hadoop@slaver1 package]$ javac -version d、hadoop的安装。 步骤: 1)、下载hadoop安装包并复制到/home/hadoop/package文件夹中。 2)、解压缩操作。并创建数据保存文件hdfs。 [hadoop@slaver1 package]$ tar -zxvf hadoop-2.5.0-cdh5.3.6.tar.gz -C /home/hadoop/soft/ [hadoop@slaver1 hadoop-2.5.0-cdh5.3.6]$ mkdir hdfs 3)、配置hadoop-env.sh,mapred-env.sh,yarn-env.sh文件。 hadoop-env.sh文件修改如下所示: export JAVA_HOME=/home/hadoop/soft/jdk1.7.0_79 完全分布式需要指定hadoop的pid路径: export HADOOP_PID_DIR=/home/hadoop/soft/hadoop-2.5.0-cdh5.3.6/hdfs/tmp yarn-env.sh文件修改如下所示: export JAVA_HOME=/home/hadoop/soft/jdk1.7.0_79 由于没有默认的,所以手动创建: export YARN_PID_DIR=export HADOOP_MAPRED_PID_DIR=/home/hadoop/soft/hadoop-2.5.0-cdh5.3.6/hdfs/tmp mapred