原生hadoop生态系统组件安装文档

Posted 谦如尘埃风过隙

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了原生hadoop生态系统组件安装文档相关的知识,希望对你有一定的参考价值。

CDP组件部署文档

0000—安装包的下载

1— 操作系统centos7  (版本7.2.x)

(1)下载地址 https://www.centos.org/download/

(2)进入之后按需选择DVD ISO

 

(3)国内下载链接如下(稳定最新版)

 

 

2—JDK (版本1.8.144)

下载地址       http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

3— hadoop   (版本2.8.3最新稳定版)

(1)下载地址      http://hadoop.apache.org/releases.html

 

(2)版本按需选择,点击binary,进入下载页面(此处选择2.8.3版本)

(3)具体下载链接

http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.8.3/hadoop-2.8.3.tar.gz

4— kafka       (版本2.11)

下载地址        http://kafka.apache.org/downloads.html

5—hbase      (版本1.3.2)

       下载地址       http://www.apache.org/dyn/closer.cgi/hbase/

6—hive         (版本2.1.1最新稳定版)

       下载地址       http://www.apache.org/dyn/closer.cgi/hive/

7—spark       (版本2.2.1)

       下载地址       http://spark.apache.org/downloads.html

8—impala     (版本2.10- cdh5.13.3-rpm)

       下载地址       https://archive.cloudera.com/cdh5/redhat/7/x86_64/cdh/5.13.3/RPMS/x86_64/

9—mysql      (版本5.7.17)

       下载地址       https://www.mysql.com/downloads/

 

0001—给裸机装系统centos7(所有机器)

