hadoop僞分佈式平臺組件搭建

第一部分:系統基礎配置
系統基礎配置中主完成了安裝大數據環境以前的基礎配置,如防火牆配置和安裝MySQL、JDK安裝等 java

第一步:關閉防火牆
Hadoop與其餘組件的服務須要經過端口進行通訊,防火牆的存在會阻攔這些訪問,在初學階段建議將防火牆所有 關閉,命令以下。node

systemctl stop firewalld.service 
vi /etc/selinux/config #
Selinux策略 SELINUX=disabled #更改成disabled關閉狀態

第二步:安裝JDK
JDK安裝包已經定製在環境當中的「/usr/local」目錄中,直接使用便可mysql

cd /usr/local/ 
rpm -ivh jdk-8u144-linux-x64.rpm 
java -version

第三步:安裝MySQL
因爲Hive數據倉庫須要使用MySQL做爲元數據庫,因此在基礎環境配置過程當中咱們須要安裝MySQL安裝過程以下
(1)安裝mysql,命令以下。linux

wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm 
yum -y install mysql57-community-release-el7-10.noarch.rpm #安裝MySQL服務器
yum -y install mysql-community-server
systemctl start mysqld.service

(2)MySql5.7安裝完成後會有一個初始密碼必須使用初始密碼登陸,並修改初始密碼後纔可以使用該數據庫,查 看數據庫默認密碼命令以下所示。sql

cat /var/log/mysqld.log | grep 'password'
密碼格式:
root@localhost: XXXXX

(3)修改默認密碼設置新密碼,新密碼簡單容易記憶便可,生產環境下要嚴格按照要求設置,修改密碼命令以下 所示。數據庫

[root@master ~]# mysql -uroot –p  #使用默認密碼登錄mysql 
#密碼共有三個級別0:只檢查長度,1:檢查長度、數字、大小寫,2:檢查長度、數字、大小寫、特殊字符字典文件
mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=4; #設置密碼最小長度
mysql> set password='123456'; #將密碼設置爲123456

(3)配置數據庫遠程鏈接,通常狀況下操做數據庫不不會到服務器環境下操做,一般會使用遠程鏈接,配置可遠 程鏈接命令以下所示。apache

grant all privileges on *.* to 'root'@'%'identified by '123456' with grant option;

第二部分:Hadoop分佈式系統配置bash

本案例主要講解的是Hadoop生態體系的搭建,由於其餘組件會使用到HDFS作存儲如Hive等,因此搭建大數據環 境時首先須要部署Hadoop。服務器

第一步:解壓安裝包
Hadoop安裝包已經定製到環境中的「/usr/local」目錄下,解壓並將解壓後的文件名稱重命名爲Hadoop,命令如 下。分佈式

tar zxvf hadoop-2.7.2.tar.gz 
mv hadoop-2.7.2 hadoop

第二步:配置文件修改
(1)進入/hadoop/etc/hadoop目錄並修改hadoop-env.sh配置文件,添加配置JDK的安裝目錄,命令以下所示

cd ./hadoop/etc/hadoop/ 
vi hadoop-env.sh #在該配置文件的export JAVA_HOME處輸入以下內容
/usr/java/jdk1.8.0_144

(2)在當前目錄下打開core-site.xml配置文件,在該配置文件中設置集羣名稱並配置HDFS端口以及臨時文件存儲 目錄,命令以下。

 vi core-site.xml 
#在該配置文件的<configuration>標籤中輸入以下內容
<property>
  <name>fs.defaultFS</name>
  <value>hdfs://localhost:9000</value>
</property>
<property>
  <name>hadoop.tmp.dir</name>
  <value>/usr/local/hadoop/tmp</value>
</property>

(3)在當前目錄下打開hdfs-site.xml配置文件,在該配置文件中配置HDFS文件的副本數、原數據的保存位置和數 據保存路徑,命令以下所示。

vi hdfs-site.xml 
#在該配置文件的<configuration>標籤中輸入以下內容
<property>
  <name>dfs.replication</name>
  <value>1</value>
