大数据入门
剛開始接觸大數據生態圈,經過兩周的努力終于在自己實驗室的機子上搭建成功了hadoop環境(偽分布模式),對于所有涉及到的知識全部是第一次學習和實踐,包括虛擬機安裝、虛擬化相關知識、虛擬機上安裝Ubuntu系統、終端、控制臺常用Linux命令、Xshell實現遠程訪問、文件互傳(這個之前有用過)等。
PS:
Hadoop偽分布模式:
Hadoop在單節點上以偽分布的方式進行,Hadoop進程以分離的java進程運行,節點既作為NameNode也作為DataNode,同時讀取的是HDFS的文件。其守護進程運行在本地機器上,模擬一個小規模的集群。
常用Linux命令可以參考我的另一篇博客:Linux命令,不是很全只是匯總最近用到的基本命令。
版本信息:
Hadoop 2.8.1
jdk1.8.0_144
Ubuntu14.04LTS
VMware-workstation14.04
以下大致講述以下hadoop偽分布模式搭建過程(假設已經安裝了虛擬機和Ubuntu操作系統):
1、新建hadoop用戶(在此用戶下搭建環境)并讓用戶擁有root權限
adduser hadoop
sudo vim /etc/sudoers
將文件修改為:
# User privilege specification
root ALL=(ALL) ALL
hadoop ALL=(ALL) ALL
保存退出,hadoop用戶就擁有了root權限
2、安裝SSH并配置SSH免密登錄
安裝SSH server
sudo apt-get install openssh-server
ssh免密登錄:
先退出剛才的ssh,然后生成ssh證書:
exit ? ? ? ? ? ? ? ? ? ? ? ? ? # 退出 ssh localhost
cd ~/.ssh ? ? ? ? ? ? ? ? ? ? ?# 如果沒有該目錄,先執行一次ssh localhost
ssh-keygen -t rsa ? ? ? ? ? ? ?# 一直按回車就可以
cp id_rsa.pub authorized_keys
此時再用ssh localhost命令,就可以直接登陸
3、安裝JDK并配置環境變量
創建目錄(目錄可以自定):
sudo mkdir /usr/lib/jvm
將已經下載好的jdk解壓至usr/lib/jvm
sudo tar -zxvf /home/hadoop/jdk-8u144-linux-x64.tar.gz -C /usr/lib/jvm/
修改環境變量:
sudo vim ~/.bashrc
文件的末尾追加下面內容:
#set oracle jdk environment
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_144 ?## 這里要注意目錄要換成自己解壓的jdk 目錄
export JRE_HOME=${JAVA_HOME}/jre ?
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib ?
export PATH=${JAVA_HOME}/bin:$PATH
使環境變量馬上生效
source ~/.bashrc
可以使用 java -version 驗證是否安裝成功
4、hadoop安裝
將下載好的壓縮文件解壓至你想安裝的目錄(我的/usr/local,網上大多數都是安裝在此目錄下~~)
sudo tar -zxvf /home/hadoop/hadoop-2.8.1.tar.gz ?-C /usr/local
cd /
cd /usr/local
sudo mv ./hadoop-2.8.1 hadoop #重命名為hadoop
sudo chown -R ?hadoop ./hadoop #修改文件權限
查看hadoop是否可用,成功即顯示版本信息
cd /usr/local/hadoop
./bin/hadoop version
5、hadoop偽分布模式配置
hadoop的配置文件位于/usr/local/hadoop/etc/hadoop中,需要修改3個配置文件core-site.xml、hdfs-site.xml和hadoop-env.sh
core-site.xml修改為如下所示:
<configuration>
<property>
? ? ? ? ? ? ?<name>hadoop.tmp.dir</name>
? ? ? ? ? ? ?<value>file:/usr/local/hadoop/tmp</value>
? ? ? ? ? ? ?<description>Abase for other temporary directories.</description>
? ? ? ? </property>
? ? ? ? <property>
? ? ? ? ? ? ?<name>fs.defaultFS</name>
? ? ? ? ? ? ?<value>hdfs://localhost:9000</value>
? ? ? ? </property>
</configuration>
hdfs-site.xml修改為如下所示:
<configuration>
<property>
? ? ? ? ? ? ?<name>dfs.replication</name>
? ? ? ? ? ? ?<value>1</value>
? ? ? ? </property>
? ? ? ? <property>
? ? ? ? ? ? ?<name>dfs.namenode.name.dir</name>
? ? ? ? ? ? ?<value>file:/usr/local/hadoop/tmp/dfs/name</value>
? ? ? ? </property>
? ? ? ? <property>
? ? ? ? ? ? ?<name>dfs.datanode.data.dir</name>
? ? ? ? ? ? ?<value>file:/usr/local/hadoop/tmp/dfs/data</value>
? ? ? ? </property>
</configuration>
hadoop-env.sh修改為如下所示:
# The java implementation to use.
export JAVA_HOME=${JAVA_HOME}
在JAVA-HOME后追加
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_144
配置完成后,執行NameNode的格式化:
相對路徑 ./bin/hafs namenode ?-format
接著開啟NameNode和DataNode守護進程
./sbin/start-dfs.sh
啟動成功后可以輸入jps來判斷是否成功啟動。
成功啟動后,可以訪問web界面http://localhost:50070(注:如果是在虛擬中安裝的hadoop并且想在本地機子中訪問的話把localhost換成虛擬機的IP即可)。查看namenode和DataNode信息,還可以在線查看HDFS的文件。
新版的hadoop使用了新的MapReduce框架-YARN
YARN是從MapReduce中分離出來的,負責資源管理與任務調度。yarn運行于MapReduce之上,提供了高可用性、高擴展性。在啟動hadoop后可以啟動yarn來負責資源管理和任務調度。
首先修改配置文件mapred-site.xml,這邊需要先進行重命名:
sudo mv ./etc/hadoop/mapred-site.xml.template ./etc/hadoop/mapred-site.xml然后再進行編輯 sudo vim ./etc/hadoop/mapred-site.xml : <configuration>
? ? ? ? <property>
? ? ? ? ? ? ?<name>mapreduce.framework.name</name>
? ? ? ? ? ? ?<value>yarn</value>
? ? ? ? </property>
</configuration>
接著修改配置文件 yarn-site.xml:
<configuration>
? ? ? ? <property>
? ? ? ? ? ? ?<name>yarn.nodemanager.aux-services</name>
? ? ? ? ? ? ?<value>mapreduce_shuffle</value>
? ? ? ? ? ? </property>
</configuration>
然后就啟動 YARN? ./sbin/start-yarn.sh ? ? ?# 啟動YARN
./sbin/mr-jobhistory-daemon.sh start historyserver ?# 開啟歷史服務器,才能在Web中查看任務運行情況
開啟后通過 jps 查看,可以看到多了 NodeManager 和 ResourceManager 兩個后臺進程
啟動 YARN后可以通過 Web 界面查看任務的運行情況:http://localhost:8088/cluster。localhost同上
至此,hadoop偽分布模式搭建成功。
一言以蔽之:最近沉迷于學習無法自拔。
如果您覺得寫的還可以,請您打賞給撰稿人,打賞多少您隨意,謝謝:
總結
- 上一篇: Android实训——图书管理系统
- 下一篇: AStar算法优化