0002--配置静态IP:(所有机器)

       1、编辑 /etc/sysconfig/network-scripts/ifcfg-ens32

       [[email protected] ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens32

              BOOTPROTO=static           ##设置成静态ip

              ONBOOT=yes                           ##开机自启动

              GATEWAY=192.168.1.2       ##网关

              IPADDR=192.168.1.101 ##本机ip

              NETMASK=255.255.255.0   ##mask

              DNS1=119.29.29.29            ##DNS服务器地址,DNS服务器具体配置可选

       2、重启网卡服务

       [[email protected] ~]# systemctl restart network.service

       3、查看静态ip是否更改成功

       [[email protected] ~]# ifconfig

       4、ping通外网

       [[email protected] ~]# ping www.baidu.com

0003--远程连接服务器,方便操作(CRT或Xshell)

0004--修改主机名:(可选配置)

       1、更改主机hostname为cdp001

       [[email protected] ~]# hostnamectl set-hostname cdp001

       2、查看主机名是否更改成功

       [[email protected] ~]# hostname

       cdp001

0005--配置IP映射 (可选配置)

       [[email protected] ~]# vi /etc/hosts

       ##在文件末尾添加如下内容

       ##中间以 tab键 作为间隔

       192.168.1.101       cdp001

       192.168.1.102       cdp002

       192.168.1.103       cdp003

       192.168.1.104       cdp004

       192.168.1.105       cdp005

0006--关闭防火墙和selinux (所有机器)

       ##CentOS7中防火墙程序主要是firewall和iptables,

       ##CentOS7中firewall服务已经默认安装好了,而iptables服务需要自己用yum  install  iptabes-services来安装

       1、查看防火墙状态

       [[email protected] ~]# firewall-cmd  --state                         

       running

       2、本次关闭防火墙

       [[email protected] ~]# systemctl stop firewalld.service      

       3、禁止开机启动防火墙

       [[email protected] ~]# systemctl disable firewalld.service  

       4、编辑selinux属性

       [[email protected] ~]# vi /etc/selinux/config

       ##将selinux=enforcing改成selinux=disabled

       ## selinux=enforcing

        selinux=disabled

0007--配置网络yum源:(国内yum源,可选的有网易源,阿里源,搜狐源)(所有机器)

       1、进入yum源配置目录

       [[email protected] ~]# cd /etc/yum.repos.d

       2、备份系统自带的yum源

       [[email protected] ~]# mv CentOS-Base.repo CentOS-Base.repo.backup

       3、将提前通过win下载好的yum源文件上传到服务器(此处采用网易源,阿里源配置的人比较多,有时堵)

       ##最小化安装centos7默认没有安装wget,所以无法通过wget在服务器上下载

       ## wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo

       [[email protected] yum.repos.d]# mv CentOS7-Base-163.repo CentOS-Base.repo

       4、执行清除之前的缓存 (一定要执行)

       [[email protected] yum.repos.d]# yum clean all

       5、重新建立元数据缓存(一定要执行)

       [[email protected] yum.repos.d]# yum makecache  

 

0008--安装需要的依赖包(所有机器)

       [[email protected] yum.repos.d]# yum -y install

       vim  openssh openssh-clients rsync libaio unzip telnet ntp gcc-c++ iptabes-services

       psmisc libxml2-python autoconf krb5-devel cyrus-sasl-gssapi cyrus-sasl-deve

       libxml2-devel libxslt-devel  python openldap-devel python-devel python-simplejson sqlite-devel

       openldap-devel python-devel python-simplejson sqlite-devel

0009--修改linux性能 交换内存和透明大页面(两项):(所有机器)

       [[email protected] ~]# sysctl -w vm.swappiness=10

       [[email protected] ~]# echo "vm.swappiness=10" >> /etc/sysctl.conf

       [[email protected] ~]# vim /etc/rc.local

       ##在文件尾部追加如下

       [[email protected] ~]# echo never > /sys/kernel/mm/transparent_hugepage/defrag

       [[email protected] ~]# echo never > /sys/kernel/mm/transparent_hugepage/enabled

0010--为每个节点添加一个非root超级用户 (所有机器)

       (1)创建linux系统用户cdpadmin

       [[email protected] ~]# adduser cdpadmin

       (2)为用户cdpadmin设置密码

       [[email protected] ~]# passwd cdpadmin

       更改用户 cdpadmin 的密码 。

       (3)找到授权管理文件sudoers

       [[email protected] ~]# whereis sudoers

       sudoers: /etc/sudoers /etc/sudoers.d /usr/share/man/man5/sudoers.5.gz

       (4)给用户cdpadmin授权

       [[email protected] ~]# vim /etc/sudoers

       root    ALL=(ALL)       ALL

       cdpadmin        ALL=(ALL)       ALL

       (5)创建用户组cdpadmin

       [[email protected] opt]# groupadd cdpadmin

       (6)将用户添加到cdpadmin用户组中

       [[email protected] opt]# usermod -a -G cdpadmin cdpadmin

       (7)查看用户cdpadmin的用户组有哪些

       [[email protected] opt]# groups cdpadmin

       cdpadmin : cdpadmin

0011--配置节点SSH免密登录

       (1)生成密钥对

       [[email protected] ~]$ ssh-keygen

       (2)把公钥拷贝并添加到目标服务器的authorized-keys文件中

       [[email protected] ~]$ ssh-copy-id cdp003 

0012--安装JDK(jdk版本1.8.144)  (所有机器)(配置好免密登录后,用scp和rsync同步到其它机器)

       1、查看本机系统是否安装了JDK并卸载

       [[email protected] ~]# rpm -qa| grep -i java

       ##如果有安装JDK,卸载

       [[email protected] ~]# rpm -e –nodeps 已安装rpm包

 

       2、安装jdk

       (1)创建安装包存放目录 /opt/software 和软件安装目录 /opt/cdp

       [[email protected] ~]# mkdir -p /opt/software

       [[email protected] ~]# mkdir -p /opt/cdp

       (2)将jdk安装包上传到/opt/software

       sftp> put -r jdk-8u144-linux-x64.tar.gz

       (3)进入/opt/software 将jdk-tar包解压到/opt/cdp

       [[email protected] yum.repos.d]# cd /opt/software/

       [[email protected] software]# tar -zxf jdk-8u144-linux-x64.tar.gz -C /opt/cdp/

      

       3、配置jdk环境变量

       (1)编辑/etc/profile

       [[email protected] software]# vim /etc/profile

       (2)添加如下配置信息

       ##JAVA_HOME

       export JAVA_HOME=/opt/cdp/jdk1.8.0_144

       export PATH=$PATH:$JAVA_HOME/bin

       (3)保存退出

       (4)让修改后的配置文件生效

       [[email protected] software]# source /etc/profile

       (5)测试java安装成功与否

       [[email protected] software]# java -version

       java version "1.8.0_144"

       Java(TM) SE Runtime Environment (build 1.8.0_144-b01)

       Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)

 