</property>
<property>
  <name>dfs.namenode.name.dir</name>
  <value>/usr/local/hadoop/dfs/name</value>
</property>
<property>
  <name>dfs.datanode.data.dir</name>
  <value>/usr/local/hadoop/dfs/data</value>
</property>

(4)在當前目錄下複製mapred-site.xml.template配置模板文件並重命名爲mapred-site.xml,並在mapredsite.xml配置文件中修改mapreduce程序的運行參數,命令以下。

cp mapred-site.xml.template mapred-site.xml 
vi mapred-site.xml
#在該配置文件的<configuration>標籤中輸入以下內容
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>

(5)在當前目錄下打開yarn-site.xml配置文件,在該配置文件中設置運行ResourceManager機器所在的節點位置 和配置成mapreduce_shuffle,命令以下。

vi yarn-site.xml 
#在該配置文件的<configuration>標籤中輸入以下內容
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>localhost</value>
</property>

第三步:啓動Hadoop
配置Hadoop環境變量,並格式化namenode,最後啓動Hadoop進程,命令以下所示。

vi ~/.bashrc   
#在該配置文件末尾添加以下內容
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

source ~/.bashrc

(7)配置Hadoop環境變量,並格式化namenode,最後啓動Hadoop進程,命令以下所示。

vi ~/.bashrc   
#在該配置文件末尾添加以下內容
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

source ~/.bashrc
hadoop namenode -format start-all.sh

jps

第三部分:HBase配置
第一步:解壓安裝包
HBase安裝包已經定製到環境中的「/usr/local」目錄下,解壓並將解壓後的文件名稱重命名爲HBase,命令以下。

tar -zxvf hbase-1.2.6-bin.tar.gz 
mv hbase-1.2.6 hbase

第二步:配置文件修改
(1)進入HBase根目錄下的conf目錄中,修改hbase-env.sh配置文件,在該文件中配置Java的環境變量,設置日 志輸出路徑等,命令以下。

cd ./hbase/conf/ 
vi hbase-env.sh #將以下內容輸入到配置文件中
export JAVA_HOME=/usr/java/jdk1.8.0_144
export HBASE_MANAGES_ZK=true
export HBASE_LOG_DIR=/usr/local/hbase/hbase-logs

(2)在當前目錄下,打開hbase-site.xml配置文件,在該文件中設置持久保存目錄、設置是否爲分佈式、 zookeeper數據目錄等,命令以下。

vi hbase-site.xml  
#在該配置文件的<configuration>標籤中輸入以下內容
<property>
<name>hbase.rootdir</name>
<value>hdfs://localhost:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
   <name>hbase.zookeeper.quorum</name>
<value>localhost</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/usr/local/hbase/zk_data</value>
</property>

第三步:啓動HBase
配置HBase環境變量,而後啓動HBase進程並使用jps命令查看進程是否啓動成功,命令以下。

vi ~/.bashrc   
#在配置文件末尾輸入以下內容
export HBASE_HOME=/usr/local/hbase
export PATH=$HBASE_HOME/bin:$PATH

source ~/.bashrc start-hbase.sh

jps

##第四部分:Hive分佈式數據倉庫配置

第一步:解壓安裝包
Hive安裝包已經定製到了「/usr/local」目錄下,將其解壓並重命名爲hive,命令以下。

tar -zxvf apache-hive-2.2.0-bin.tar.gz 
mv apache-hive-2.2.0-bin hive

第二步:修改配置文件
進入Hive安裝目錄中的conf目錄,複製配置模板文件hive-default.xml.template,並將其重命名爲hive-site.xml後 對其進行修改,修改hive-site.xml時須要根據給出配置在配置文件重查找進行修改,命令以下所示。

cd ./hive/conf/ 
cp ./hive-default.xml.template hive-site.xml
vi hive-site.xml #在配置文件中找到對應位置修改以下內容

