乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      建哥手把手系列之大數(shù)據(jù)環(huán)境搭建

       靜幻堂 2018-08-26
      HelloTeacher陳 2018-08-25 11:45:51

      一、環(huán)境選擇

      1. 前言

      1.1. 何為大數(shù)據(jù)

      百度百科給的定義是:大數(shù)據(jù)(big data),指無(wú)法在一定時(shí)間范圍內(nèi)用常規(guī)軟件工具進(jìn)行捕捉、管理和處理的數(shù)據(jù)集合,是需要新處理模式才能具有更強(qiáng)的決策力、洞察發(fā)現(xiàn)力和流程優(yōu)化能力的海量、高增長(zhǎng)率和多樣化的信息資產(chǎn)。

      1.2. 搭建大數(shù)據(jù)環(huán)境的意義

      廢話少說(shuō),就兩個(gè)字"高薪",如果你滿足于一個(gè)月10000元的工資,如果你沉溺于老婆孩子熱炕頭的安逸,流連忘返于燈紅酒綠的花花世界。那么我們到此為止,你可以不用往下面繼續(xù)浪費(fèi)時(shí)間閱讀了。請(qǐng)看下圖,智聯(lián)招聘截圖時(shí)間是2018年8月25日,周六。有人說(shuō),建哥你周末在加班??!加班?不可能的,敲代碼使我快樂(lè)!哈哈哈哈哈,開(kāi)個(gè)玩笑,

      建哥手把手系列之大數(shù)據(jù)環(huán)境搭建

      本文主要介紹圖中各種技術(shù)框架的安裝配置,閱讀本文大概需要15分鐘,有興趣的朋友可以親自操作一下,時(shí)間在2小時(shí)左右。想想3W到5W的月薪,兩小時(shí)算啥?另外,喜歡的朋友可以關(guān)注我,私信發(fā)送"大數(shù)據(jù)"會(huì)贈(zèng)送相關(guān)大數(shù)據(jù)資料。碼字不易,不喜勿噴!

      2. 環(huán)境準(zhǔn)備

      2.1. 大數(shù)據(jù)環(huán)境

      本次安裝需要三臺(tái)虛擬機(jī),選用的操作系統(tǒng)版本是contos6.9 64位。各組件在三臺(tái)機(jī)器上的分布情況如下:

      建哥手把手系列之大數(shù)據(jù)環(huán)境搭建

      2.2. PC編譯環(huán)境

      另外本機(jī)操作系統(tǒng)是windows7 64位。因?yàn)樾枰幾g打包streamingPro,所以本機(jī)也需要安裝對(duì)應(yīng)的環(huán)境,詳情如下:

      建哥手把手系列之大數(shù)據(jù)環(huán)境搭建

      2.3. 配置說(shuō)明

      · JDK :Hadoop和Spark 依賴的配置.

      · Scala:Spark依賴的配置,建議版本不低于spark的版本。

      · Hadoop: 是一個(gè)分布式系統(tǒng)基礎(chǔ)架構(gòu)。

      · Spark: 分布式存儲(chǔ)的大數(shù)據(jù)進(jìn)行處理的工具。

      · zookeeper:分布式應(yīng)用程序協(xié)調(diào)服務(wù),HBase集群需要。

      · HBase: 一個(gè)結(jié)構(gòu)化數(shù)據(jù)的分布式存儲(chǔ)系統(tǒng)。

      · Hive: 基于Hadoop的一個(gè)數(shù)據(jù)倉(cāng)庫(kù)工具,目前的默認(rèn)元數(shù)據(jù)庫(kù)是mysql。

      · Kafka:分布式消息隊(duì)列

      所需要的安裝包及依賴文件保存在百度云: 鏈接:https://pan.baidu.com/s/1J9YECM0Jd3LYuCqFRFG5yw 密碼:1knn

      建哥手把手系列之大數(shù)據(jù)環(huán)境搭建

      二、集群的相關(guān)配置

      下面前5步操作可以先在一臺(tái)虛擬機(jī)上操作,然后克隆出另外兩臺(tái)機(jī)器。

      1. 關(guān)閉防火墻及關(guān)閉操作系統(tǒng)安全訪問(wèn)控制

      說(shuō)明:其實(shí)可以不關(guān)閉防火墻,進(jìn)行權(quán)限設(shè)置,但是為了方便訪問(wèn),于是便關(guān)閉了防火墻。每個(gè)機(jī)器都做?。?!

      關(guān)閉防火墻的命令 停止防火墻: service iptables stop 啟動(dòng)防火墻: service iptables start 重啟防火墻: service iptables restart 永久關(guān)閉防火墻: chkconfig iptables off

      建哥手把手系列之大數(shù)據(jù)環(huán)境搭建

      說(shuō)明:操作系統(tǒng)默認(rèn)是打開(kāi)安全訪問(wèn)控制的,這樣會(huì)導(dǎo)致部分軟件安裝配置失敗,為了方便,我們將它關(guān)閉。

      查看SELinux狀態(tài)

      getenforce

      修改配置文件/etc/selinux/config 將SELINUX=enforcing改為SELINUX=disabled

      建哥手把手系列之大數(shù)據(jù)環(huán)境搭建

      2. 修改系統(tǒng)網(wǎng)絡(luò)配置

      配置固定ip地址和dns服務(wù)器地址,保證主機(jī)能上網(wǎng)。

      建哥手把手系列之大數(shù)據(jù)環(huán)境搭建

      重啟網(wǎng)絡(luò)服務(wù),并檢測(cè)dns是否生效

      建哥手把手系列之大數(shù)據(jù)環(huán)境搭建

      3. 調(diào)整系統(tǒng)時(shí)區(qū)及時(shí)間配置

      首先將時(shí)區(qū)調(diào)整到東八區(qū),

      建哥手把手系列之大數(shù)據(jù)環(huán)境搭建

      保險(xiǎn)起見(jiàn)再執(zhí)行一下下面的命令

      cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

      集群上的機(jī)器時(shí)間要同步,我們可以將所有的機(jī)器跟集群中某臺(tái)機(jī)器進(jìn)行時(shí)間同步。也可以簡(jiǎn)單的跟互聯(lián)網(wǎng)授時(shí)服務(wù)器同步。

      ntpdate pool.ntp.org

      建哥手把手系列之大數(shù)據(jù)環(huán)境搭建

      4. 安裝java和scala基礎(chǔ)環(huán)境及修改系統(tǒng)環(huán)境變量

      大家可以在網(wǎng)盤(pán)下載對(duì)應(yīng)的安裝文件。

      安裝jdk1.8

      解壓縮jdk安裝包

      tar zxvf jdk-8u144-linux-x64.tar.gz

      創(chuàng)建目錄/opt/jdk

      mkdir /opt/jdk

      移動(dòng)文件夾jdk1.8.0_144到/opt/jdk下面,并改名為jdk1.8

      mv jdk1.8.0_144/ /opt/jdk/jdk1.8

      安裝scala2.12.2

      tar zxvf scala-2.12.2.tgz

      創(chuàng)建目錄/opt/scala

      mkdir /opt/scala

      移動(dòng)文件夾scala-2.12.2到/opt/ scala下面,并改名為scala2.12.2

      mv scala-2.12.2 /opt/scala/scala2.12.2

      建哥手把手系列之大數(shù)據(jù)環(huán)境搭建

      在 /etc/profile 這個(gè)配置文件要添加很多的環(huán)境配置,這里就先將整體的環(huán)境配置列舉出來(lái),各位在配置環(huán)境變量的以自己的為準(zhǔn)!?。?可以先配置好環(huán)境變量之后,在傳輸?shù)狡渌麢C(jī)器上去。

      #Java Config

      export JAVA_HOME=/opt/java/jdk1.8

      export JRE_HOME=/opt/java/jdk1.8/jre

      export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib

      # Scala Config

      export SCALA_HOME=/opt/scala/scala2.12.2

      # Spark Config

      export SPARK_HOME=/opt/spark/spark2.2

      # Zookeeper Config

      export ZK_HOME=/opt/zookeeper/zookeeper3.4

      # HBase Config

      export HBASE_HOME=/opt/hbase/hbase1.2

      # Hadoop Config

      export HADOOP_HOME=/opt/hadoop/hadoop2.8

      export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native

      export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"

      # Hive Config

      export HIVE_HOME=/opt/hive/hive2.1

      export HIVE_CONF_DIR=${HIVE_HOME}/conf

      #kafka config

      export KAFKA_HOME=/opt/kafka/kafka1.0.0

      export PATH=.:${JAVA_HOME}/bin:${SCALA_HOME}/bin:${SPARK_HOME}/bin:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin:${ZK_HOME}/bin:${HBASE_HOME}/bin:${HIVE_HOME}/bin:${KAFKA_HOME}/bin:$PATH

      查看java和scala版本

      建哥手把手系列之大數(shù)據(jù)環(huán)境搭建

      5. 主機(jī)名更改以及主機(jī)和IP做相關(guān)映射

      5.1.更改主機(jī)名

      說(shuō)明:更改主機(jī)名是為了方便集群管理,不然每個(gè)機(jī)器的名稱都叫l(wèi)ocalhost也不太好吧! 集群所有的機(jī)器都要做這個(gè)操作。

      輸入

      vim /etc/sysconfig/network

      將localhost.localdomain修改為你要更改的名稱,每臺(tái)名稱都不一樣 例如:

      HOSTNAME=master

      5.2.主機(jī)和IP的關(guān)系映射

      修改hosts文件,做關(guān)系映射 說(shuō)明:這個(gè)每臺(tái)機(jī)器都做這個(gè)配置,具體ip和主機(jī)名稱以自己的為準(zhǔn)。 輸入:

      vim /etc/hosts

      添加

      192.168.153.101 master

      192.168.153.102 slave1

      192.168.153.103 slave2

      重啟機(jī)器,開(kāi)始克隆另外兩臺(tái)機(jī)器slave1,slave2,值得注意的是克隆完之后修改修改ip地址和主機(jī)名。

      建哥手把手系列之大數(shù)據(jù)環(huán)境搭建

      6. ssh免登錄

      設(shè)置ssh免密碼登錄是為了操作方便 生成秘鑰文件 在每臺(tái)機(jī)器上都執(zhí)行一遍 首先輸入:

      ssh-keygen -t rsa -P ''

      建哥手把手系列之大數(shù)據(jù)環(huán)境搭建

      生成秘鑰之后,然后將每臺(tái)機(jī)器/root/.ssh 都存入內(nèi)容相同的文件,文件名稱叫authorized_keys,文件內(nèi)容是我們剛才為3臺(tái)機(jī)器生成的公鑰??梢栽谝慌_(tái)機(jī)器上生成,然后復(fù)制到其它的機(jī)器上。

      新建authorized_keys文件 輸入 :

      touch /root/.ssh/authorized_keys

      編輯 authorized_keys 并將其他機(jī)器上的秘鑰拷貝過(guò)來(lái)

      cat /root/.ssh/id_rsa.pub

      vim /root/.ssh/authorized_keys

      將其它機(jī)器上的 id_rsa.pub 的內(nèi)容拷貝到 authorized_keys這個(gè)文件中。

      最終authorized_keys文件的內(nèi)容

      建哥手把手系列之大數(shù)據(jù)環(huán)境搭建

      將這個(gè)最終的authorized_keys文件copy到其他機(jī)器的 /root/.ssh 目錄下。使用scp或者ftp都可以。 scp命令示例:

      scp -r /root/.ssh/authorized_keys root@slave1:/root/.ssh

      scp -r /root/.ssh/authorized_keys root@slave2:/root/.ssh

      建哥手把手系列之大數(shù)據(jù)環(huán)境搭建

      測(cè)試免密碼登錄 輸入:

      ssh slave1

      ssh slave2

      輸入 exit 退出

      建哥手把手系列之大數(shù)據(jù)環(huán)境搭建

      二、Hadoop的環(huán)境搭建

      事先說(shuō)明,這些配置可以在一臺(tái)機(jī)器上配置,然后復(fù)制到其他機(jī)器上就行了。復(fù)制之后注意使這些配置文件生效。

      1. hadoop配置

      1.1. 文件準(zhǔn)備

      將下載下來(lái)的Hadoop的配置文件進(jìn)行解壓 在linux上輸入:

      tar -xvf hadoop-2.8.2.tar.gz

      然后將解壓之后的文件夾移動(dòng)到opt/hadoop文件夾下,沒(méi)有該文件夾就新建,然后將文件夾重命名為hadoop2.8。 在linux上輸入移動(dòng)文件夾命令:

      mv hadoop-2.8.2 /opt/hadoop

      mv hadoop-2.8.2 hadoop2.8

      1.2. 環(huán)境配置

      編輯 /etc/profile 文件 輸入:

      vim /etc/profile

      添加:

      export HADOOP_HOME=/opt/hadoop/hadoop2.8

      export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native

      export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"

      export PATH=.:${JAVA_HOME}/bin:${HADOOP_HOME}/bin:$PATH

      輸入:

      source /etc/profile

      使配置生效

      1.3. 修改配置文件

      修改 core-site.xml、hadoop-env.sh、hdfs-site.xml、mapred-site.xml 等這些配置文件 在linux輸入進(jìn)入該目錄的命令:

      cd /opt/hadoop/hadoop2.8/etc/hadoop

      1.3.1. 修改 core-site.xml

      hadoop的存放路徑可以自行更改。開(kāi)始我以為這些文件夾需要手動(dòng)創(chuàng)建,后來(lái)實(shí)踐了,如果不手動(dòng)創(chuàng)建,會(huì)自動(dòng)創(chuàng)建的,所以就去掉了手動(dòng)創(chuàng)建目錄的步驟。 輸入:

      vim core-site.xml

      在<configuration>節(jié)點(diǎn)內(nèi)加入配置:

      <configuration>

      <property>

      <name>hadoop.temp.dir</name>

      <value>file:/root/hadoop/tmp</value>

      </property>

      <property>

      <name>fs.defaultFS</name>

      <value>hdfs://master:9000</value>

      </property>

      <!-- eclipse連接hive 的配置-->

      <property>

      <name>hadoop.proxyuser.root.hosts</name>

      <value>*</value>

      </property>

      <property>

      <name>hadoop.proxyuser.root.groups</name>

      <value>*</value>

      </property>

      </configuration>

      說(shuō)明: fs.defaultFS 是缺省文件的名稱, 最早使用的是 fs.default.name,后來(lái)在最新官方文檔中查到該方法已經(jīng)棄用了。于是邊改成這個(gè)了。ps:感覺(jué)也沒(méi)啥區(qū)別。

      1.3.2. 修改 hadoop-env.sh

      export JAVA_HOME=${JAVA_HOME}

      修改為:

      export JAVA_HOME=/opt/java/jdk1.8

      注:修改為自己JDK的路徑

      1.3.3. 修改 hdfs-site.xml

      下面的hdfs的存放路徑,可以根據(jù)自己機(jī)器更改。 在<configuration>節(jié)點(diǎn)內(nèi)加入配置:

      <property>

      <!--副本個(gè)數(shù)-->

      <name>dfs:replication</name>

      <value>2</value>

      1.3.4. 修改mapred-site.xml

      </property>

      <property>

      <name>dfs.namenode.name.dir</name>

      <value>file:/root/hadoop/name</value>

      </property>

      <property>

      <name>dfs.datanode.data.dir</name>

      <value>file:/root/hadoop/data</value>

      </property>

      執(zhí)行mapreduce的運(yùn)行框架配置。ps:感覺(jué)這個(gè)配置沒(méi)啥用,可能我沒(méi)用mr吧。 如果沒(méi)有 mapred-site.xml 該文件,就復(fù)制mapred-site.xml.template文件并重命名為mapred-site.xml。 修改這個(gè)新建的mapred-site.xml文件,在<configuration>節(jié)點(diǎn)內(nèi)加入配置:

      <property>

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

      <value>yarn</value>

      </property>

      1.3.5. 修改yarn-site.xml文件

      yarn 資源調(diào)度的配置,集群的話這個(gè)配置是必須的。 修改/opt/hadoop/hadoop2.8/etc/hadoop/yarn-site.xml文件, 在<configuration>節(jié)點(diǎn)內(nèi)加入配置

      <property>

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

      <value>master</value>

      </property>

      <property>

      <name>yarn.resourcemanager.address</name>

      <value>${yarn.resourcemanager.hostname}:8032</value>

      </property>

      <property>

      <description>The address of the scheduler interface.</description>

      <name>yarn.resourcemanager.scheduler.address</name>

      <value>${yarn.resourcemanager.hostname}:8030</value>

      </property>

      <property>

      <description>The http address of the RM web application.</description>

      <name>yarn.resourcemanager.webapp.address</name>

      <value>${yarn.resourcemanager.hostname}:8088</value>

      </property>

      <property>

      <description>The https adddress of the RM web application.</description>

      <name>yarn.resourcemanager.webapp.https.address</name>

      <value>${yarn.resourcemanager.hostname}:8090</value>

      </property>

      <property>

      <name>yarn.resourcemanager.resource-tracker.address</name>

      <value>${yarn.resourcemanager.hostname}:8031</value>

      </property>

      <property>

      <description>The address of the RM admin interface.</description>

      <name>yarn.resourcemanager.admin.address</name>

      <value>${yarn.resourcemanager.hostname}:8033</value>

      </property>

      <property>

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

      <!--#mapreduce分發(fā)任務(wù)的機(jī)制-->

      <value>mapreduce_shuffle</value>

      </property>

      <property>

      <name>yarn.scheduler.maximum-allocation-mb</name>

      <value>8182</value>

      <!--每個(gè)節(jié)點(diǎn)可用內(nèi)存,單位MB,默認(rèn)-->

      <discription> 8182MB</discription>

      </property>

      <property>

      <name>yarn.nodemanager.vmem-pmem-ratio</name>

      <value>2.1</value>

      </property>

      <property>

      <name>yarn.nodemanager.resource.memory-mb</name>

      <value>2048</value>

      </property>

      <property>

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

      <value>false</value>

      </property>

      說(shuō)明:yarn.nodemanager.vmem-check-enabled這個(gè)的意思是忽略虛擬內(nèi)存的檢查,如果你是安裝在虛擬機(jī)上,這個(gè)配置很有用,配上去之后后續(xù)操作不容易出問(wèn)題。如果是實(shí)體機(jī)上,并且內(nèi)存夠多,可以將這個(gè)配置去掉。

      1.3.6. 修改slaves

      設(shè)置主從的配置。如果不設(shè)置這個(gè),集群就無(wú)法得知主從了。如果是單機(jī)模式,就沒(méi)必要配置了。 修改/opt/hadoop/hadoop2.8/etc/hadoop/slaves文件 更改為

      slave1

      slave2

      在一臺(tái)機(jī)器上(最好是master)做完這些配置之后,我們使用scp命令將這些配置傳輸?shù)狡渌麢C(jī)器上。 輸入:

      hadoop環(huán)境傳輸

      scp -r /opt/hadoop root@slave1:/opt

      scp -r /opt/hadoop root@slave2:/opt

      傳輸之后,便在主節(jié)點(diǎn)啟動(dòng)集群。 在啟動(dòng)hadoop之前,需要初始化,這個(gè)只需要在master上初始化就可以了。

      2. hadoop啟動(dòng)

      :啟動(dòng)hadoop之前確保防火墻關(guān)閉,各個(gè)機(jī)器時(shí)間通過(guò),ssh免登錄都沒(méi)問(wèn)題。 初始化hadoop 切換到/opt/hadoop/hadoop2.8/bin目錄下輸入

      ./hdfs namenode -format

      初始化成功之后,切換到/opt/hadoop/hadoop2.8/sbin 啟動(dòng)hadoop 的hdfs和yarn 輸入:

      start-dfs.sh

      start-yarn.sh

      建哥手把手系列之大數(shù)據(jù)環(huán)境搭建

      第一次登錄會(huì)詢問(wèn)是否連接,輸入yes ,然后輸入密碼就可以了 啟動(dòng)成功之后,可以使用jps命令在各個(gè)機(jī)器上查看是否成功 可以在瀏覽器輸入: ip+50070 和8088端口查看 http://master:50070

      建哥手把手系列之大數(shù)據(jù)環(huán)境搭建

      http://master:8088/cluster

      建哥手把手系列之大數(shù)據(jù)環(huán)境搭建

      若如圖顯示,則啟動(dòng)成功。 若失敗,檢查jps是否成功啟動(dòng),防火墻是否都關(guān)閉。都確認(rèn)沒(méi)問(wèn)題之后,還是無(wú)法打開(kāi)界面,請(qǐng)查看日志,再來(lái)找原因。

      四、Spark的環(huán)境配置

      1. Spark配置

      1.1. 文件準(zhǔn)備

      將下載好的Spark文件解壓 輸入

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

      然后移動(dòng)到/opt/spark 里面,并重命名 輸入

      mkdir /opt/spark

      mv spark-2.2.0-bin-hadoop2.7 /opt/spark/spark2.2

      1.2. 環(huán)境配置

      編輯 /etc/profile 文件 (省略,前期已經(jīng)做過(guò)了)輸入:

      export SPARK_HOME=/opt/spark/spark2.2

      export PATH=.:${JAVA_HOME}/bin:${SCALA_HOME}/bin:${SPARK_HOME}/bin:$PATH

      輸入:

      source /etc/profile

      使配置生效

      1.3. 更改配置文件

      切換目錄 輸入: cd /opt/spark/spark2.2/conf/

      1.3.1. 修改 spark-env.sh

      在conf目錄下,修改spark-env.sh文件,如果沒(méi)有 spark-env.sh 該文件,就復(fù)制spark-env.sh.template文件并重命名為spark-env.sh。 修改這個(gè)新建的spark-env.sh文件,加入配置:

      export SCALA_HOME=/opt/scala/scala2.12.2

      export JAVA_HOME=/opt/java/jdk1.8

      export HADOOP_HOME=/opt/hadoop/hadoop2.8

      export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop

      export SPARK_HOME=/opt/spark/spark2.2

      export SPARK_MASTER_IP=master

      export SPARK_EXECUTOR_MEMORY=4G

      :上面的路徑以自己的為準(zhǔn),SPARK_MASTER_IP為主機(jī),SPARK_EXECUTOR_MEMORY為設(shè)置的運(yùn)行內(nèi)存。

      1.3.2. 修改slaves

      slaves 分布式文件 在conf目錄下,修改slaves文件,如果沒(méi)有 slaves 該文件,就復(fù)制slaves .template文件并重命名為slaves 。 修改這個(gè)新建的slaves 文件,加入配置:

      slave1

      slave2

      在一臺(tái)機(jī)器上(最好是master)做完這些配置之后,我們使用scp命令將這些配置傳輸?shù)狡渌麢C(jī)器上。

      spark環(huán)境傳輸

      scp -r /opt/spark root@slave1:/opt

      scp -r /opt/spark root@slave2:/opt

      傳輸之后,便在主節(jié)點(diǎn)啟動(dòng)集群。

      2. spark啟動(dòng)

      說(shuō)明:要先啟動(dòng)Hadoop 切換到Spark目錄下 輸入:

      cd /opt/spark/spark2.2/sbin

      然后啟動(dòng)Spark 輸入:

      start-all.sh

      啟動(dòng)成功之后,可以使用jps命令在各個(gè)機(jī)器上查看是否成功。 可以在瀏覽器輸入: ip+8080 端口查看

      建哥手把手系列之大數(shù)據(jù)環(huán)境搭建

      若成功顯示這個(gè)界面,則表示Spark成功啟動(dòng)。

      五、Zookeeper的環(huán)境配置

      因?yàn)镠Base以及kafka做集群,所以就需要zookeeper了。 zookeeper 在很多環(huán)境搭建上,都會(huì)有他的身影,如kafka、storm等,這里就不多說(shuō)了。

      1. 文件準(zhǔn)備

      將下載下來(lái)的Zookeeper 的配置文件進(jìn)行解壓 在linux上輸入:

      tar -xvf zookeeper-3.4.10.tar.gz

      然后移動(dòng)到/opt/zookeeper里面,沒(méi)有就新建,然后將文件夾重命名為zookeeper3.4 輸入

      mkdir /opt/zookeeper

      mv zookeeper-3.4.10 /opt/zookeeper/zookeeper3.4

      2. 環(huán)境配置(省略,前期已經(jīng)做過(guò)了)

      編輯 /etc/profile 文件 輸入:

      export ZK_HOME=/opt/zookeeper/zookeeper3.4

      export PATH=.:${JAVA_HOME}/bin:${SCALA_HOME}/bin:${SPARK_HOME}/bin:${ZK_HOME}/bin:$PATH

      輸入:

      source /etc/profile

      使配置生效

      3. 修改配置文件

      3.1. 創(chuàng)建文件和目錄

      在集群的服務(wù)器上都創(chuàng)建這些目錄

      mkdir /opt/zookeeper/data

      mkdir /opt/zookeeper/dataLog

      并且在/opt/zookeeper/data目錄下創(chuàng)建myid文件 輸入:

      touch myid

      創(chuàng)建成功之后,更改myid文件。 我這邊為了方便,將master、slave1、slave2的myid文件內(nèi)容改為1,2,3

      3.2. 新建zoo.cfg

      切換到/opt/zookeeper/zookeeper3.4/conf 目錄下 如果沒(méi)有 zoo.cfg 該文件,就復(fù)制zoo_sample.cfg文件并重命名為zoo.cfg。 修改這個(gè)新建的zoo.cfg文件

      dataDir=/opt/zookeeper/data

      dataLogDir=/opt/zookeeper/dataLog

      server.1=master:2888:3888

      server.2=slave1:2888:3888

      server.3=slave2:2888:3888

      配置說(shuō)明

      client port,顧名思義,就是客戶端連接zookeeper服務(wù)的端口。這是一個(gè)TCP port。

      dataLogDir里是放到的順序日志(WAL)。而dataDir里放的是內(nèi)存數(shù)據(jù)結(jié)構(gòu)的snapshot,便于快速恢復(fù)。為了達(dá)到性能最大化,一般建議把dataDir和dataLogDir分到不同的磁盤(pán)上,這樣就可以充分利用磁盤(pán)順序?qū)懙奶匦?。dataDir和dataLogDir需要自己創(chuàng)建,目錄可以自己制定,對(duì)應(yīng)即可。

      server.1中的這個(gè)1需要和master這個(gè)機(jī)器上的dataDir目錄中的myid文件中的數(shù)值對(duì)應(yīng)。server.2中的這個(gè)2需要和slave1這個(gè)機(jī)器上的dataDir目錄中的myid文件中的數(shù)值對(duì)應(yīng)。server.3中的這個(gè)3需要和slave2這個(gè)機(jī)器上的dataDir目錄中的myid文件中的數(shù)值對(duì)應(yīng)。當(dāng)然,數(shù)值你可以隨便用,只要對(duì)應(yīng)即可。2888和3888的端口號(hào)也可以隨便用,因?yàn)樵诓煌瑱C(jī)器上,用成一樣也無(wú)所謂。

      其他配置說(shuō)明

      1.tickTime:CS通信心跳數(shù) Zookeeper 服務(wù)器之間或客戶端與服務(wù)器之間維持心跳的時(shí)間間隔,也就是每個(gè) tickTime 時(shí)間就會(huì)發(fā)送一個(gè)心跳。tickTime以毫秒為單位。 tickTime=2000 2.initLimit:LF初始通信時(shí)限 集群中的follower服務(wù)器(F)與leader服務(wù)器(L)之間初始連接時(shí)能容忍的最多心跳數(shù)(tickTime的數(shù)量)。 initLimit=10 3.syncLimit:LF同步通信時(shí)限 集群中的follower服務(wù)器與leader服務(wù)器之間請(qǐng)求和應(yīng)答之間能容忍的最多心跳數(shù)(tickTime的數(shù)量)。 syncLimit=5

      依舊將zookeeper傳輸?shù)狡渌臋C(jī)器上,記得更改 /opt/zookeeper/data 下的myid,這個(gè)不能一致。 輸入:

      scp -r /opt/zookeeper root@slave1:/opt

      scp -r /opt/zookeeper root@slave2:/opt

      修改myid

      4. 啟動(dòng)zookeeper

      因?yàn)閦ookeeper是選舉制,它的主從關(guān)系并不是像hadoop那樣指定的,具體可以看官方的文檔說(shuō)明。 成功配置zookeeper之后,在每臺(tái)機(jī)器上啟動(dòng)zookeeper。 切換到zookeeper目錄下

      cd /opt/zookeeper/zookeeper3.4/bin

      輸入:

      zkServer.sh start

      成功啟動(dòng)之后 查看狀態(tài)輸入:

      zkServer.sh status

      可以查看各個(gè)機(jī)器上zookeeper的leader和follower ,只能一個(gè)是主,隨機(jī)選擇,入下圖:

      建哥手把手系列之大數(shù)據(jù)環(huán)境搭建

      六、HBase的環(huán)境配置

      1. 文件準(zhǔn)備

      將下載下來(lái)的HBase的配置文件進(jìn)行解壓 在linux上輸入:

      tar -xvf hbase-1.2.6-bin.tar.gz

      然后移動(dòng)到/opt/hbase 文件夾里面,并重命名為 hbase1.2 輸入

      mv hbase-1.2.6 /opt/hbase

      mv hbase-1.2.6/ hbase1.2

      2. 環(huán)境配置(省略,前期已經(jīng)做過(guò)了)

      編輯 /etc/profile 文件 輸入:

      export HBASE_HOME=/opt/hbase/hbase1.2

      export PATH=.:${JAVA_HOME}/bin:${SCALA_HOME}/bin:${SPARK_HOME}/bin:$PATH

      輸入:

      source /etc/profile

      使配置生效 輸入 hbase version 查看版本

      建哥手把手系列之大數(shù)據(jù)環(huán)境搭建

      3. 修改配置文件

      切換到 /opt/hbase/hbase1.2/conf下

      3.1. 修改hbase-env.sh

      編輯 hbase-env.sh 文件,添加以下配置

      export JAVA_HOME=/opt/java/jdk1.8

      export HADOOP_HOME=/opt/hadoop/hadoop2.8

      export HBASE_HOME=/opt/hbase/hbase1.2

      export HBASE_CLASSPATH=/opt/hadoop/hadoop2.8/etc/hadoop

      export HBASE_PID_DIR=/root/hbase/pids

      export HBASE_MANAGES_ZK=false

      說(shuō)明:配置的路徑以自己的為準(zhǔn)。HBASE_MANAGES_ZK=false 是不啟用HBase自帶的Zookeeper集群。

      3.2. 修改 hbase-site.xml

      編輯hbase-site.xml 文件,在<configuration>添加如下配置

      <property>

      <name>hbase.rootdir</name>

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

      <description>The directory shared byregion servers.</description>

      </property>

      <!-- hbase端口 -->

      <property>

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

      <value>2181</value>

      </property>

      <!-- 超時(shí)時(shí)間 -->

      <property>

      <name>zookeeper.session.timeout</name>

      <value>120000</value>

      </property>

      <!--防止服務(wù)器時(shí)間不同步出錯(cuò) -->

      <property>

      <name>hbase.master.maxclockskew</name>

      <value>150000</value>

      </property>

      <!-- 集群主機(jī)配置 -->

      <property>

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

      <value>master,slave1,slave2</value>

      </property>

      <!-- 路徑存放 -->

      <property>

      <name>hbase.tmp.dir</name>

      <value>/root/hbase/tmp</value>

      </property>

      <!-- true表示分布式 -->

      <property>

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

      <value>true</value>

      </property>

      <!-- 指定master -->

      <property>

      <name>hbase.master</name>

      <value>master:60000</value>

      </property>

      </configuration>

      說(shuō)明:hbase.rootdir:這個(gè)目錄是region server的共享目錄,用來(lái)持久化Hbase 。hbase.cluster.distributed :Hbase的運(yùn)行模式。false是單機(jī)模式,true是分布式模式。若為false,Hbase和Zookeeper會(huì)運(yùn)行在同一個(gè)JVM里面。

      3.3. 修改regionservers

      指定hbase的主從,和hadoop的slaves文件配置一樣 將文件修改為

      slave1

      slave2:上面的為集群的主機(jī)名稱

      在一臺(tái)機(jī)器上(最好是master)做完這些配置之后,我們使用scp命令將這些配置傳輸?shù)狡渌麢C(jī)器上。 輸入: hbase環(huán)境傳輸

      scp -r /opt/hbase root@slave1:/opt

      scp -r /opt/hbase root@slave2:/opt

      傳輸之后,在主節(jié)點(diǎn)啟動(dòng)集群。

      4. 啟動(dòng)hbase

      在成功啟動(dòng)Hadoop、zookeeper之后 切換到HBase目錄下

      cd /opt/hbase/hbase1.2/bin

      輸入:

      start-hbase.sh

      啟動(dòng)成功之后,可以使用jps命令在各個(gè)機(jī)器上查看是否成功 可以在瀏覽器輸入: ip+16010 端口查看

      http://master:16010/master-status

      建哥手把手系列之大數(shù)據(jù)環(huán)境搭建

      若成功顯示該界面,則啟動(dòng)成功。

      七、Mysql安裝

      因?yàn)镠ive的默認(rèn)元數(shù)據(jù)是Mysql,所以先要安裝Mysql。Mysql有兩種安裝模式,可自行選擇。

      1. yum安裝mysql

      首先查看mysql 是否已經(jīng)安裝

      輸入:

      rpm -qa | grep mysql

      如果已經(jīng)安裝,想刪除的話輸入:普通刪除命令:

      強(qiáng)力刪除命令:

      依賴文件也會(huì)刪除

      安裝mysql輸入:

      2. 啟動(dòng)和配置mysql

      安裝成功后,輸入 service mysqld start 啟動(dòng)服務(wù)

      輸入之后直接回車(chē)(默認(rèn)是沒(méi)有密碼的)然后再輸入mysql -u root -p通過(guò)授權(quán)法更改遠(yuǎn)程連接權(quán)限輸入: mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY '123456' WITH GRANT OPTION;注:第一個(gè)'root'是用戶名,第二個(gè)'%'是所有的ip都可以遠(yuǎn)程訪問(wèn),第三個(gè)'123456'表示 用戶密碼 如果不常用 就關(guān)閉掉

      use mysql;

      update user set password=passworD("123456") where user='root';輸入:flush privileges;

      建哥手把手系列之大數(shù)據(jù)環(huán)境搭建

      可以使用navcat之類(lèi)的工具測(cè)試是否能正確連接

      建哥手把手系列之大數(shù)據(jù)環(huán)境搭建

      八、Hive環(huán)境安裝和配置

      1. 文件準(zhǔn)備

      2. 環(huán)境配置(省略,前期已經(jīng)做過(guò)了)

      編輯 /etc/profile 文件輸入:

      添加:

      注:實(shí)際配置以自己的為準(zhǔn)!輸入:

      使配置生效

      3. 配置更改

      3.1. 新建文件夾

      在修改配置文件之前,需要先在root目錄下建立一些文件夾。

      新建完該文件之后,需要讓hadoop新建/root/hive/warehouse 和 /root/hive/ 目錄。執(zhí)行命令:

      給剛才新建的目錄賦予讀寫(xiě)權(quán)限,執(zhí)行命令:

      檢查這兩個(gè)目錄是否成功創(chuàng)建輸入:

      可以看到已經(jīng)成功創(chuàng)建

      3.2. 修改hive-site.xml

      切換到 /opt/hive/hive2.1/conf 目錄下將hive-default.xml.template 拷貝一份,并重命名為hive-site.xml然后編輯hive-site.xml文件

      編輯hive-site.xml文件,在 中添加:

      然后將配置文件中所有的

      更改為 /opt/hive/tmp (如果沒(méi)有該文件則創(chuàng)建),并將此文件夾賦予讀寫(xiě)權(quán)限,將

      更改為 root

      注: 由于hive-site.xml 文件中的配置過(guò)多,可以通過(guò)FTP將它下載下來(lái)進(jìn)行編輯。也可以直接配置自己所需的,其他的可以刪除。 MySQL的連接地址中的master是主機(jī)的別名,可以換成ip。

      3.3. 修改 hive-env.sh

      修改hive-env.sh 文件,沒(méi)有就復(fù)制 hive-env.sh.template ,并重命名為hive-env.sh在這個(gè)配置文件中添加

      3.4. 添加 數(shù)據(jù)驅(qū)動(dòng)包

      由于Hive 默認(rèn)自帶的數(shù)據(jù)庫(kù)是使用mysql,所以這塊就是用mysql將mysql 的驅(qū)動(dòng)包 上傳到 /opt/hive/hive2.1/lib

      cp /home/chenjian/mysql-connector-java-5.1.41.jar /opt/hive/hive2.1/lib/

      4. Hive Shell 測(cè)試

      在成功啟動(dòng)Hadoop之后切換到Hive目錄下輸入:

      4.1. 首先初始化數(shù)據(jù)庫(kù)初始化的時(shí)候注意要將mysql啟動(dòng)輸入:

      執(zhí)行成功之后,可以看到hive數(shù)據(jù)庫(kù)和一堆表已經(jīng)創(chuàng)建成功了

      4.2. 啟動(dòng)hive

      進(jìn)入hive (確保hadoop以及成功啟動(dòng))輸入:

      hive

      進(jìn)入hive 之后

      做一些簡(jiǎn)單的操作

      新建一個(gè)庫(kù),然后在建一張表

      基本操作和普通的關(guān)系型數(shù)據(jù)庫(kù)差不多

      創(chuàng)建庫(kù):

      create database db_chenjian;

      創(chuàng)建表:

      create table db_chenjian.student(id int,name string) row format delimited fields terminated by ' ';

      4.3. 加載數(shù)據(jù)新打開(kāi)一個(gè)窗口因?yàn)閔ive 不支持寫(xiě),所以添加數(shù)據(jù)使用load加載文本獲取。新建一個(gè)文本

      編輯該文本添加數(shù)據(jù)輸入:

      添加數(shù)據(jù):中間的空格符使用Tab建

      說(shuō)明: 文本可以在Windows上面新建,然后通過(guò)ftp上傳到linux中,需要注意文本的格式為unix 格式。

      切換到hive shell加載數(shù)據(jù)輸入:

      4.4. 查詢?cè)摂?shù)據(jù)輸入:

      select * from db_chenjian.student;

      建哥手把手系列之大數(shù)據(jù)環(huán)境搭建

      九、安裝配置kafka

      1. 文件準(zhǔn)備

      將下載下來(lái)的kafka 的安裝文件進(jìn)行解壓 在linux上輸入:

      tar -zxvf kafka_2.11-1.0.0.tgz

      然后移動(dòng)到/opt/kafka里面,沒(méi)有就新建,

      輸入

      mkdir /opt/kafka

      mv kafka_2.12-1.0.0 /opt/kafka/kafka1.0.0

      2. 環(huán)境配置(省略,前期已經(jīng)做過(guò)了)

      3. 修改配置文件

      修改master機(jī)器配置文件 config/server.properties

      broker.id=0 標(biāo)示符(多臺(tái)服務(wù)器標(biāo)示符0,1,2,3,...依次增長(zhǎng))

      host.name=master 綁定的主機(jī)

      log.dirs= /opt/kafka/kafka1.0.0/kafka-logs 數(shù)據(jù)保存的位置

      log.retention.hours=168 數(shù)據(jù)的保留時(shí)間

      zookeeper.connect=master:2181,slave1:2181,slave2:2181

      將本機(jī)kafka拷貝至其他機(jī)器,此處只選用了兩臺(tái)機(jī)器master和slave1,執(zhí)行下面的命令:

      scp -r /opt/kafka/ root@slave1:/opt/

      修改slave1配置文件 config/server.properties

      broker.id=1 標(biāo)示符(多臺(tái)服務(wù)器標(biāo)示符0,1,2,3,...依次增長(zhǎng))

      host.name=slave1 綁定的主機(jī)

      log.dirs= /opt/kafka/kafka1.0.0/kafka-logs 數(shù)據(jù)保存的位置

      log.retention.hours=168 數(shù)據(jù)的保留時(shí)間

      zookeeper.connect=master:2181,slave1:2181,slave2:2181

      啟動(dòng)kafka

      a.啟動(dòng)zookeeper集群

      b.啟動(dòng)服務(wù)的命令(兩臺(tái)機(jī)器都執(zhí)行)

      nohup /opt/kafka/kafka1.0.0/bin/kafka-server-start.sh /opt/kafka/kafka1.0.0/config/server.properties &

      c.創(chuàng)建主題

      /opt/kafka/kafka1.0.0/bin/kafka-topics.sh --create --zookeeper master:2181,slave1:2181 --replication-factor 1 --partitions 1 --topic chenjian

      d.查看當(dāng)前有哪些主題:

      /opt/kafka/kafka1.0.0/bin/kafka-topics.sh --list --zookeeper master:2181,slave1:2181,slave2:2181

      4. 測(cè)試kafka

      4.1. 模擬發(fā)送數(shù)據(jù)

      /opt/kafka/kafka1.0.0/bin/kafka-console-producer.sh --broker-list slave1:9092,slave2:9092 --topic chenjian

      建哥手把手系列之大數(shù)據(jù)環(huán)境搭建

      4.2. 消費(fèi)數(shù)據(jù)

      kafka-console-consumer.sh --zookeeper master:2181,slave1:2181,slave2:2181 --from-beginning --topic chenjian

      在模擬發(fā)送數(shù)據(jù)窗口輸入,就會(huì)看到在消費(fèi)端有相應(yīng)的數(shù)據(jù)。 springboot集成kafka可以參看哥哥以前的文章建哥手把手系列之springboot整合kafka

      建哥手把手系列之大數(shù)據(jù)環(huán)境搭建

      耐得住寂寞,才能守得住繁華!

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類(lèi)似文章 更多