0013--配置时间服务器 用root用户(选定一个机器作为时间服务器的主机)

       1、检查ntp服务是否正确安装 显示如下:(表明正确安装,否则安装一下$ sudo yum -y install ntp)

       [[email protected] ~]# rpm -qa | grep ntp

       ntpdate-4.2.6p5-25.el7.centos.2.x86_64

       ntp-4.2.6p5-25.el7.centos.2.x86_64

 

       2、修改ntp配置文件

       [[email protected] ~]# vi /etc/ntp.conf

              修改内容如下

              a)修改1 (授权192.168.216.0网段上的所有机器可以从这台机器上查询和同步时间)

              #restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap为

              restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

              b)修改2 (集群在局域网中,不使用其他的网络时间) 

              server 0.centos.pool.ntp.org iburst

              server 1.centos.pool.ntp.org iburst

              server 2.centos.pool.ntp.org iburst

              server 3.centos.pool.ntp.org iburst为

              #server 0.centos.pool.ntp.org iburst

              #server 1.centos.pool.ntp.org iburst

              #server 2.centos.pool.ntp.org iburst

              #server 3.centos.pool.ntp.org iburst        

              c)在文件末尾添加如下内容 (当该节点丢失网络连接,依然可以作为时间服务器为集群中的其他节点提供时间同步)

              server 127.127.1.0

              fudge 127.127.1.0 stratum 10

       3、修改/etc/sysconfig/ntpd 文件

       [[email protected] ~]# vim /etc/sysconfig/ntpd

       ##增加内容如下

       SYNC_HWCLOCK=yes

       4、重新启动并设置开机自启ntp服务

       (1)查看时间服务器ntpd的启动状态

       [[email protected] ~]# systemctl status ntpd.service

       (2)启动时间服务器ntpd

       [[email protected] ~]# systemctl start ntpd.service

       (3)设置开机自启动时间服务器ntpd

       [[email protected] ~]# systemctl enable ntpd.service

       5、在其他机器配置10分钟与时间服务器同步一次

       (1)新开一个定时任务(每个slaves节点)

       [[email protected] ~]# crontab -e

       ##编写脚本

       */10 * * * * /usr/sbin/ntpdate cdp001

       6、其它机器先手动同步一次时间(每个slaves节点)

       [[email protected] ~]# ntpdate -u cdp001

       ## 出现的问题:no server suitable for synchronization found   

       ## 解决:同步时间的服务器地址不对

 

0014--centos7安装mysql5.7.x(此处mysql版本5.7.17) (用cdpadmin用户进行安装)

       1、将msyql-tar包和驱动jar包上传到服务器

       sftp> put -r mysql-connector-java-5.1.46.jar mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz

       2、创建mysql驱动jar包的公共共享目录

       [[email protected] software]$ sudo mkdir -p /usr/share/java

       3、设置/usr/share/java目录的权限为归cdpadmin

       [[email protected] software]$ sudo chown -R cdpadmin:cdpadmin /usr/share/java

       4、将mysql的驱动jar包放置到公共共享目录/usr/share/java,同时更名为mysql-connector-java.jar

       [[email protected] software]$ cp mysql-connector-java-5.1.46.jar /usr/share/java/mysql-connector-java.jar

       5、将mysql解压到指定目录/usr/local/,同时修改用户权限

       [[email protected] software]$ sudo tar -zxf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz -C /usr/local/

       [[email protected] software]$ sudo chown -R cdpadmin:cdpadmin /usr/local/mysql-5.7.17-linux-glibc2.5-x86_64/

       6、进入安装目录/usr/local/,并将mysql安装包更名(名字过长)

       [[email protected] local]$ sudo mv mysql-5.7.17-linux-glibc2.5-x86_64/ mysql

       7、进入mysql安装目录,将support-files目录下的my-default.cnf 复制到/etc并改名为my.cnf

       [[email protected] support-files]$ cd /usr/local/mysql/support-files

       [[email protected] support-files]$ sudo cp my-default.cnf /etc/my.cnf

       8、修改/etc/my.cnf的用户权限

       [[email protected] etc]$ sudo chown -R cdpadmin:cdpadmin /etc/my.cnf

       9、修改/etc/my.cnf的配置

       [[email protected] etc]$ vim /etc/my.cnf

       [mysql]

       default-character-set=utf8

       [mysqld]

       default-storage-engine=INNODB

       character_set_server=utf8

       10、复制/usr/local/mysql/support-files/目录下的mysql.server到/etc/init.d/下,并改名为mysql,同时修改权限

       [[email protected] support-files]$ sudo cp mysql.server /etc/init.d/mysql

       [[email protected] support-files]$ sudo chown -R cdpadmin:cdpadmin /etc/init.d/mysql

       11、编辑/etc/init.d/mysql

       [[email protected] init.d]$ vim /etc/init.d/mysql

       basedir=/usr/local/mysql

       datadir=/usr/local/mysql/data

       12、初始化mysql数据库

       [[email protected] bin]$ cd /usr/local/mysql/bin/

       [[email protected] bin]$ ./mysqld --initialize --user=cdpadmin --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

       ##初始化成功后,末尾一行会出现如下结果

       2018-04-18T12:34:09.821411Z 1 [Note] A temporary password is generated for [email protected]: m%ltpP07bi2-

       13、给数据库加密

       [[email protected] bin]$ ./mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data

       14、启动mysql进行安装测试

       [[email protected] bin]$ ./mysqld_safe --user=cdpadmin &

       15、查看mysql启动成功与否

       [[email protected] etc]$ ps -ef|grep mysql

       16、登录mysql

       [[email protected] etc]$ cd /usr/local/mysql/bin/

       [[email protected] bin]$ ./mysql -uroot -pm%ltpP07bi2-   #密码是初始化时自动生成的

       17、修改root账号的密码及设置root账号远程登录的权限

       mysql> set password=password(‘123456‘);

       mysql> grant all privileges on *.* to [email protected]‘%‘ identified by ‘123456‘;

       mysql> flush privileges;

       18、设置linux防火墙放开3306端口

       [[email protected] bin]$ sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent

       [[email protected] bin]$ sudo firewall-cmd --reload

       19、设置Mysql开机自启动

       [[email protected] bin]$ sudo chkconfig --add mysql

       [[email protected] bin]$ sudo chkconfig mysql on

       20、配置mysql的环境变量(可选操作)

       [[email protected] bin]$ sudo vim /etc/profile

       export PATH=$PATH:$JAVA_HOME/bin:/usr/local/mysql/bin

       [[email protected] bin]$ source /etc/profile

       ## 用cdpadmin用户安装Mysql可能会遇到开机无法自启的情况,只能手动启动msyql

       ## 解决方式:用root用户安装Mysql

       ## 推荐方式,用cdpadmin用户安装,然后手动启动Mysql