<property>
<name>hive.exec.scratchdir</name> #設置HDFS路徑
<value>/usr/local/hive/iotmp/hive</value>
</property>
<property>
<name>hive.downloaded.resources.dir</name> #遠程文件系統中添加資源的臨時本地目錄
<value>/usr/local/hive/iotmp<value>
</property>
<property>
<name>hive.exec.local.scratchdir</name> #做業的本地暫存空間
<value>/usr/local/hive/iotmp</value>
</property>
<property>
<name>hive.querylog.location</name> #運行時結構的日誌文件位置
<value>/usr/local/hive/iotmp</value>
</property>
<property>
<name>hive.metastore.warehouse.dir</name> #設置hive數據庫和表在HDFS中存放的文件夾的位置
<value>/user/hive/warehouse</value>
</property>
<property>
<name>hive.server2.thrift.port</name> #設置HiveServer2遠程鏈接的端口
<value>10000</value>
</property>
<property>
<name>hive.server2.thrift.bind.host</name> #hiveserver2所在集羣的IP地址
<value>lcoalhost</value>
</property>
<property>
<name>hive.server2.long.polling.timeout</name> #設置超時時間
<value>5000</value>
</property>
<property>
<name>javax.jdo.option.ConnectionURL</name> #設置Hive的元數據庫
<value>jdbc:mysql://localhost:3306/hive_metadata? createDatabaseIfNotExist=true&amp;useSSL=false</value>  #首先在mysql新建hive_metadata
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name> #描述一個JDBC驅動程序類的名稱
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
  <name>javax.jdo.option.ConnectionUserName</name> #鏈接元數據庫用戶名
<value>root</value> #根據mysql用戶名進行修改
</property>
<property>
  <name>javax.jdo.option.ConnectionPassword</name> #鏈接元數據庫密碼
  <value>123456</value>    #根據mysql密碼進行修改
</property>

第三步:啓動Hive
將mysql-connector-java-5.1.39.jar(該包已經定製到了「/usr/local」目錄下)驅動包上傳到Hive安裝目錄中的lib目 錄下,修改環境變量並啓動hive,命令以下。

vi ~/.bashrc         
#在該配置文件中輸入以下內容
export HIVE_HOME=/usr/local/hive
export PATH=$PATH:$HIVE_HOME/bin source ~/.bashrc /usr/local/hive/bin/schematool -initSchema -dbType mysql #首次啓動時須要初始化源數據庫

hive

第四部分:Flume部署

第一步:解壓安裝包
Flume安裝包已經定製到了環境的「/usr/local」目錄下,並重命名爲Flume,命令以下。

tar -zxvf apache-flume-1.7.0-bin.tar.gz 
mv apache-flume-1.7.0-bin flume

第二步:配置環境變量
配置Flume環境變量並經過查看版本方式檢查Flume是否安裝成功,命令以下。

vi ~/.bashrc  
#在該配置文件中輸入以下內容
export FLUME_HOME=/usr/local/flume
export FLUME_CONF_DIR=$FLUME_HOME/conf
export PATH=.:$PATH:$FLUME_HOME/bin source ~/.bashrc flume-ng version

第五部分:Sqoop部署
###第一步:解壓安裝包 Sqoop安裝包已經定製到了環境的「/usr/local」目錄下,並重命名爲Sqoop,命令以下。

tar -zxvf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz 
mv sqoop-1.4.6.bin__hadoop-2.0.4-alpha sqoop

###第二步:修改配置文件

(1)配置Sqoop的環境變量,命令以下所示。

vi ~/.bashrc 
export SQOOP_HOME=/usr/local/sqoop
export PATH=$PATH:$SQOOP_HOME/bin

[root@master local]# source ~/.bashrc

(2)配置sqoop-env.sh文件,指定Hadoop、Hbase與Hive工做目錄,命令以下所示。

cp /usr/local/sqoop/conf/sqoop-env-template.sh /usr/local/sqoop/conf/sqoop-env.sh 
vi /usr/local/sqoop/conf/sqoop-env.sh
#編輯內容以下:
#Set path to where bin/hadoop is available
export HADOOP_COMMON_HOME=/usr/local/hadoop #Set path to where hadoop-*-core.jar is available
export HADOOP_MAPRED_HOME=/usr/local/hadoop #set the path to where bin/HBase is available
export HBASE_HOME=/usr/local/hbase #Set the path to where bin/hive is available
#export HIVE_HOME=/usr/local/hive
#查看Sqoop版本,來驗證是否安裝成功

