原生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生态系统组件安装文档的主要内容,如果未能解决你的问题,请参考以下文章