0015--安装hadoop集群(此处hadoop版本2.8.3)

       1、将安装tar包上传到linux

       sftp> cd /opt/software/

       sftp> put -r hadoop-2.8.3.tar.gz

       2、解压到指定位置

       [[email protected] software]$ cd /opt/software/

       [[email protected] software]$ tar -zxf hadoop-2.8.3.tar.gz -C /opt/cdp/

       3、配置hadoop的环境变量

       [[email protected] cdp]$ sudo vim /etc/profile

       ##在文件末尾添加如下内容

       ##HADOOP_HOME

       export HADOOP_HOME=/opt/cdp/hadoop-2.8.3

       export PATH=$PATH:$HADOOP_HOME/bin

       export PATH=$PATH:$HADOOP_HOME/sbin

       4、测试hadoop是否安装成功

       [[email protected] cdp]$ source /etc/profile

       [[email protected] cdp]$ hadoop version

       5、修改hadoop的配置文件

       [[email protected] hadoop]$ cd /opt/cdp/hadoop-2.8.3/etc/hadoop

       [[email protected] hadoop]$ ll

       (1)主要需要修改的配置文件如下所示

       ## hadoop-env.sh       #修改 export JAVA_HOME=/opt/cdp/jdk1.8.0_144

       ## mapred-env.sh       #修改 export JAVA_HOME=/opt/cdp/jdk1.8.0_144

       ## yarn-env.sh            #修改 export JAVA_HOME=/opt/cdp/jdk1.8.0_144

       ## core-site.xml

       ## hdfs-site.xml

       ## mapred-site.xml

       ## yarn-site.xml

       ## log4j.properties

       ## slaves

       (2)配置 core-site.xml

       <!-- 指定HDFS中NameNode的地址 -->

       <property>

              <name>fs.defaultFS</name>

              <value>hdfs://cdp003:9000</value>

       </property

 

       <!-- 指定hadoop运行时产生文件的存储目录 -->

       <property>

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

              <value>/opt/cdp/hadoop-2.8.3/data</value>

       </property>

       (3)配置hdfs-site.xml

       <!—副本数量 -->                                                                                                       

       <property>

              <name>dfs.replication</name>

              <value>3</value>

       </property>

 

       <!-- 指定HDFS中secondNameNode的地址 -->

       <property>

              <name>dfs.namenode.secondary.http-address</name>

              <value>cdp002:50090</value>

       </property>

       (4)配置mapred-site.xml([[email protected] hadoop]$ cp mapred-site.xml.template mapred-site.xml)

       <!-- 指定mr运行在yarn上 -->

       <property>

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

              <value>yarn</value>

       </property>

       <!-- 配置历史服务器 -->

       <property>

              <name>mapreduce.jobhistory.address</name>

              <value>cdp002:10020</value>

       </property>

       <!-- 配置历史服务器的webUI -->

       <property>

              <name>mapreduce.jobhistory.webapp.address</name>

              <value>cdp002:19888</value>

       </property>

       (5)配置yarn-site.xml

       <!-- reducer获取数据的方式 -->

       <property>

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

              <value>mapreduce_shuffle</value>

       </property>

       <!-- 指定YARN的ResourceManager的地址 -->

       <property>

              <name>yarn.resourcemanager.hostname</name>

              <value>cdp002</value>

       </property>

       <!-- 日志聚集功能使能 -->

       <property>

              <name>yarn.log-aggregation-enable</name>

              <value>true</value>

       </property>

       <!-- 日志保留时间设置7天 (单位s秒)-->

       <property>

              <name>yarn.log-aggregation.retain-seconds</name>

              <value>604800</value>

       </property>

       (6)配置slaves

       cdp001

       cdp002

       cdp003

       cdp004

       cdp005

       6、将安装好的hadoop scp到其它节点(写脚本也可以)

       [[email protected] data]$ scp -r /opt/cdp/hadoop-2.8.3 cdp002:/opt/cdp/

       [[email protected] data]$ scp -r /opt/cdp/hadoop-2.8.3 cdp004:/opt/cdp/

       7、将环境变量配置文件同步到其它节点

       [[email protected] cdp]$ sudo rsync /etc/profile cdp002:/etc/profile

       [[email protected] cdp]$ ssh cdp002 "source /etc/profile"

       ##此处环境变量没有生效问题 修改 ~/.bash_profile文件

       ##或者手动 source /etc/profile

       ##解决方式:cat /etc/profile >> ~/.bashrc

       8、初始化namenode

       [[email protected] hadoop]$ hdfs namenode -format

       ##初始化假如报错,重新按照提示或者日志文件进行修改

       9、在namenode节点启动namenode,resourceManager节点启动yarn(生产环境写一个群起脚本,单节点执行)

       [[email protected] hadoop]$ start-dfs.sh

       [[email protected] hadoop]$ start-yarn.sh

       [[email protected] hadoop]$ jps

       6576 Jps

       6081 DataNode

       6369 NodeManager

       6261 ResourceManager

       6182 SecondaryNameNode

       10、访问hadoop的webUI http://cdp003:50070,进行启动测试

       ## hadoop 2.8.x版本之后,webUI的界面进行了升级,增加了很多感官性强的功能

