Pseudo-Distributed Operation
搭建準(zhǔn)備
本次搭建在ubuntu16.04.6 LTS上進行座咆,使用java-jdk8u_191進行。
- 鏈接: https://pan.baidu.com/s/1Br6jpJWkvXb5xp-D3jnNWA 提取碼: tz2m
上面鏈接中包括了java的jdk壓縮包和xshell赘理,其他的就是一些配置文件。
上面這個內(nèi)容為官方搭建文檔扇单。
而我們本次搭建的hadoop版本為:2.6.5
- 鏈接: https://pan.baidu.com/s/1-cHnnMteSCsUs3n9HXkrXg 提取碼: 4qwe
搭建工作
JAVA
安裝JAVA在/usr/java
目錄下:
tar -zxvf jdk-8u191-linux-x64.tar.gz -C /usr/java/
于是解壓到本地商模。
之后環(huán)境變量我們同hadoop一起配置。
SSH
a) 下載ssh-server
sudo apt-get install openssh-server
b) 啟動ssh
sudo /etc/init.d/ssh start
c) 查看ssh服務(wù)是否啟動蜘澜,如果顯示相關(guān)ssh字樣則表示成功施流。
ps -ef|grep ssh
d) 設(shè)置免密碼登錄
使用如下命令,一直回車鄙信,直到生成了rsa瞪醋。
ssh-keygen -t rsa
導(dǎo)入authorized_keys
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys測試是否免密碼登錄localhost
ssh localhost
此時我們能用ssh登錄本機。
e)關(guān)閉防火墻
ufw disable
Hadoop安裝
使用我們的Hadoop安裝包(首節(jié)有鏈接)装诡。
進入 /usr/local/
目錄银受,并調(diào)用sudo tar zxvf hadoop-2.6.5.tar.gz -C /usr/local
切換到/usr/local
下,將hadoop-2.6.5重命名為hadoop鸦采,并給/usr/local/hadoop設(shè)置訪問權(quán)限宾巍。(-R為遞歸的給目錄權(quán)限,必須)
cd /usr/local
sudo mv hadoop-2.7.4 hadoop
sudo chmod 777 -R /usr/local/Hadoop
配置.bashsc文件
sudo vim ~/.bashrc
將以下內(nèi)容復(fù)制到該文件的末尾渔伯,包括了java的配置與Hadoop的配置信息顶霞。
export JAVA_HOME=/usr/java/jdk1.8.0_191
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH
#HADOOP VARIABLES START
export HADOOP_HOME=/usr/local/hadoop
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
export HADOOP_CONF_DIR=$HADOOP_HOME
export HADOOP_PREFIX=$HADOOP_HOME
export HADOOP_LIBEXEC_DIR=$HADOOP_HOME/libexec
export JAVA_LIBRARY_PATH=$HADOOP_HOME/lib/native:$JAVA_LIBRARY_PATH
export HADOOP_CONF_DIR=$HADOOP_PREFIX/etc/hadoop
#HADOOP VARIABLES END
之后我們需要調(diào)用source ~/.bashrc
。
并進行檢驗:
- 對Java進行檢驗
- 對Hadoop檢驗
這里經(jīng)常會有錯誤咱旱,只有出現(xiàn)了版本號才算真正的搞定确丢,如果這里不行绷耍,那么我們可以將下面的hadoop配置文件寫完后在嘗試一下。
Hadoop配置
- 配置hadoop-env.sh
sudo vim /usr/local/hadoop/etc/hadoop/hadoop-env.sh
末尾添加:
# The java implementation to use.
export JAVA_HOME=/usr/java/jdk1.8.0_191
export HADOOP=/usr/local/hadoop
export PATH=$PATH:/usr/local/hadoop/bin
export HADOOP_COMMON_HOME=/usr/local/hadoop
- 配置yarn-env.sh
sudo vim /usr/local/hadoop/etc/hadoop/yarn-env.sh
末尾添加:
JAVA_HOME=/usr/java/jdk1.8.0_191
- 配置core-site.xml
sudo vim /usr/local/hadoop/etc/hadoop/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:
sudo vim /usr/local/hadoop/etc/hadoop/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>
- 配置yarn-site.xml
sudo vim /usr/local/hadoop/etc/hadoop/yarn-site.xml
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>127.0.0.1:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>127.0.0.1:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>127.0.0.1:8031</value>
</property>
啟動
- 格式化namenode
hdfs namenode -format
有successfully formatted代表格式化成功鲜侥。Existing with 1代表有錯誤褂始。
- 啟動hdfs
start-all.sh
驗證:
有6個進程代表正確。
訪問:http://192.168.225.129:50070(這里的ip是你虛擬機的ip)
輸入 http://192.168.225.129:8088/描函, 出現(xiàn)如下頁面
至此Hadoop已經(jīng)完全搭建成功崎苗。
Word Count測試
a) 啟動HDFS
start-all.sh
b) 產(chǎn)看HDFS下面包含的文件目錄
hadoop dfs -ls /
第一次運行hdfs什么都沒有
c) 在HDFS中創(chuàng)建一個文件目錄input,將/usr/local/hadoop/README.txt上傳至input中舀寓,此時再用ls查看就發(fā)現(xiàn)多了個input目錄
hdfs dfs -mkdir /input
hadoop fs -put /usr/local/hadoop/README.txt /input
d) 執(zhí)行一下命令運行wordcount 并將結(jié)果輸出到output中胆数。
hadoop jar /usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.5.jar wordcount /input /output
之后查看:
hadoop fs -cat /output/part-r-00000
本文參考了https://blog.csdn.net/kh896424665/article/details/78765175。
原創(chuàng)文章互墓,轉(zhuǎn)載請編輯原處必尼。