###第三步:驗證 將mysql-connector-java-5.1.39-bin.jar驅動包拷貝到/sqoop/lib目錄下並查看sqoop版本,命 令以下所示。
 

cp /usr/local/mysql-connector-java-5.1.39.jar /usr/local/sqoop/lib/ 

sqoop version

##第六部分:Scala環境安裝

###第一步:解壓安裝包 scala安裝包已經定製到了環境的「/usr/local」目錄下,並重命名爲scala,命令以下。

tar -zxvf scala-2.11.4.tgz 
mv scala-2.11.4 scala

###第二步:配置scala環境變量並驗證 將scala工做環境配置到環境變量中,並查看scala功能是否可用,命令如 下。

vi ~/.bashrc       #在該配置文件中輸入以下內容 
export SCALA_HOME=/usr/local/scala
export PATH=$PATH:$SCALA_HOME/bin source ~/.bashrc
scala -version

##第七部分:部署Spark環境

tar -zxvf spark-2.2.0-bin-hadoop2.7.tgz 
mv spark-2.2.0-bin-hadoop2.7 spark

###第一步:解壓安裝包 spark安裝包已經定製到了環境的「/usr/local」目錄下,並重命名爲spark,命令以下。
第二步:配置文件修改
(1)進入spark/conf目錄,複製一份spark-env.sh.template並更改文件名爲spark-env.sh,同時對spark-env.sh 文件進行編輯,命令以下。

cd /usr/local/spark/conf/ 
cp spark-env.sh.template spark-env.sh
vi spark-env.sh #再該配置文件末尾添加以下配置
export HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop
export SPARK_EXECUTOR_CORES=1
export SPARK_CONF_DIR=/usr/local/spark/conf
export SPARK_LOG_DIR=/usr/local/spark/logs
export SPARK_LOCAL_IP=localhost

(2)將mysql-connector-java-5.1.39.jar包拷貝到spark的/jars目錄下,命令以下所示。

cp /usr/local/mysql-connector-java-5.1.39.jar /usr/local/spark/jars/ 

(3)將hive-site.xml從hive的/conf目錄下拷貝到/spark/conf目錄下,命令以下所示。

cp /usr/local/hive/conf/hive-site.xml /usr/local/spark/conf/ 

(4)修改/usr/lcoal/spark/conf目錄下的spark-config.sh文件,在改文件中添加jdk路徑,命令以下所示。

vi /usr/local/spark/sbin/spark-config.sh   #在該配置文件中添加以下內容 
export JAVA_HOME=/usr/java/jdk1.8.0_144

第四步:啓動Spark
進入spark/sbin目錄,運行命令:./start-all.sh 來啓動Spark,命令以下所示。

cd /usr/local/spark/sbin/ 
./start-all.sh

jps

##第八部分:kakfa部署 第一步:解壓安裝包
kafka安裝包已經定製到了環境的「/usr/local」目錄下,並重命名爲kafka,命令以下。

tar -zxvf kafka_2.11-0.11.0.1.tgz 
mv kafka_2.11-0.11.0.1 kafka

第二步:賦予kafka工做目錄權限

chmod 777 -R kafka 

第三步:啓動kafka
(1)啓動kafka自帶的zookeeper,若是已經啓動zookeeper進程則不須要執行此步驟,命令以下所示。

cd /usr/local/kafka/bin/ 
./zookeeper-server-start.sh /usr/local/kafka/config/zookeeper.properties 1>/dev/null 2>&1 &

jps

(2)啓動kafka進程,命令以下。

cd /usr/local/kafka/bin/ 
./kafka-server-start.sh /usr/local/kafka/config/server.properties >/dev/null 2>&1 &

jps

結果如圖所示:

完結。。。。

相關文章
相關標籤/搜索