0016--数仓工具hive的安装

       ## 采用的hive版本2.1.1(stable)最新稳定版

       ## 前提1 安装好Msyql(metastore的数据库)

       ## 前提2 hadoop集群安装调试成功

       1、上传安装包到linux

       sftp> put -r apache-hive-2.1.1-bin.tar.gz

       2、解压到指定安装目录

       [[email protected] software]$ tar -zxf apache-hive-2.1.1-bin.tar.gz -C /opt/cdp/

       3、进入并重命名

       [[email protected] software]$ cd /opt/cdp/

       [[email protected] cdp]$ mv apache-hive-2.1.1-bin/ hive-2.1.1

       4、配置hive的环境变量并同步到其它节点

       [[email protected] conf]$ sudo /etc/profile

       ##HIVE_HOME

       export HIVE_HOME=/opt/cdp/hive-2.1.1

       export PATH=$PATH:$HIVE_HOME/bin

       [[email protected] conf]$ source /etc/profile

       [[email protected] conf]$ sudo rsync /etc/profile cdp002:/etc/profile

       5、修改hive的配置文件

       ##主要的配置文件有

       ## hive-env.sh

       ## hive-site.xml

       6、编辑hive-env.sh

       [[email protected] cdp]$ cd hive-2.1.1/conf/

       [[email protected] conf]$ cp hive-env.sh.template hive-env.sh

       [[email protected] conf]$ vim hive-env.sh

       ## export JAVA_HOME=/opt/cdp/jdk1.8.0_144

       ## export HADOOP_HOME=/opt/cdp/hadoop-2.8.3

       ## export HIVE_HOME=/opt/cdp/hive-2.1.1

       ## export HIVE_CONF_DIR=/opt/cdp/hive-2.1.1/conf

       7、为配置hive-site.xml做准备工作

       [[email protected] conf]$ hdfs dfs -mkdir -p /user/hive/warehouse

       [[email protected] conf]$ hdfs dfs -mkdir -p /user/hive/tmp

       [[email protected] conf]$ hdfs dfs -mkdir -p /user/hive/log

       [[email protected] conf]$ hdfs dfs -chmod -R 777 /user/hive/warehouse

       [[email protected] conf]$ hdfs dfs -chmod -R 777 /user/hive/tmp

       [[email protected] conf]$ hdfs dfs -chmod -R 777 /user/hive/log

       [[email protected] ~]$ cd /opt/cdp/hive-2.1.1/

       [[email protected] hive-2.1.1]$ mkdir tmp

       8、编辑hive-site.xml

       <?xml version="1.0" encoding="UTF-8" standalone="no"?>

       <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

       <configuration>

 

       <!-- metastore元数据库连接地址  -->

       <property>

         <name>javax.jdo.option.ConnectionURL</name>

         <value>jdbc:mysql://cdp003:3306/hive?createDatabaseIfNotExist=true</value>

         <description>JDBC connect string for a JDBC metastore</description>

       </property>

 

       <!-- metastore元数据库连接驱动名称  -->

       <property>

         <name>javax.jdo.option.ConnectionDriverName</name>

         <value>com.mysql.jdbc.Driver</value>

         <description>Driver class name for a JDBC metastore</description>

       </property>

 

       <!-- metastore元数据库连接用户名  -->

       <property>

         <name>javax.jdo.option.ConnectionUserName</name>

         <value>root</value>

         <description>username to use against metastore database</description>

       </property>

 

       <!--  metastore元数据库连接用户密码 -->

       <property>

         <name>javax.jdo.option.ConnectionPassword</name>

         <value>123456</value>

         <description>password to use against metastore database</description>

       </property>

 

       <!-- 用于运行作业时存储临时文件的hdfs上的路径  -->

       <property>

              <name>hive.exec.scratchdir</name>

              <value>/user/hive/tmp</value>

       </property>

 

       <!-- 用于运行作业时存储临时文件的本地路径,此路径需要提前创建 -->

       <property>

              <name>hive.exec.local.scratchdir</name>

              <value>/opt/cdp/hive-2.1.1/tmp</value>

       </property>

 

       <!-- hive数据仓库数据的保存路径,在hdfs上,最好提前创建这个路径  -->

       <property>

              <name>hive.metastore.warehouse.dir</name>

              <value>/user/hive/warehouse</value>

       </property>

 

       <!-- hive查询日志的保存路径,在hdfs上,最好提前创建这个路径  -->

       <property>

              <name>hive.querylog.location</name>

              <value>/user/hive/log</value>

       </property>

 

       <!-- hive metastore服务的ip和端口,用于hive server2的连接 -->

       <property>

         <name>hive.metastore.uris</name>

         <value>thrift://cdp003:9083</value>

       </property>

 

       <!-- hive metastore服务端口  -->

       <property>

         <name>hive.metastore.port</name>

         <value>9083</value>

       </property>

 

       <!-- 设置hive的metastore元数据库不采用本地的derby,而采用mysql  -->

       <property>

         <name>hive.metastore.local</name>

         <value>false</value>

       </property>

 

       <!-- 当设置为true,Hive会检测metastore中存储的version信息是否和Hive

       jar中记录的version信息一致,若不一致,则很多请求都不会被执行,且抛出异常。

       这里可以设置成false。以后都不再检测。  -->

       <property>

         <name>hive.metastore.schema.verification</name>

         <value>false</value>

       </property>

 

       <!--  hive server2服务的端口 -->

       <property>

         <name>hive.server2.thrift.port</name>

         <value>10000</value>

       </property>

 

       <!-- hiveserver2 所在机器的hostname ,不同机器此属性值不同-->

       <property>

         <name>hive.server2.bind.host</name>

         <value>cdp004</value>

       </property>

 

       </configuration>

       9、分发安装好的hive到其它的节点,同时修改不同机器上的hive-site.xml的hive.server2.bind.host配置属性值

       [[email protected] bin]$ scp -r /opt/cdp/hive-2.1.1 cdp002:/opt/cdp/

       10、hive metastore所在节点进行元数据库的初始化(只要执行一次)

       [[email protected] conf]$ schematool -dbType mysql -initSchema

       11、启动hive metastore (此服务只要启动一次即可)

       ## 方式有两种,一种以daemon方式,一种非daemon方式

       ##推荐第一种

       [[email protected] conf]$ nohup hive --service metastore > metastore.log 2>&1 &

       [[email protected] bin]$ bin/hive --service metastore

       12、在想要启动hiver server2的节点启动hive server2服务

       ## 方式有两种,一种是daemon方式,一种是非daemon方式

       [[email protected] bin]$ nohup hive --service hiveserver2 > hiveserver2.log 2>&1 &

       [[email protected] bin]$ bin/hiveserver2

       13、进入hive进行hive server2 的测试

       [[email protected] ~]$ hive

       hive> create table testHive(

              > id int,

              > name string

              > );

       14、进入不同机器的hive,查看

       hive> show tables;

       15、至此,hive安装完毕。

