大数据学习规划(新手入门)
前言:
一、背景介紹
二、大數(shù)據(jù)介紹
正文:
一、大數(shù)據(jù)相關(guān)的工作介紹
二、大數(shù)據(jù)工程師的技能要求
三、大數(shù)據(jù)學(xué)習(xí)規(guī)劃
四、持續(xù)學(xué)習(xí)資源推薦(書(shū)籍,博客,網(wǎng)站)
五、項(xiàng)目案例分析(批處理+實(shí)時(shí)處理)
前言
一、背景介紹
本人目前是一名大數(shù)據(jù)工程師,個(gè)人是從Java開(kāi)發(fā),經(jīng)過(guò)3個(gè)月的業(yè)余自學(xué)成功轉(zhuǎn)型大數(shù)據(jù)工程師。
二、大數(shù)據(jù)介紹
大數(shù)據(jù)本質(zhì)也是數(shù)據(jù),但是又有了新的特征,包括數(shù)據(jù)來(lái)源廣、數(shù)據(jù)格式多樣化(結(jié)構(gòu)化數(shù)據(jù)、非結(jié)構(gòu)化數(shù)據(jù)、Excel文件、文本文件等)、數(shù)據(jù)量大(最少也是TB級(jí)別的、甚至可能是PB級(jí)別)、數(shù)據(jù)增長(zhǎng)速度快等。
針對(duì)以上主要的4個(gè)特征我們需要考慮以下問(wèn)題:
以上大致就把整個(gè)大數(shù)據(jù)生態(tài)里面用到的工具所解決的問(wèn)題列舉了一遍,知道了他們?yōu)槭裁炊霈F(xiàn)或者說(shuō)出現(xiàn)是為了解決什么問(wèn)題,進(jìn)行學(xué)習(xí)的時(shí)候就有的放矢了。
正文
一、大數(shù)據(jù)相關(guān)工作介紹
大數(shù)據(jù)方向的工作目前主要分為三個(gè)主要方向:
二、大數(shù)據(jù)工程師的技能要求
附上大數(shù)據(jù)工程師技能圖:
必須掌握的技能11條
高階技能6條
三、學(xué)習(xí)路徑
假設(shè)每天可以抽出3個(gè)小時(shí)的有效學(xué)習(xí)時(shí)間,加上周末每天保證10個(gè)小時(shí)的有效學(xué)習(xí)時(shí)間;
3個(gè)月會(huì)有(21*3+4*2*10)*3=423小時(shí)的學(xué)習(xí)時(shí)間。
第一階段(基礎(chǔ)階段)
1)Linux學(xué)習(xí)(跟鳥(niǎo)哥學(xué)就ok了)—–20小時(shí)
官網(wǎng): https://www.centos.org/download/?
中文社區(qū): http://www.linuxidc.com/Linux/2017-09/146919.htm
2)Java 高級(jí)學(xué)習(xí)(《深入理解Java虛擬機(jī)》、《Java高并發(fā)實(shí)戰(zhàn)》)—30小時(shí)
官網(wǎng):https://www.java.com/zh_CN/?
中文社區(qū):http://www.java-cn.com/index.html
3)Zookeeper學(xué)習(xí)(可以參照這篇博客進(jìn)行學(xué)習(xí):http://www.cnblogs.com/wuxl360/p/5817471.html)
官網(wǎng):http://zookeeper.apache.org/?
中文社區(qū):http://www.aboutyun.com/forum-149-1.html
第二階段(攻堅(jiān)階段)
4)Hadoop (《Hadoop 權(quán)威指南》)—80小時(shí)
1.HDFS
2.MapReduce
?3.MapReduce的Java應(yīng)用開(kāi)發(fā)
官網(wǎng):http://hadoop.apache.org/?
中文文檔:http://hadoop.apache.org/docs/r1.0.4/cn/?
中文社區(qū):http://www.aboutyun.com/forum-143-1.html
5)Hive(《Hive開(kāi)發(fā)指南》)–20小時(shí)
1.Hive 基本概念
?
2.Hive 基本操作
官網(wǎng):https://hive.apache.org/?
中文入門(mén)文檔:http://www.aboutyun.com/thread-11873-1-1.html?
中文社區(qū):http://www.aboutyun.com/thread-7598-1-1.html
6)HBase(《HBase權(quán)威指南》)—20小時(shí)
官網(wǎng):http://hbase.apache.org/?
中文文檔:http://abloz.com/hbase/book.html?
中文社區(qū):http://www.aboutyun.com/forum-142-1.html
7)Scala(《快學(xué)Scala》)–20小時(shí)
官網(wǎng):http://www.scala-lang.org/?
初級(jí)中文教程:http://www.runoob.com/scala/scala-tutorial.html
8)Spark (《Spark 權(quán)威指南》)—60小時(shí)
1.Spark core
2.RDD
3.Spark SQL and DataFrame/DataSet
4.Spark Streaming
5.Structured Streaming
6.其他(MLlib and GraphX )
這個(gè)部分一般工作中如果不是數(shù)據(jù)挖掘,機(jī)器學(xué)習(xí)一般用不到,可以等到需要用到的時(shí)候再深入學(xué)習(xí)。
官網(wǎng):http://spark.apache.org?
中文文檔(但是版本有點(diǎn)老):https://www.gitbook.com/book/aiyanbo/spark-programming-guide-zh-cn/details?
中文社區(qū):http://www.aboutyun.com/forum-146-1.html
9)Python (推薦廖雪峰的博客—30小時(shí)
10)自己用虛擬機(jī)搭建一個(gè)集群,把所有工具都裝上,自己開(kāi)發(fā)一個(gè)小demo —30小時(shí)
可以自己用VMware搭建4臺(tái)虛擬機(jī),然后安裝以上軟件,搭建一個(gè)小集群(本人親測(cè),I7,64位,16G內(nèi)存,完全可以運(yùn)行起來(lái),以下附上我學(xué)習(xí)時(shí)用虛擬機(jī)搭建集群的操作文檔)
集群搭建文檔1.0版本
1. 集群規(guī)劃
所有需要用到的軟件:
鏈接:http://pan.baidu.com/s/1jIlAz2Y?
密碼:kyxl
2. 前期準(zhǔn)備
2.0 系統(tǒng)安裝2.1 主機(jī)名配置2.1.0 vi /etc/sysconfig/networkNETWORKING=yes2.1.1 vi /etc/sysconfig/networkNETWORKING=yesHOSTNAME=ys022.1.2 vi /etc/sysconfig/networkNETWORKING=yes2.1.3 vi /etc/sysconfig/networkNETWORKING=yesHOSTNAME=ys042.2 host文件修改2.2.0 vi /etc/hosts10.1.1.149 ys0110.1.1.148 ys0210.1.1.146 ys0310.1.1.145 ys04 2.3 關(guān)閉防火墻(centos 7默認(rèn)使用的是firewall,centos 6 默認(rèn)是iptables)2.3.0 systemctl stop firewalld.service (停止firewall)2.3.1 systemctl disable firewalld.service (禁止firewall開(kāi)機(jī)啟動(dòng))2.3.2 firewall-cmd --state (查看默認(rèn)防火墻狀態(tài)(關(guān)閉后顯示notrunning,開(kāi)啟后顯示running)2.4 免密登錄(ys01 ->ys02,03,04)ssh-keygen -t rsassh-copy-id ys02(隨后輸入密碼)ssh-copy-id ys03(隨后輸入密碼)ssh-copy-id ys04(隨后輸入密碼)ssh ys02(測(cè)試是否成功)ssh ys03(測(cè)試是否成功)ssh ys04(測(cè)試是否成功)2.5 系統(tǒng)時(shí)區(qū)與時(shí)間同步tzselect(生成日期文件)cp /usr/share/zoneinfo/Asia/Shanghai ?/etc/localtime(將日期文件copy到本地時(shí)間中)3. 軟件安裝
3.0 安裝目錄規(guī)劃(軟件為所有用戶(hù)公用)3.0.0所有軟件的安裝放到/usr/local/ys/soft目錄下(mkdir /usr/local/ys/soft)3.0.1所有軟件安裝到/usr/local/ys/app目錄下(mkdir /usr/local/ys/app)3.1 JDK(jdk1.7)安裝3.1.1 alt+p 后出現(xiàn)sftp窗口,cd /usr/local/ys/soft,使用sftp上傳tar包到虛機(jī)ys01的/usr/local/ys/soft目錄下3.1.2解壓jdkcd /usr/local/ys/soft#解壓tar -zxvf jdk-7u80-linux-x64.tar.gz -C /usr/local/ys/app3.1.3將java添加到環(huán)境變量中vim /etc/profile#在文件最后添加export JAVA_HOME= /usr/local/ys/app/ jdk-7u80export PATH=$PATH:$JAVA_HOME/bin3.1.4 刷新配置source /etc/profile3.2 Zookeeper安裝3.2.0解壓tar -zxvf zookeeper-3.4.5.tar.gz -C /usr/local/ys/app(解壓)3.2.1 重命名mv zookeeper-3.4.5 zookeeper(重命名文件夾zookeeper-3.4.5為zookeeper)3.2.2修改環(huán)境變量vi /etc/profile(修改文件)添加內(nèi)容:export ZOOKEEPER_HOME=/usr/local/ys/app/zookeeperexport PATH=$PATH:$ZOOKEEPER_HOME/bin3.2.3 重新編譯文件:source /etc/profile注意:3臺(tái)zookeeper都需要修改3.2.4修改配置文件cd zookeeper/confcp zoo_sample.cfg zoo.cfgvi zoo.cfg添加內(nèi)容:dataDir=/usr/local/ys/app/zookeeper/datadataLogDir=/usr/local/ys/app/zookeeper/logserver.1=ys01:2888:3888 (主機(jī)名, 心跳端口、數(shù)據(jù)端口)server.2=ys02:2888:3888server.3=ys04:2888:38883.2.5 創(chuàng)建文件夾cd /usr/local/ys/app/zookeeper/mkdir -m 755 datamkdir -m 755 log3.2.6 在data文件夾下新建myid文件,myid的文件內(nèi)容為:cd datavi myid添加內(nèi)容:1將集群下發(fā)到其他機(jī)器上scp -r /usr/local/ys/app/zookeeper ys02:/usr/local/ys/app/scp -r /usr/local/ys/app/zookeeper ys04:/usr/local/ys/app/3.2.7修改其他機(jī)器的配置文件到y(tǒng)s02上:修改myid為:2到y(tǒng)s02上:修改myid為:33.2.8啟動(dòng)(每臺(tái)機(jī)器)zkServer.sh start查看集群狀態(tài)jps(查看進(jìn)程)zkServer.sh status(查看集群狀態(tài),主從信息)3.3 Hadoop(HDFS+Yarn)3.3.0 alt+p 后出現(xiàn)sftp窗口,使用sftp上傳tar包到虛機(jī)ys01的/usr/local/ys/soft目錄下3.3.1 解壓jdkcd /usr/local/ys/soft#解壓tar -zxvf cenos-7-hadoop-2.6.4.tar.gz -C /usr/local/ys/app3.3.2 修改配置文件core-site.xmlhdfs-site.xml
?
?
?
yarn-sifite.xml
svalesys02 ys03 ys043.3.3集群?jiǎn)?dòng)(嚴(yán)格按照下面的步驟)3.3.3.1啟動(dòng)zookeeper集群(分別在ys01、ys02、ys04上啟動(dòng)zk)cd /usr/local/ys/app/zookeeper-3.4.5/bin/./zkServer.sh start#查看狀態(tài):一個(gè)leader,兩個(gè)follower./zkServer.sh status3.3.3.2啟動(dòng)journalnode(分別在在mini5、mini6、mini7上執(zhí)行)cd /usr/local/ys/app/hadoop-2.6.4sbin/hadoop-daemon.sh start journalnode#運(yùn)行jps命令檢驗(yàn),ys02、ys03、ys04上多了JournalNode進(jìn)程3.3.3.3格式化HDFS#在ys01上執(zhí)行命令:hdfs namenode -format#格式化后會(huì)在根據(jù)core-site.xml中的hadoop.tmp.dir配置生成個(gè)文件,這里我配置的是/usr/local/ys/app/hadoop-2.6.4/tmp,然后將/usr/local/ys/app/hadoop-2.6.4/tmp拷貝到y(tǒng)s02的/usr/local/ys/app/hadoop-2.6.4/下。scp -r tmp/ ys02:/usr/local/ys /app/hadoop-2.6.4/##也可以這樣,建議hdfs namenode -bootstrapStandby3.3.3.4格式化ZKFC(在ys01上執(zhí)行一次即可)hdfs zkfc -formatZK3.3.3.5啟動(dòng)HDFS(在ys01上執(zhí)行)sbin/start-dfs.sh3.3.3.6啟動(dòng)YARNsbin/start-yarn.sh3.3MySQL-5.6安裝略過(guò)3.4 Hive3.4.1 alt+p 后出現(xiàn)sftp窗口,cd /usr/local/ys/soft,使用sftp上傳tar包到虛機(jī)ys01的/usr/local/ys/soft目錄下3.4.2解壓cd /usr/local/ys/soft tar -zxvf hive-0.9.0.tar.gz -C /usr/local/ys/app3.4.3 .配置hive3.4.3.1配置HIVE_HOME環(huán)境變量 ?vi conf/hive-env.sh 配置其中的$hadoop_home3.4.3.2配置元數(shù)據(jù)庫(kù)信息 ? vi ?hive-site.xml?添加如下內(nèi)容:
? ?
3.4.4 安裝hive和mysq完成后,將mysql的連接jar包拷貝到$HIVE_HOME/lib目錄下如果出現(xiàn)沒(méi)有權(quán)限的問(wèn)題,在mysql授權(quán)(在安裝mysql的機(jī)器上執(zhí)行)mysql -uroot -p#(執(zhí)行下面的語(yǔ)句 ?*.*:所有庫(kù)下的所有表 ? %:任何IP地址或主機(jī)都可以連接)GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;FLUSH PRIVILEGES;3.4.5 Jline包版本不一致的問(wèn)題,需要拷貝hive的lib目錄中jline.2.12.jar的jar包替換掉hadoop中的 /usr/local/ys/app/hadoop-2.6.4/share/hadoop/yarn/lib/jline-0.9.94.jar3.4.6啟動(dòng)hivebin/hive3.5 Kafka3.5.1 下載安裝包http://kafka.apache.org/downloads.html在linux中使用wget命令下載安裝包wget http://mirrors.hust.edu.cn/apache/kafka/0.8.2.2/kafka_2.11-0.8.2.2.tgz3.5.2 解壓安裝包tar -zxvf /usr/local/ys/soft/kafka_2.11-0.8.2.2.tgz -C /usr/local/ys/app/ cd /usr/local/ys/app/ ln -s kafka_2.11-0.8.2.2 kafka3.5.3 修改配置文件cp?/usr/local/ys/app/kafka/config/server.properties/usr/local/ys/app/kafka/config/server.properties.bakvi ?/usr/local/ys/kafka/config/server.properties輸入以下內(nèi)容:
?
? 3.5.4 分發(fā)安裝包scp -r /usr/local/ys/app/kafka_2.11-0.8.2.2 ys02: /usr/local/ys/app/scp -r /usr/local/ys/app/kafka_2.11-0.8.2.2 ys03: /usr/local/ys/app/scp -r /usr/local/ys/app/kafka_2.11-0.8.2.2 ys04: /usr/local/ys/app/然后分別在各機(jī)器上創(chuàng)建軟連cd /usr/local/ys/app/ln -s kafka_2.11-0.8.2.2 kafka3.5.5 再次修改配置文件(重要)依次修改各服務(wù)器上配置文件的的broker.id,分別是0,1,2不得重復(fù)。3.5.6 啟動(dòng)集群依次在各節(jié)點(diǎn)上啟動(dòng)kafkabin/kafka-server-start.sh ?config/server.properties3.6 Spark3.6.1 alt+p 后出現(xiàn)sftp窗口,cd /usr/local/ys/soft,使用sftp上傳tar包到虛機(jī)ys01的/usr/local/ys/soft目錄下3.6.2 ?解壓安裝包 tar -zxvf /usr/local/ys/soft/ spark-1.6.1-bin-hadoop2.6.tgz -C /usr/local/ys/app/3.6.3 修改Spark配置文件(兩個(gè)配置文件spark-env.sh和slaves)cd /usr/local/ys/soft/spark-1.6.1-bin-hadoop2.6進(jìn)入conf目錄并重命名并修改spark-env.sh.template文件cd conf/mv spark-env.sh.template spark-env.shvi spark-env.sh在該配置文件中添加如下配置export JAVA_HOME=/usr/java/jdk1.7.0_45export SPARK_MASTER_PORT=7077export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=ys01,ys02,ys04 -Dspark.deploy.zookeeper.dir=/spark"保存退出重命名并修改slaves.template文件mv slaves.template slavesvi slaves在該文件中添加子節(jié)點(diǎn)所在的位置(Worker節(jié)點(diǎn))Ys02Ys03Ys04保存退出3.6.4 將配置好的Spark拷貝到其他節(jié)點(diǎn)上scp -r spark-1.6.1-in-hadoop2.6/ ys02:/usr/local/ys/appscp -r spark-1.6.1-bin-hadoop2.6/ ys03:/usr/local/ys/appscp -r spark-1.6.1-bin-hadoop2.6/ ys04:/usr/local/ys/app3.6.5 集群?jiǎn)?dòng)在ys01上執(zhí)行sbin/start-all.sh腳本然后在ys02上執(zhí)行sbin/start-master.sh啟動(dòng)第二個(gè)Master3.7 Azkaban3.7.1 azkaban web服務(wù)器安裝解壓azkaban-web-server-2.5.0.tar.gz命令: tar –zxvf /usr/local/ys/soft/azkaban-web-server-2.5.0.tar.gz -C /usr/local/ys/app/azkaban將解壓后的azkaban-web-server-2.5.0 移動(dòng)到 azkaban目錄中,并重新命名 webserver命令: mv azkaban-web-server-2.5.0 ../azkabancd ../azkabanmv azkaban-web-server-2.5.0 ? webserver3.7.2 azkaban 執(zhí)行服器安裝解壓azkaban-executor-server-2.5.0.tar.gz命令:tar –zxvf /usr/local/ys/soft/azkaban-executor-server-2.5.0.tar.gz -C /usr/local/ys/app/azkaban將解壓后的azkaban-executor-server-2.5.0 移動(dòng)到 azkaban目錄中,并重新命名 executor命令:mv azkaban-executor-server-2.5.0 ?../azkabancd ../azkabanmv azkaban-executor-server-2.5.0 ?executor3.7.3 azkaban腳本導(dǎo)入解壓: azkaban-sql-script-2.5.0.tar.gz命令:tar –zxvf azkaban-sql-script-2.5.0.tar.gz將解壓后的mysql 腳本,導(dǎo)入到mysql中:進(jìn)入mysqlmysql> create database azkaban;mysql> use azkaban;Database changedmysql> source /usr/local/ys/soft/azkaban-2.5.0/create-all-sql-2.5.0.sql;3.7.4 創(chuàng)建SSL配置參考地址: http://docs.codehaus.org/display/JETTY/How+to+configure+SSL命令: keytool -keystore keystore -alias jetty -genkey -keyalg RSA運(yùn)行此命令后,會(huì)提示輸入當(dāng)前生成 keystor的密碼及相應(yīng)信息,輸入的密碼請(qǐng)勞記,信息如下(此處我輸入的密碼為:123456)輸入keystore密碼:?再次輸入新密碼:您的名字與姓氏是什么?[Unknown]:?您的組織單位名稱(chēng)是什么?[Unknown]:?您的組織名稱(chēng)是什么?[Unknown]:?您所在的城市或區(qū)域名稱(chēng)是什么?[Unknown]:?您所在的州或省份名稱(chēng)是什么?[Unknown]:?該單位的兩字母國(guó)家代碼是什么[Unknown]: ?CNCN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=CN 正確嗎?[否]: ?y 輸入<jetty>的主密碼(如果和 keystore 密碼相同,按回車(chē)):? 再次輸入新密碼 完成上述工作后,將在當(dāng)前目錄生成 keystore 證書(shū)文件,將keystore 考貝到 azkaban web服務(wù)器根目錄中.如:cp keystore azkaban/webserver3.7.5 配置文件注:先配置好服務(wù)器節(jié)點(diǎn)上的時(shí)區(qū)先生成時(shí)區(qū)配置文件Asia/Shanghai,用交互式命令 tzselect 即可拷貝該時(shí)區(qū)文件,覆蓋系統(tǒng)本地時(shí)區(qū)配置cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime ?3.7.6 azkaban web服務(wù)器配置進(jìn)入azkaban web服務(wù)器安裝目錄 conf目錄修改azkaban.properties文件命令vi azkaban.properties內(nèi)容說(shuō)明如下:
*Azkaban Personalization Settings azkaban.name=Test ? ? ? ? ? ? ? ? ? ? ? ? ? #服務(wù)器UI名稱(chēng),用于服務(wù)器上方顯示的名字 azkaban.label=My Local Azkaban ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #描述 azkaban.color=#FF3601 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #UI顏色 azkaban.default.servlet.path=/index ? ? ? ? ? ? ? ? ? ? ? ? # web.resource.dir=web/ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #默認(rèn)根web目錄 default.timezone.id=Asia/Shanghai ? ? ? ? ? ? ? ? ? ? ? ? ? #默認(rèn)時(shí)區(qū),已改為亞洲/上海 默認(rèn)為美國(guó)*Azkaban UserManager class user.manager.class=azkaban.user.XmlUserManager ? #用戶(hù)權(quán)限管理默認(rèn)類(lèi) user.manager.xml.file=conf/azkaban-users.xml ? ? ? ? ? ? ?#用戶(hù)配置,具體配置參加下文*Loader for projects executor.global.properties=conf/global.properties ? ?# global配置文件所在位置 azkaban.project.dir=projects ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#database.type=mysql ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#數(shù)據(jù)庫(kù)類(lèi)型 mysql.port=3306 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #端口號(hào) mysql.host=localhost ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#數(shù)據(jù)庫(kù)連接IP mysql.database=azkaban ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #數(shù)據(jù)庫(kù)實(shí)例名 mysql.user=root ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #數(shù)據(jù)庫(kù)用戶(hù)名 mysql.password=Root123456 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#數(shù)據(jù)庫(kù)密碼 mysql.numconnections=100 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#最大連接數(shù)* Velocity dev mode velocity.dev.mode=false * Jetty服務(wù)器屬性. jetty.maxThreads=25 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #最大線程數(shù) jetty.ssl.port=8443 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #Jetty SSL端口 jetty.port=8081 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #Jetty端口 jetty.keystore=keystore ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#SSL文件名 jetty.password=123456 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #SSL文件密碼 jetty.keypassword=123456 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#Jetty主密碼 與 keystore文件相同 jetty.truststore=keystore ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#SSL文件名 jetty.trustpassword=123456 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? # SSL文件密碼* 執(zhí)行服務(wù)器屬性 executor.port=12321 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #執(zhí)行服務(wù)器端*郵件設(shè)置 mail.sender=xxxxxxxx@163.com ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #發(fā)送郵箱 mail.host=smtp.163.com ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #發(fā)送郵箱smtp地址 mail.user=xxxxxxxx ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #發(fā)送郵件時(shí)顯示的名稱(chēng) mail.password=********** ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #郵箱密碼 job.failure.email=xxxxxxxx@163.com ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#任務(wù)失敗時(shí)發(fā)送郵件的地址 job.success.email=xxxxxxxx@163.com ? ? ? ? ? ? ? ? ? ? ? ? ? ?#任務(wù)成功時(shí)發(fā)送郵件的地址 lockdown.create.projects=false ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? # cache.directory=cache ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#緩存目錄3.7.7azkaban 執(zhí)行服務(wù)器executor配置進(jìn)入執(zhí)行服務(wù)器安裝目錄conf,修改azkaban.propertiesvi azkaban.properties *Azkaban default.timezone.id=Asia/Shanghai ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#時(shí)區(qū)* Azkaban JobTypes 插件配置 azkaban.jobtype.plugin.dir=plugins/jobtypes ? ? ? ? ? ? ? ? ? #jobtype 插件所在位置*Loader for projects executor.global.properties=conf/global.properties azkaban.project.dir=projects*數(shù)據(jù)庫(kù)設(shè)置 database.type=mysql ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #數(shù)據(jù)庫(kù)類(lèi)型(目前只支持mysql) mysql.port=3306 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#數(shù)據(jù)庫(kù)端口號(hào) mysql.host=192.168.20.200 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #數(shù)據(jù)庫(kù)IP地址 mysql.database=azkaban ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#數(shù)據(jù)庫(kù)實(shí)例名 mysql.user=root ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #數(shù)據(jù)庫(kù)用戶(hù)名 mysql.password=Root23456 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#數(shù)據(jù)庫(kù)密碼 mysql.numconnections=100 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #最大連接數(shù)*執(zhí)行服務(wù)器配置 executor.maxThreads=50 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#最大線程數(shù) executor.port=12321 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #端口號(hào)(如修改,請(qǐng)與web服務(wù)中一致) executor.flow.threads=30 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#線程數(shù)3.7.8用戶(hù)配置進(jìn)入azkaban web服務(wù)器conf目錄,修改azkaban-users.xmlvi azkaban-users.xml 增加 管理員用戶(hù)?
? 3.7.9 web服務(wù)器啟動(dòng)在azkaban web服務(wù)器目錄下執(zhí)行啟動(dòng)命令bin/azkaban-web-start.sh注:在web服務(wù)器根目錄運(yùn)行或者啟動(dòng)到后臺(tái)nohup ?bin/azkaban-web-start.sh ?1>/tmp/azstd.out ?2>/tmp/azerr.out &3.7.10執(zhí)行服務(wù)器啟動(dòng)在執(zhí)行服務(wù)器目錄下執(zhí)行啟動(dòng)命令bin/azkaban-executor-start.sh注:只能要執(zhí)行服務(wù)器根目錄運(yùn)行啟動(dòng)完成后,在瀏覽器(建議使用谷歌瀏覽器)中輸入https://服務(wù)器IP地址:8443 ,即可訪問(wèn)azkaban服務(wù)了.在登錄中輸入剛才新的戶(hù)用名及密碼,點(diǎn)擊 login3.8 Zeppelin 參照如下文件: http://blog.csdn.net/chengxuyuanyonghu/article/details/54915817 http://blog.csdn.net/chengxuyuanyonghu/article/details/549159623.9 HBase3.9.1解壓tar –zxvf ?/usr/local/ys/soft/hbase-0.99.2-bin.tar.gz ?-C /usr/local/ys/app3.9.2重命名cd ?/usr/local/ys/appmv hbase-0.99.2 hbase3.9.3修改配置文件每個(gè)文件的解釋如下:hbase-env.shexport JAVA_HOME=/usr/local/ys/app/jdk1.7.0_80 ? //jdk安裝目錄export HBASE_CLASSPATH=/usr/local/ys/app/hadoop-2.6.4/etc/hadoop ?//hadoop配置文件的位置export HBASE_MANAGES_ZK=false #如果使用獨(dú)立安裝的zookeeper這個(gè)地方就是false(此處使用自己的zookeeper)hbase-site.xml
?
Regionservers ? ?//是從機(jī)器的域名 Ys02 ys03 ys04注:此處HBase配置是針對(duì)HA模式的hdfs3.9.4將Hadoop的配置文件hdfs-site.xml和core-site.xml拷貝到HBase配置文件中cp /usr/local/ys/app/Hadoop-2.6.4/etc/hadoop/hdfs-site.xml /usr/local/ys/app/hbase/confcp /usr/local/ys/app/hadoop-2.6.4/etc/hadoop/core-site.xml /usr/local/ys/app/hbase/conf3.9.5發(fā)放到其他機(jī)器scp –r /usr/local/ys/app/hbase ys02: /usr/local/ys/appscp –r /usr/local/ys/app/hbase ys03: /usr/local/ys/appscp –r /usr/local/ys/app/hbase ys04: /usr/local/ys/app3.9.6啟動(dòng)cd ?/usr/local/ys/app/hbase/bin./ start-hbase.sh3.9.7查看進(jìn)程:jps進(jìn)入hbase的shell:hbase shell退出hbase的shell:quit頁(yè)面:http://master:60010/?3.10KAfkaOffsetMonitor(Kafka集群的監(jiān)控程序,本質(zhì)就是一個(gè)jar包)3.10.1上傳jar包略3.10.2 運(yùn)行jar包 nohup java -cp KafkaOffsetMonitor-assembly-0.2.1.jar com.quantifind.kafka.offsetapp.OffsetGetterWeb --zk ys01,ys02,ys04 --refresh 5.minutes --retain 1.day --port 8089 $4. 集群調(diào)優(yōu)
4.1 輔助工具盡量不安裝到數(shù)據(jù)或者運(yùn)算節(jié)點(diǎn),避免占用過(guò)多計(jì)算或內(nèi)存資源。4.2 dataNode和spark的slave節(jié)點(diǎn)盡量在一起;這樣運(yùn)算的時(shí)候就可以避免通過(guò)網(wǎng)絡(luò)拉取數(shù)據(jù),加快運(yùn)算速度。4.3 Hadoop集群機(jī)架感知配置,配置之后可以使得數(shù)據(jù)在同機(jī)架的不同機(jī)器2份,然后其他機(jī)架機(jī)器1份,可是兩臺(tái)機(jī)器四臺(tái)虛機(jī)沒(méi)有必要配感知個(gè)人感覺(jué)。4.4 配置參數(shù)調(diào)優(yōu) 可以參考http://blog.csdn.net/chndata/article/details/46003399
第三階段(輔助工具工學(xué)習(xí)階段)
11)Sqoop(CSDN,51CTO ,以及官網(wǎng))—20小時(shí)
推薦學(xué)習(xí)博客:http://student-lp.iteye.com/blog/2157983?
官網(wǎng):http://sqoop.apache.org/
12)Flume(CSDN,51CTO ,以及官網(wǎng))—20小時(shí)
推薦學(xué)習(xí)博客:http://www.aboutyun.com/thread-8917-1-1.html?
官網(wǎng):http://flume.apache.org
13)Oozie(CSDN,51CTO ,以及官網(wǎng))–20小時(shí)
推薦學(xué)習(xí)博客:http://www.infoq.com/cn/articles/introductionOozie?
官網(wǎng):http://oozie.apache.org/
14)Hue(CSDN,51CTO ,以及官網(wǎng))–20小時(shí)
推薦學(xué)習(xí)博客:http://ju.outofmemory.cn/entry/105162?
官網(wǎng):http://gethue.com/
第四階段(不斷學(xué)習(xí)階段)
每天都會(huì)有新的東西出現(xiàn),需要關(guān)注最新技術(shù)動(dòng)態(tài),不斷學(xué)習(xí)。任何一般技術(shù)都是先學(xué)習(xí)理論,然后在實(shí)踐中不斷完善理論的過(guò)程。
備注
1)如果你覺(jué)得自己看書(shū)效率太慢,你可以網(wǎng)上搜集一些課程,跟著課程走也OK 。如果看書(shū)效率不高就很網(wǎng)課,相反的話就自己看書(shū)。
2)企業(yè)目前更傾向于使用Spark進(jìn)行微批處理,Storm只有在對(duì)時(shí)效性要求極高的情況下,才會(huì)使用,所以可以做了解。重點(diǎn)學(xué)習(xí)Spark Streaming。
3)快速學(xué)習(xí)的能力、解決問(wèn)題的能力、溝通能力**真的很重要。
4)要善于使用StackOverFlow和Google(遇到解決不了的問(wèn)題,先Google,如果Google找不到解決方能就去StackOverFlow提問(wèn),一般印度三哥都會(huì)在2小時(shí)內(nèi)回答你的問(wèn)題)。
5)視頻課程推薦:
可以去萬(wàn)能的淘寶購(gòu)買(mǎi)一些視頻課程,你輸入“大數(shù)據(jù)視頻課程”,會(huì)出現(xiàn)很多,多購(gòu)買(mǎi)幾份(100塊以?xún)?nèi)可以搞定),然后選擇一個(gè)適合自己的。個(gè)人認(rèn)為小象學(xué)院的董西成和陳超的課程含金量會(huì)比較高。
四、持續(xù)學(xué)習(xí)資源推薦
至于書(shū)籍當(dāng)當(dāng)一搜會(huì)有很多,其實(shí)內(nèi)容都差不多。
總結(jié)
以上是生活随笔為你收集整理的大数据学习规划(新手入门)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 青拓集团股票代码
- 下一篇: 大数据面试题及答案 汇总版