CDP組件部署文檔html
1— 操做系統centos7 (版本7.2.x)java
(1)下載地址 https://www.centos.org/download/node
(2)進入以後按需選擇DVD ISOpython
(3)國內下載連接以下(穩定最新版)mysql
2—JDK (版本1.8.144)linux
下載地址 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.htmlc++
3— hadoop (版本2.8.3最新穩定版)web
(1)下載地址 http://hadoop.apache.org/releases.htmlsql
(2)版本按需選擇,點擊binary,進入下載頁面(此處選擇2.8.3版本)shell
(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/
一、編輯 /etc/sysconfig/network-scripts/ifcfg-ens32
[root@localhost ~]# 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服務器具體配置可選
二、重啓網卡服務
[root@localhost ~]# systemctl restart network.service
三、查看靜態ip是否更改爲功
[root@localhost ~]# ifconfig
四、ping通外網
[root@localhost ~]# ping www.baidu.com
一、更改主機hostname爲cdp001
[root@localhost ~]# hostnamectl set-hostname cdp001
二、查看主機名是否更改爲功
[root@localhost ~]# hostname
cdp001
[root@localhost ~]# 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
##CentOS7中防火牆程序主要是firewall和iptables,
##CentOS7中firewall服務已經默認安裝好了,而iptables服務須要本身用yum install iptabes-services來安裝
一、查看防火牆狀態
[root@localhost ~]# firewall-cmd --state
running
二、本次關閉防火牆
[root@localhost ~]# systemctl stop firewalld.service
三、禁止開機啓動防火牆
[root@localhost ~]# systemctl disable firewalld.service
四、編輯selinux屬性
[root@localhost ~]# vi /etc/selinux/config
##將selinux=enforcing改爲selinux=disabled
## selinux=enforcing
selinux=disabled
一、進入yum源配置目錄
[root@localhost ~]# cd /etc/yum.repos.d
二、備份系統自帶的yum源
[root@localhost ~]# mv CentOS-Base.repo CentOS-Base.repo.backup
三、將提早經過win下載好的yum源文件上傳到服務器(此處採用網易源,阿里源配置的人比較多,有時堵)
##最小化安裝centos7默認沒有安裝wget,因此沒法經過wget在服務器上下載
## wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo
[root@localhost yum.repos.d]# mv CentOS7-Base-163.repo CentOS-Base.repo
四、執行清除以前的緩存 (必定要執行)
[root@localhost yum.repos.d]# yum clean all
五、從新創建元數據緩存(必定要執行)
[root@localhost yum.repos.d]# yum makecache
[root@localhost 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
[root@localhost ~]# sysctl -w vm.swappiness=10
[root@localhost ~]# echo "vm.swappiness=10" >> /etc/sysctl.conf
[root@localhost ~]# vim /etc/rc.local
##在文件尾部追加以下
[root@localhost ~]# echo never > /sys/kernel/mm/transparent_hugepage/defrag
[root@localhost ~]# echo never > /sys/kernel/mm/transparent_hugepage/enabled
(1)建立linux系統用戶cdpadmin
[root@cdp001 ~]# adduser cdpadmin
(2)爲用戶cdpadmin設置密碼
[root@cdp001 ~]# passwd cdpadmin
更改用戶 cdpadmin 的密碼 。
(3)找到受權管理文件sudoers
[root@cdp001 ~]# whereis sudoers
sudoers: /etc/sudoers /etc/sudoers.d /usr/share/man/man5/sudoers.5.gz
(4)給用戶cdpadmin受權
[root@cdp001 ~]# vim /etc/sudoers
root ALL=(ALL) ALL
cdpadmin ALL=(ALL) ALL
(5)建立用戶組cdpadmin
[root@cdp001 opt]# groupadd cdpadmin
(6)將用戶添加到cdpadmin用戶組中
[root@cdp001 opt]# usermod -a -G cdpadmin cdpadmin
(7)查看用戶cdpadmin的用戶組有哪些
[root@cdp001 opt]# groups cdpadmin
cdpadmin : cdpadmin
(1)生成密鑰對
[cdpadmin@cdp002 ~]$ ssh-keygen
(2)把公鑰拷貝並添加到目標服務器的authorized-keys文件中
[cdpadmin@cdp002 ~]$ ssh-copy-id cdp003
一、查看本機系統是否安裝了JDK並卸載
[root@localhost ~]# rpm -qa| grep -i java
##若是有安裝JDK,卸載
[root@localhost ~]# rpm -e –nodeps 已安裝rpm包
二、安裝jdk
(1)建立安裝包存放目錄 /opt/software 和軟件安裝目錄 /opt/cdp
[root@localhost ~]# mkdir -p /opt/software
[root@localhost ~]# mkdir -p /opt/cdp
(2)將jdk安裝包上傳到/opt/software
sftp> put -r jdk-8u144-linux-x64.tar.gz
(3)進入/opt/software 將jdk-tar包解壓到/opt/cdp
[root@localhost yum.repos.d]# cd /opt/software/
[root@localhost software]# tar -zxf jdk-8u144-linux-x64.tar.gz -C /opt/cdp/
三、配置jdk環境變量
(1)編輯/etc/profile
[root@localhost software]# vim /etc/profile
(2)添加以下配置信息
##JAVA_HOME
export JAVA_HOME=/opt/cdp/jdk1.8.0_144
export PATH=$PATH:$JAVA_HOME/bin
(3)保存退出
(4)讓修改後的配置文件生效
[root@localhost software]# source /etc/profile
(5)測試java安裝成功與否
[root@localhost 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)
一、檢查ntp服務是否正確安裝 顯示以下:(代表正確安裝,不然安裝一下$ sudo yum -y install ntp)
[root@cdp002 ~]# rpm -qa | grep ntp
ntpdate-4.2.6p5-25.el7.centos.2.x86_64
ntp-4.2.6p5-25.el7.centos.2.x86_64
二、修改ntp配置文件
[root@cdp002 ~]# 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
三、修改/etc/sysconfig/ntpd 文件
[root@cdp002 ~]# vim /etc/sysconfig/ntpd
##增長內容以下
SYNC_HWCLOCK=yes
四、從新啓動並設置開機自啓ntp服務
(1)查看時間服務器ntpd的啓動狀態
[root@cdp002 ~]# systemctl status ntpd.service
(2)啓動時間服務器ntpd
[root@cdp002 ~]# systemctl start ntpd.service
(3)設置開機自啓動時間服務器ntpd
[root@cdp002 ~]# systemctl enable ntpd.service
五、在其餘機器配置10分鐘與時間服務器同步一次
(1)新開一個定時任務(每一個slaves節點)
[root@cdp003 ~]# crontab -e
##編寫腳本
*/10 * * * * /usr/sbin/ntpdate cdp001
六、其它機器先手動同步一次時間(每一個slaves節點)
[root@cdp003 ~]# ntpdate -u cdp001
## 出現的問題:no server suitable for synchronization found
## 解決:同步時間的服務器地址不對
一、將msyql-tar包和驅動jar包上傳到服務器
sftp> put -r mysql-connector-java-5.1.46.jar mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
二、建立mysql驅動jar包的公共共享目錄
[cdpadmin@cdp002 software]$ sudo mkdir -p /usr/share/java
三、設置/usr/share/java目錄的權限爲歸cdpadmin
[cdpadmin@cdp002 software]$ sudo chown -R cdpadmin:cdpadmin /usr/share/java
四、將mysql的驅動jar包放置到公共共享目錄/usr/share/java,同時改名爲mysql-connector-java.jar
[cdpadmin@cdp002 software]$ cp mysql-connector-java-5.1.46.jar /usr/share/java/mysql-connector-java.jar
五、將mysql解壓到指定目錄/usr/local/,同時修改用戶權限
[cdpadmin@cdp003 software]$ sudo tar -zxf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz -C /usr/local/
[cdpadmin@cdp003 software]$ sudo chown -R cdpadmin:cdpadmin /usr/local/mysql-5.7.17-linux-glibc2.5-x86_64/
六、進入安裝目錄/usr/local/,並將mysql安裝包改名(名字過長)
[cdpadmin@cdp003 local]$ sudo mv mysql-5.7.17-linux-glibc2.5-x86_64/ mysql
七、進入mysql安裝目錄,將support-files目錄下的my-default.cnf 複製到/etc並更名爲my.cnf
[cdpadmin@cdp003 support-files]$ cd /usr/local/mysql/support-files
[cdpadmin@cdp003 support-files]$ sudo cp my-default.cnf /etc/my.cnf
八、修改/etc/my.cnf的用戶權限
[cdpadmin@cdp002 etc]$ sudo chown -R cdpadmin:cdpadmin /etc/my.cnf
九、修改/etc/my.cnf的配置
[cdpadmin@cdp002 etc]$ vim /etc/my.cnf
[mysql]
default-character-set=utf8
[mysqld]
default-storage-engine=INNODB
character_set_server=utf8
十、複製/usr/local/mysql/support-files/目錄下的mysql.server到/etc/init.d/下,並更名爲mysql,同時修改權限
[cdpadmin@cdp002 support-files]$ sudo cp mysql.server /etc/init.d/mysql
[cdpadmin@cdp002 support-files]$ sudo chown -R cdpadmin:cdpadmin /etc/init.d/mysql
十一、編輯/etc/init.d/mysql
[cdpadmin@cdp002 init.d]$ vim /etc/init.d/mysql
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
十二、初始化mysql數據庫
[cdpadmin@cdp002 bin]$ cd /usr/local/mysql/bin/
[cdpadmin@cdp002 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 root@localhost: m%ltpP07bi2-
1三、給數據庫加密
[cdpadmin@cdp002 bin]$ ./mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data
1四、啓動mysql進行安裝測試
[cdpadmin@cdp003 bin]$ ./mysqld_safe --user=cdpadmin &
1五、查看mysql啓動成功與否
[cdpadmin@cdp003 etc]$ ps -ef|grep mysql
1六、登陸mysql
[cdpadmin@cdp003 etc]$ cd /usr/local/mysql/bin/
[cdpadmin@cdp003 bin]$ ./mysql -uroot -pm%ltpP07bi2- #密碼是初始化時自動生成的
1七、修改root帳號的密碼及設置root帳號遠程登陸的權限
mysql> set password=password('123456');
mysql> grant all privileges on *.* to root@'%' identified by '123456';
mysql> flush privileges;
1八、設置linux防火牆放開3306端口
[cdpadmin@cdp003 bin]$ sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent
[cdpadmin@cdp003 bin]$ sudo firewall-cmd --reload
1九、設置Mysql開機自啓動
[cdpadmin@cdp003 bin]$ sudo chkconfig --add mysql
[cdpadmin@cdp003 bin]$ sudo chkconfig mysql on
20、配置mysql的環境變量(可選操做)
[cdpadmin@cdp003 bin]$ sudo vim /etc/profile
export PATH=$PATH:$JAVA_HOME/bin:/usr/local/mysql/bin
[cdpadmin@cdp003 bin]$ source /etc/profile
## 用cdpadmin用戶安裝Mysql可能會遇到開機沒法自啓的狀況,只能手動啓動msyql
## 解決方式:用root用戶安裝Mysql
## 推薦方式,用cdpadmin用戶安裝,而後手動啓動Mysql
一、將安裝tar包上傳到linux
sftp> cd /opt/software/
sftp> put -r hadoop-2.8.3.tar.gz
二、解壓到指定位置
[cdpadmin@cdp003 software]$ cd /opt/software/
[cdpadmin@cdp003 software]$ tar -zxf hadoop-2.8.3.tar.gz -C /opt/cdp/
三、配置hadoop的環境變量
[cdpadmin@cdp003 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
四、測試hadoop是否安裝成功
[cdpadmin@cdp003 cdp]$ source /etc/profile
[cdpadmin@cdp003 cdp]$ hadoop version
五、修改hadoop的配置文件
[cdpadmin@cdp003 hadoop]$ cd /opt/cdp/hadoop-2.8.3/etc/hadoop
[cdpadmin@cdp003 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([cdpadmin@cdp003 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
六、將安裝好的hadoop scp到其它節點(寫腳本也能夠)
[cdpadmin@cdp003 data]$ scp -r /opt/cdp/hadoop-2.8.3 cdp002:/opt/cdp/
[cdpadmin@cdp003 data]$ scp -r /opt/cdp/hadoop-2.8.3 cdp004:/opt/cdp/
七、將環境變量配置文件同步到其它節點
[cdpadmin@cdp003 cdp]$ sudo rsync /etc/profile cdp002:/etc/profile
[cdpadmin@cdp003 cdp]$ ssh cdp002 "source /etc/profile"
##此處環境變量沒有生效問題 修改 ~/.bash_profile文件
##或者手動 source /etc/profile
##解決方式:cat /etc/profile >> ~/.bashrc
八、初始化namenode
[cdpadmin@cdp003 hadoop]$ hdfs namenode -format
##初始化假如報錯,從新按照提示或者日誌文件進行修改
九、在namenode節點啓動namenode,resourceManager節點啓動yarn(生產環境寫一個羣起腳本,單節點執行)
[cdpadmin@cdp003 hadoop]$ start-dfs.sh
[cdpadmin@cdp002 hadoop]$ start-yarn.sh
[cdpadmin@cdp002 hadoop]$ jps
6576 Jps
6081 DataNode
6369 NodeManager
6261 ResourceManager
6182 SecondaryNameNode
十、訪問hadoop的webUI http://cdp003:50070,進行啓動測試
## hadoop 2.8.x版本以後,webUI的界面進行了升級,增長了不少感官性強的功能
## 採用的hive版本2.1.1(stable)最新穩定版
## 前提1 安裝好Msyql(metastore的數據庫)
## 前提2 hadoop集羣安裝調試成功
一、上傳安裝包到linux
sftp> put -r apache-hive-2.1.1-bin.tar.gz
二、解壓到指定安裝目錄
[cdpadmin@cdp003 software]$ tar -zxf apache-hive-2.1.1-bin.tar.gz -C /opt/cdp/
三、進入並重命名
[cdpadmin@cdp003 software]$ cd /opt/cdp/
[cdpadmin@cdp003 cdp]$ mv apache-hive-2.1.1-bin/ hive-2.1.1
四、配置hive的環境變量並同步到其它節點
[cdpadmin@cdp002 conf]$ sudo /etc/profile
##HIVE_HOME
export HIVE_HOME=/opt/cdp/hive-2.1.1
export PATH=$PATH:$HIVE_HOME/bin
[cdpadmin@cdp002 conf]$ source /etc/profile
[cdpadmin@cdp002 conf]$ sudo rsync /etc/profile cdp002:/etc/profile
五、修改hive的配置文件
##主要的配置文件有
## hive-env.sh
## hive-site.xml
六、編輯hive-env.sh
[cdpadmin@cdp003 cdp]$ cd hive-2.1.1/conf/
[cdpadmin@cdp003 conf]$ cp hive-env.sh.template hive-env.sh
[cdpadmin@cdp003 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
七、爲配置hive-site.xml作準備工做
[cdpadmin@cdp003 conf]$ hdfs dfs -mkdir -p /user/hive/warehouse
[cdpadmin@cdp003 conf]$ hdfs dfs -mkdir -p /user/hive/tmp
[cdpadmin@cdp003 conf]$ hdfs dfs -mkdir -p /user/hive/log
[cdpadmin@cdp003 conf]$ hdfs dfs -chmod -R 777 /user/hive/warehouse
[cdpadmin@cdp003 conf]$ hdfs dfs -chmod -R 777 /user/hive/tmp
[cdpadmin@cdp003 conf]$ hdfs dfs -chmod -R 777 /user/hive/log
[cdpadmin@cdp003 ~]$ cd /opt/cdp/hive-2.1.1/
[cdpadmin@cdp003 hive-2.1.1]$ mkdir tmp
八、編輯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>
九、分發安裝好的hive到其它的節點,同時修改不一樣機器上的hive-site.xml的hive.server2.bind.host配置屬性值
[cdpadmin@cdp003 bin]$ scp -r /opt/cdp/hive-2.1.1 cdp002:/opt/cdp/
十、hive metastore所在節點進行元數據庫的初始化(只要執行一次)
[cdpadmin@cdp003 conf]$ schematool -dbType mysql -initSchema
十一、啓動hive metastore (此服務只要啓動一次便可)
## 方式有兩種,一種以daemon方式,一種非daemon方式
##推薦第一種
[cdpadmin@cdp003 conf]$ nohup hive --service metastore > metastore.log 2>&1 &
[cdpadmin@cdp003 bin]$ bin/hive --service metastore
十二、在想要啓動hiver server2的節點啓動hive server2服務
## 方式有兩種,一種是daemon方式,一種是非daemon方式
[cdpadmin@cdp004 bin]$ nohup hive --service hiveserver2 > hiveserver2.log 2>&1 &
[cdpadmin@cdp002 bin]$ bin/hiveserver2
1三、進入hive進行hive server2 的測試
[cdpadmin@cdp003 ~]$ hive
hive> create table testHive(
> id int,
> name string
> );
1四、進入不一樣機器的hive,查看
hive> show tables;
1五、至此,hive安裝完畢。
## 此處採用hbase版本1.3.2(stable最新穩定版)
## 首先確保JDK、hadoop、zookeeper正常安裝並啓動
一、上傳安裝包到linux
sftp> put -r hbase-1.3.2-bin.tar.gz
二、解壓到指定安裝目錄
[cdpadmin@cdp003 software]$ tar -zxf hbase-1.3.2-bin.tar.gz -C /opt/cdp/
三、修改hbase的配置文件
## 主要的配置文件有:
## hbase-env.sh
## hbase-site.xml
## regionservers
四、編輯hbase-env.sh
## 註釋 「HBASE_MASTER_OPTS」 和 「HBASE_REGIONSERVER_OPTS」
## export JAVA_HOME=/opt/cdp/jdk1.8.0_144
## export HBASE_MANAGES_ZK=false
[cdpadmin@cdp003 conf]$ vim hbase-env.sh
五、編輯regionservers
## cdp001
## cdp002
## cdp003
## cdp004
## cdp005
六、編輯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>
七、替換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
八、將hadoop的配置文件core-site.xml 和hdfs-site.xml 軟鏈接或者複製到hbase/conf目錄下
[cdpadmin@cdp003 hadoop]$ cp -r core-site.xml hdfs-site.xml /opt/cdp/hbase-1.3.2/conf/
九、將安裝好的hbase分發到其它節點
[cdpadmin@cdp003 cdp]$ scp -r /opt/cdp/hbase-1.3.2 cdp002:/opt/cdp/
十、啓動hbase進行測試
[cdpadmin@cdp003 hbase-1.3.2]$ bin/start-hbase.sh
hbase webUI訪問 http://cdp003:16010
十一、至此,hbase安裝完畢。
## kafka版本1.1.0(最新穩定版stable) 對應scala版本2.11
## kafka集羣對zookeeper 強依賴
## 測試安裝zookeeper版本是 3.4.10
一、安裝kafka集羣前,確認安裝好zookeeper集羣併成功啓動
二、上傳kafka安裝包到其中一臺節點
sftp> put -r kafka_2.11-1.1.0.tgz
##採用 wget 現場下載也能夠
三、將安裝包解壓到指定位置
[cdpadmin@cdp003 software]$ tar -zxf kafka_2.11-1.1.0.tgz -C /opt/cdp/
四、進入安裝目錄,並建立logs,用於kafka數據的本地存放
[cdpadmin@cdp003 kafka_2.11-1.1.0]$ cd /opt/cdp/kafka_2.11-1.1.0
[cdpadmin@cdp003 kafka_2.11-1.1.0]$ mkdir logs
五、修改kafka broker server的配置文件 server.properties
[cdpadmin@cdp003 config]$ cd /opt/cdp/kafka_2.11-1.1.0/config
[cdpadmin@cdp003 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
六、將本機上的kafka分發到其它機器
[cdpadmin@cdp003 cdp]$ scp -r /opt/cdp/kafka_2.11-1.1.0 cdp004:/opt/cdp/
七、手動或者腳本形式修改其它機器上的broker.id屬性值(每臺機器上的broker.id都要全局惟一)
八、啓動kafka進行安裝測試
[cdpadmin@cdp004 kafka_2.11-1.1.0]$ bin/kafka-server-start.sh -daemon config/server.properties
[cdpadmin@cdp004 kafka_2.11-1.1.0]$ bin/kafka-topics.sh --zookeeper cdp002:2181,cdp003:2181 --create --replication-factor 3 --partitions 1 --topic first
[cdpadmin@cdp004 kafka_2.11-1.1.0]$ bin/kafka-topics.sh --zookeeper cdp002:2181,cdp003:2181 --list
first
九、至此,kafka集羣安裝完畢
## 沒有配置高可用,由於不是獨立的spark集羣,sprak程序在yarn上運行
## 此處採用spark的最新穩定版(2.2.1 對應的scala版本2.11以上)
一、安裝spark前機器須要安裝好JDK和hadoop
二、上傳安裝包到Linux
sftp> put -r spark-2.2.1-bin-hadoop2.7.tgz
三、解壓到指定的安裝目錄並改名(名稱過長)
[cdpadmin@cdp003 software]$ tar -zxf spark-2.2.1-bin-hadoop2.7.tgz -C /opt/cdp/
[cdpadmin@cdp003 software]$ cd /opt/cdp/
[cdpadmin@cdp003 cdp]$ mv spark-2.2.1-bin-hadoop2.7/ spark-2.2.1
四、編輯spark的配置文件
##主要編輯的配置文件有
## conf/spark-env.sh
## conf/spark-defaults.conf
## conf/slaves
## sbin/spark-config.sh
[cdpadmin@cdp003 conf]$ cd /opt/cdp/spark-2.2.1/conf
[cdpadmin@cdp003 conf]$ cp slaves.template slaves
[cdpadmin@cdp003 conf]$ cp spark-defaults.conf.template spark-defaults.conf
[cdpadmin@cdp003 conf]$ cp spark-env.sh.template spark-env.sh
五、在hdfs上建立目錄/directory
[cdpadmin@cdp002 zookeeper-3.4.10]$ hadoop fs -mkdir /directory
六、編輯sbin/spark-config.sh
## export JAVA_HOME=/opt/cdp/jdk1.8.0_144
七、編輯 conf/spark-env.sh
[cdpadmin@cdp003 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
八、編輯conf/spark-defaults.conf
[cdpadmin@cdp003 conf]$ vim spark-defaults.conf
##開啓日誌服務和日誌保存地址
spark.eventLog.enabled true spark.eventLog.dir hdfs://cdp003:9000/directory |
九、編輯haddoop的yarn-site.xml並分發到其它機器
[cdpadmin@cdp003 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> |
[cdpadmin@cdp003 hadoop]$ rsync /opt/cdp/hadoop-2.8.3/etc/hadoop/yarn-site.xml cdp004:/opt/cdp/hadoop-2.8.3/etc/hadoop/
十、編輯conf/slaves
cdp001
cdp002
cdp003
cdp004
cdp005
十一、將安裝好的spark分發到其它機器
[cdpadmin@cdp003 hadoop]$ scp -r /opt/cdp/spark-2.2.1 cdp002:/opt/cdp/
十二、啓動sprak集羣測試安裝成功與否
[cdpadmin@cdp003 spark-2.2.1]$ sbin/start-all.sh
[cdpadmin@cdp003 bin]$ ./spark-shell
##webUI訪問spark http://cdp003:8081
1三、至此spark集羣安裝成功