0017--hbase集群的安装

       ## 此处采用hbase版本1.3.2(stable最新稳定版)

       ## 首先确保JDK、hadoop、zookeeper正常安装并启动

       1、上传安装包到linux

       sftp> put -r hbase-1.3.2-bin.tar.gz

       2、解压到指定安装目录

       [[email protected] software]$ tar -zxf hbase-1.3.2-bin.tar.gz -C /opt/cdp/

       3、修改hbase的配置文件

       ## 主要的配置文件有:

       ## hbase-env.sh

       ## hbase-site.xml

       ## regionservers

       4、编辑hbase-env.sh

       ## 注释 “HBASE_MASTER_OPTS” 和 “HBASE_REGIONSERVER_OPTS”

       ## export JAVA_HOME=/opt/cdp/jdk1.8.0_144

       ## export HBASE_MANAGES_ZK=false

       [[email protected] conf]$ vim hbase-env.sh

       5、编辑regionservers

       ## cdp001

       ## cdp002

       ## cdp003

       ## cdp004

       ## cdp005

       6、编辑hbase-site.xml

       <property>

                     <name>hbase.rootdir</name>

                     <value>hdfs://cdp003:9000/hbase</value>  

       </property>

 

       <property>

                     <name>hbase.cluster.distributed</name>

                     <value>true</value>

       </property>

 

       <!-- 0.98后的新变动,之前版本没有.port,默认端口为60000 -->

       <property>

                     <name>hbase.master.port</name>

                     <value>16000</value>

       </property>

 

       <property>

                     <name>hbase.zookeeper.quorum</name>

                     <value>cdp002:2181,cdp003:2181,cdp004:2181</value>

       </property>

 

       <property>

                     <name>hbase.zookeeper.property.dataDir</name>

                     <value>/opt/cdp/zookeeper-3.4.10/zkData</value>

       </property>

       7、替换hbase/lib目录下的依赖jar

        hadoop-annotations-2.8.3.jar

        hadoop-auth-2.8.3.jar

        hadoop-client-2.8.3.jar(此jar包Linux上没有,通过maven下载)

        hadoop-common-2.8.3.jar

        hadoop-hdfs-2.8.3.jar

        hadoop-mapreduce-client-app-2.8.3.jar

        hadoop-mapreduce-client-common-2.8.3.jar

        hadoop-mapreduce-client-core-2.8.3.jar

        hadoop-mapreduce-client-jobclient-2.8.3.jar

        hadoop-mapreduce-client-shuffle-2.8.3.jar

        hadoop-yarn-api-2.8.3.jar

        hadoop-yarn-client-2.8.3.jar

        hadoop-yarn-common-2.8.3.jar

        hadoop-yarn-server-common-2.8.3.jar

        zookeeper-3.4.10.jar

        8、将hadoop的配置文件core-site.xml 和hdfs-site.xml 软连接或者复制到hbase/conf目录下

        [[email protected] hadoop]$ cp -r core-site.xml hdfs-site.xml /opt/cdp/hbase-1.3.2/conf/

        9、将安装好的hbase分发到其它节点

        [[email protected] cdp]$ scp -r /opt/cdp/hbase-1.3.2 cdp002:/opt/cdp/

        10、启动hbase进行测试

        [[email protected] hbase-1.3.2]$ bin/start-hbase.sh

        hbase webUI访问 http://cdp003:16010

        11、至此,hbase安装完毕。

