大數據實踐(一)–Hadoop單機搭建(Ubuntu)
前置環境及工具:
Ubuntu 16
VirtualBox
Hadoop 2.7.3
xftp6
jdk1.8
1、VirtualBox環境準備
001、設置網卡
雙網卡:選擇橋接模式與僅主機模式。
保證主機與虛擬機之間相互ping通、關閉防火牆。
sudo ufw disable
002、更新apt-get(最好更新)
使用以下命令更新apt-get。
sudo apt-get update
如果速度太慢,可以更換源。
步驟如下:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak #備份原源列表文件
將原源文件(/etc/apt/sources.list)中地址替換爲以下地址:
deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
003、下載vim(可略去)
使用gedit也是可以的。
sudo apt-get install vim
004、下載ssh
通過以下命令查看是否存在ssh服務,不存在需要安裝:
ps -e|grep ssh
5310 ? 00:00:00 sshd # 存在ssh
安裝openssh相關組件:
sudo apt-get install openssh-server
此時如果報錯openssh-client的話,是Ubuntu自帶的client版本不適配server,安裝一個適配的版本:
啓動ssh服務。
service sshd restart
005、配置本地ssh登錄服務
cd ~/.ssh/ # 若沒有該目錄,請先執行一次 ssh localhost
ssh-keygen -t rsa # 會有提示,都按回車就可以
cat ./id_rsa.pub >> ./authorized_keys # 加入授權
2、Hadoop環境準備
001、上傳jdk以及hadoop
使用xftp等工具都可以。
注意Ubuntu下需要給與文件夾上傳的權限。
sudo chmod 777 xxx
002、解壓並配置環境變量(略去)
配置jdk、hadoop的環境變量。
# java_home
export JAVA_HOME=/usr/local/jdk/jdk1.8.0_191
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:${JAVA_HOME}/bin
#hadoop home
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin
003、修改讀寫權限(可略去)
使用以下命令可以使當前用戶具有對文件的讀寫修改權限。
sudo chmod -R xxx(用戶)
/.. #R代表隊當前目錄及其子目錄擁有權限
004、修改Hadoop配置文件
hadoop-env.sh 記錄腳本要用的環境變量,以運行hadoop
core-site.xml hadoop core的配置項,例如hdfs和mapreduce常用的i/o設置等
hdfs-site.xml hadoop守護進程的配置項,包括namenode、輔助namenode和datanode等
mapred-site.xml mapreduce守護進程的配置項,包括jobtracker和tasktracker
…
單機只設置前面三個就可以。
1、修改hadoop-env.sh文件
建議修改並配置jdk環境。
# The java implementation to use.
export JAVA_HOME=/usr/local/jdk/jdk1.8.0_191
2、修改core-site.xml文件
<property>
<name>hadoop.tmp.dir</name>
<value>file:///usr/local/hadoop/hadoopTmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://192.168.56.102:9000</value>
</property>
3、修改hdfs-site.xml 文件
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///usr/local/hadoop/hadoopTmp/dfs/name</value>
</property>
<property>
<name>dfs.namenode.data.dir</name>
<value>file:///usr/local/hadoop/hadoopTmp/dfs/data</value>
</property>
3、測試
001、格式化NameNode
hdfs namenode -format
002、啓動hdfs守護進程
start-dfs.sh
# 使用jps出現以下進程
7952 DataNode
8246 Jps
8135 SecondaryNameNode
7804 NameNode
003、在Web端查看相關信息
打開瀏覽器,輸入local host:50070,出現相關頁面。
004、停止守護進程
stop-dfs.sh
此時進程停止。