大数据分析之Hadoop
一、目標(biāo):
1.完成Hadoop的部署和配置
2.正常啟動(dòng)/關(guān)閉Hadoop集群,并完成基準(zhǔn)測(cè)試
3.理解分布式文件系統(tǒng)的設(shè)計(jì)思想
4.熟練操作Hadoop集群
二、Hadoop的安裝與部署
一、切換到root用戶:su - root
二、關(guān)閉selinux:
vim /etc/selinux/config
SELINUX=disabled
1.將軟件包上傳到node100(Windows使用xftp上傳,Mac使用scp命令上傳)
2.配置免密登錄
cd 進(jìn)入hadoop用戶的家目錄
ssh-keygen -t rsa [輸入完后連按4個(gè)回車]
ssh node100 [yes,輸入hadoop用戶的密碼]
ssh-copy-id node100 [輸入hadoop用戶的密碼]
3.解壓軟件包到/opt/module
cd
tar -zxvf ./jdk-8u181-linux-x64.tar.gz -C /opt/module/
tar -zxvf ./hadoop-2.7.3.tar.gz -C /opt/module/
tar -zxvf ./apache-hive-3.1.1-bin.tar.gz -C /opt/module/
4.編輯環(huán)境變量:vim ~/.bash_profile
在文件末尾添加
JAVA_HOME=/opt/module/jdk1.8.0_181
HADOOP_HOME=/opt/module/hadoop-2.7.3
HIVE_HOME=/opt/module/apache-hive-3.1.1-bin
PATH=PATH:PATH:PATH:HOME/bin:JAVAHOME/bin:JAVA_HOME/bin:JAVAH?OME/bin:HADOOP_HOME/bin:HADOOPHOME/sbin:HADOOP_HOME/sbin:HADOOPH?OME/sbin:HIVE_HOME/bin
export JAVA_HOME
export HADOOP_HOME
export HIVE_HOME
export PATH
5.重新加載環(huán)境變量
source ~/.bash_profile
java -version
hadoop version
6.修改Hadoop的配置文件:cd /opt/module/hadoop-2.7.3/etc/hadoop
1.vim ./hadoop-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_181
2.vim ./mapred-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_181
3.vim ./yarn-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_181
4.vim ./core-site.xml
5.vim ./hdfs-site.xml
<!-- 指定HDFS副本的數(shù)量 --><property><name>dfs.replication</name><value>1</value></property><!-- 指定Hadoop輔助名稱節(jié)點(diǎn)主機(jī)配置 --><property><name>dfs.namenode.secondary.http-address</name><value>node100:50090</value></property>6.cp ./mapred-site.xml.template ./mapred-site.xml
vim ./mapred-site.xml
7.vim ./yarn-site.xml
<!-- Reducer獲取數(shù)據(jù)的方式 --><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><!-- 指定YARN的ResourceManager的地址 --><property><name>yarn.resourcemanager.hostname</name><value>node100</value></property><!-- 關(guān)閉虛擬內(nèi)存檢查 --><property><name>yarn.nodemanager.vmem-check-enabled</name><value>false</value></property>8.vim ./slaves
node100
三、Hadoop基本測(cè)試
1.格式化Hadoop集群
在node100這臺(tái)機(jī)器上執(zhí)行:hdfs namenode -format
2.啟動(dòng)/關(guān)閉Hadoop集群
在node100這臺(tái)機(jī)器上執(zhí)行:start-all.sh
在node100這臺(tái)機(jī)器上執(zhí)行:stop-all.sh
3.驗(yàn)證啟動(dòng)頁(yè)面
192.168.5.100:50070
192.168.5.100:8088
4.Hadoop的Wordcount
1.vim word.txt
hello python
hello java
hello scala
hello world
welcome to beijing
2.wordcount測(cè)試
hadoop fs -mkdir /test
hadoop fs -put ./word.txt /test
hadoop jar /opt/module/hadoop-2.7.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount /test/word.txt /output
hadoop fs -cat /output/part-r-00000
5.hive的安裝和基本操作
hive --version
在hdfs上創(chuàng)建hive數(shù)據(jù)存放目錄
hadoop fs -mkdir /tmp
hadoop fs -mkdir -p /user/hive/warehouse
hadoop fs -chmod g+w /tmp
hadoop fs -chmod g+w /user/hive/warehouse
在hive的軟件目錄下執(zhí)行初始化命令
bin/schematool -dbType derby -initSchema
初始化成功后就會(huì)在hive的安裝目錄下生成derby.log日志文件和metastore_db元數(shù)據(jù)庫(kù)
注意:離開hadoop安全模式 hadoop dfsadmin -safemode leave
MapReduce是一種傳統(tǒng)的面向批量任務(wù)的處理框架。像Tez這樣的新處理引擎越來(lái)越傾向于近實(shí)時(shí)的查詢?cè)L問(wèn)。隨著Yarn的出現(xiàn),HDFS正日益成為一個(gè)多租戶環(huán)境,允許很多數(shù)據(jù)訪問(wèn)模式,例如批量訪問(wèn)、實(shí)時(shí)訪問(wèn)和交互訪問(wèn)。
四、Hadoop概述
1.Hadoop生態(tài)圈
2.Hadoop的組成
Hadoop由三個(gè)模塊組成:分布式存儲(chǔ)HDFS、分布式計(jì)算MapReduce、資源調(diào)度引擎Yarn
3.HDFS:塊級(jí)別的分布式文件存儲(chǔ)系統(tǒng)
1)NameNode(nn):存儲(chǔ)文件的元數(shù)據(jù),如文件名,文件目錄結(jié)構(gòu),文件屬性(生成時(shí)間、副本數(shù)、文件權(quán)限),以及每個(gè)文件的塊列表和塊所在的DataNode等;
2)DataNode(dn):在本地文件系統(tǒng)存儲(chǔ)文件塊數(shù)據(jù),以及塊數(shù)據(jù)的校驗(yàn)和
3)Secondary NameNode(2nn):用來(lái)監(jiān)控HDFS狀態(tài)的輔助后臺(tái)程序,每隔一段時(shí)間獲取HDFS元數(shù)據(jù)的塊照。
4.MapReduce:分布式計(jì)算框架
1)MapReduce是采用一種分而治之的思想設(shè)計(jì)出來(lái)的分布式計(jì)算框架;
2)如一復(fù)雜的計(jì)算任務(wù),單臺(tái)服務(wù)器無(wú)法勝任時(shí),可將此大任務(wù)切分成一個(gè)個(gè)小的任務(wù),小任務(wù)分別在不同的服務(wù)器上并行的執(zhí)行;最終在匯總每個(gè)小任務(wù)的結(jié)果;
3)MapReduce由兩個(gè)階段組成:Map階段(切分成一個(gè)個(gè)小的任務(wù))、Reduce階段(匯總小任務(wù)的結(jié)果)
5.Yarn:分布式資源管理器
五、Hadoop的shell操作
1.啟動(dòng)/關(guān)閉Hadoop集群
在主節(jié)點(diǎn)上:start-all.sh/stop-all.sh
2.查看HDFS的文件和目錄
Hadoop fs -ls -R /
3.在HDFS上創(chuàng)建文件夾
Hadoop fs -mkdir -p /test/wuyilaodongjie
4.上傳文件
Hadoop fs -put source(本地文件路徑) dest(HDFS路徑)
5.下載文件
Hadoop fs -get source(HDFS路徑)dest(本地文件路徑)
6.刪除文件
Hadoop fs -rm HDFS文件路徑 Hadoop fs -rm -r HDFS目錄路徑
7.查看文件內(nèi)容
hadoop fs -cat HDFS文件路徑
8.查看集群的工作狀態(tài)
hdfs dfsadmin -report
六、虛擬機(jī)的基本配置
首先,切換到root用戶
su - root
1.關(guān)閉防火墻和禁止防火墻自啟動(dòng)
systemctl stop firewalld.service
systemctl disable firewalld.service
2.配置時(shí)間自動(dòng)同步:crontab -e
*/5 * * * * /usr/sbin/ntpdate ntp1.aliyun.com
3.修改/etc/hosts文件:vim /etc/hosts
192.168.5.100 node100
192.168.5.101 node101
192.168.5.102 node102
4.在/opt下創(chuàng)建module目錄,并修改它的所有者和所屬組為hadoop
cd /opt
mkdir module
chgrp hadoop module
chown hadoop module
5.配置ip地址:vim /etc/sysconfig/network-scripts/ifcfg-ens33
第四行修改為BOOTPROTO=“static”
6.重啟網(wǎng)卡:systemctl restart network
總結(jié)
以上是生活随笔為你收集整理的大数据分析之Hadoop的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 大数据分析之环境部署
- 下一篇: 函数在线绘图