0018--kafka集群的安装(ganglia监控工具/perf性能测试)

       ## kafka版本1.1.0(最新稳定版stable) 对应scala版本2.11

       ## kafka集群对zookeeper 强依赖

       ## 测试安装zookeeper版本是 3.4.10

       1、安装kafka集群前,确认安装好zookeeper集群并成功启动

       2、上传kafka安装包到其中一台节点

       sftp> put -r kafka_2.11-1.1.0.tgz

       ##采用 wget 现场下载也可以

       3、将安装包解压到指定位置

       [[email protected] software]$ tar -zxf kafka_2.11-1.1.0.tgz -C /opt/cdp/

       4、进入安装目录,并创建logs,用于kafka数据的本地存放

       [[email protected] kafka_2.11-1.1.0]$ cd /opt/cdp/kafka_2.11-1.1.0

       [[email protected] kafka_2.11-1.1.0]$ mkdir logs

       5、修改kafka broker server的配置文件 server.properties

       [[email protected] config]$ cd /opt/cdp/kafka_2.11-1.1.0/config

       [[email protected] config]$ vim server.properties

       ##主要配置如下:

       ##broker的全局唯一编号,不能重复

       ##broker.id=0

       ##是否允许删除topic

       ##delete.topic.enable=true

       ##kafka运行日志存放的路径

       ##log.dirs=/opt/cdp/kafka_2.11-1.1.0/logs

       ##topic在当前broker上的分区个数

       ##num.partitions=1

       ##配置连接Zookeeper集群地址

       ##zookeeper.connect=cdp002:2181,cdp003:2181,cdp004:2181

       ##kafka链接zookeeper的超时时间

       ##zookeeper.connection.timeout.ms=60000

       6、将本机上的kafka分发到其它机器

       [[email protected] cdp]$ scp -r /opt/cdp/kafka_2.11-1.1.0 cdp004:/opt/cdp/

       7、手动或者脚本形式修改其它机器上的broker.id属性值(每台机器上的broker.id都要全局唯一)

       8、启动kafka进行安装测试

       [[email protected] kafka_2.11-1.1.0]$ bin/kafka-server-start.sh -daemon config/server.properties

       [[email protected] kafka_2.11-1.1.0]$ bin/kafka-topics.sh --zookeeper cdp002:2181,cdp003:2181 --create --replication-factor 3 --partitions 1 --topic first

       [[email protected] kafka_2.11-1.1.0]$ bin/kafka-topics.sh --zookeeper cdp002:2181,cdp003:2181 --list

       first

       9、至此,kafka集群安装完毕

0019--spark集群的安装

       ## 没有配置高可用,因为不是独立的spark集群,sprak程序在yarn上运行

       ## 此处采用spark的最新稳定版(2.2.1 对应的scala版本2.11以上)

       1、安装spark前机器需要安装好JDK和hadoop

       2、上传安装包到Linux

       sftp> put -r spark-2.2.1-bin-hadoop2.7.tgz

       3、解压到指定的安装目录并更名(名称过长)

       [[email protected] software]$ tar -zxf spark-2.2.1-bin-hadoop2.7.tgz -C /opt/cdp/

       [[email protected] software]$ cd /opt/cdp/

       [[email protected] cdp]$ mv spark-2.2.1-bin-hadoop2.7/ spark-2.2.1

       4、编辑spark的配置文件

       ##主要编辑的配置文件有

       ## conf/spark-env.sh

       ## conf/spark-defaults.conf

       ## conf/slaves

       ## sbin/spark-config.sh

       [[email protected] conf]$ cd /opt/cdp/spark-2.2.1/conf

       [[email protected] conf]$ cp slaves.template slaves

       [[email protected] conf]$ cp spark-defaults.conf.template spark-defaults.conf

       [[email protected] conf]$ cp spark-env.sh.template spark-env.sh

       5、在hdfs上创建目录/directory

       [[email protected] zookeeper-3.4.10]$ hadoop fs -mkdir /directory

       6、编辑sbin/spark-config.sh

       ## export JAVA_HOME=/opt/cdp/jdk1.8.0_144

       7、编辑 conf/spark-env.sh

       [[email protected] sbin]$ cd /opt/cdp/spark-2.2.1/sbin

       ## master节点信息

       SPARK_MASTER_HOST=cdp003

       SPARK_MASTER_PORT=7077

       ##历史服务器信息

       export SPARK_HISTORY_OPTS="-Dspark.history.ui.port=4000

       -Dspark.history.retainedApplications=3

       -Dspark.history.fs.logDirectory=hdfs://cdp003:9000/directory"

       ##配置spark程序在yarn上跑

       HADOOP_CONF_DIR=/opt/cdp/hadoop-2.8.3/etc/hadoop

       YARN_CONF_DIR=/opt/cdp/hadoop-2.8.3/etc/hadoop

       8、编辑conf/spark-defaults.conf

       [[email protected] conf]$ vim spark-defaults.conf

       ##开启日志服务和日志保存地址

spark.eventLog.enabled           true

spark.eventLog.dir               hdfs://cdp003:9000/directory

       9、编辑haddoop的yarn-site.xml并分发到其它机器

       [[email protected] hadoop]$ vim yarn-site.xml

       <!--是否启动一个线程检查每个任务正使用的物理内存量,如果任务超出分配值,则直接将其杀掉,默认是true -->

       <property>

                     <name>yarn.nodemanager.pmem-check-enabled</name>

                     <value>false</value>

       </property>

       <!--是否启动一个线程检查每个任务正使用的虚拟内存量,如果任务超出分配值,则直接将其杀掉,默认是true -->

       <property>

                     <name>yarn.nodemanager.vmem-check-enabled</name>

                     <value>false</value>

       </property>

       [[email protected] hadoop]$ rsync /opt/cdp/hadoop-2.8.3/etc/hadoop/yarn-site.xml cdp004:/opt/cdp/hadoop-2.8.3/etc/hadoop/

       10、编辑conf/slaves

       cdp001

       cdp002

       cdp003

       cdp004

       cdp005

       11、将安装好的spark分发到其它机器

       [[email protected] hadoop]$ scp -r /opt/cdp/spark-2.2.1 cdp002:/opt/cdp/

       12、启动sprak集群测试安装成功与否

       [[email protected] spark-2.2.1]$ sbin/start-all.sh

       [[email protected] bin]$ ./spark-shell

       ##webUI访问spark http://cdp003:8081

       13、至此spark集群安装成功

以上是关于原生hadoop生态系统组件安装文档的主要内容,如果未能解决你的问题,请参考以下文章

Hadoop生态圈中的调度组件-YARN

Hadoop生态圈组件图

原生态hadoop2.6平台搭建

3.2 Hadoop生态

hadoop生态圈各个组件简介

基于Hadoop生态的相关框架与组件的搭建