1.安裝ssh免密登錄
命令:ssh-keygen
overwrite(覆蓋寫入)輸入y
一路回車
將生成的密鑰發送到本機地址
ssh-copy-id localhost
(若報錯命令無法找到則需要安裝openssh-clients)
yum –y install openssh-clients
測試免密設置是否成功
ssh localhost
2.卸載已有java
確定JDK版本
rpm –qa | grep jdk
rpm –qa | grep gcj
切換到root用戶,根據結果卸載java
yum -y remove java-1.8.0-openjdk-headless.x86_64
yum -y remove java-1.7.0-openjdk-headless.x86_64
卸載后輸入java –version查看
3.安裝java
切換回hadoop用戶,命令:su hadoop
查看下當前目標文件,命令:ls
新建一個app文件夾,命令:mkdir app
將桌面的hadoop文件夾中的java及hadoop安裝包移動到app文件夾中
命令:
mv /home/hadoop/Desktop/hadoop/jdk-8u141-linux-x64.gz /home/hadoop/app
mv /home/hadoop/Desktop/hadoop/hadoop-2.7.0.tar.gz /home/hadoop/app
解壓java程序包,命令:tar –zxvf jdk-7u79-linux-x64.tar.gz
創建軟連接
ln –s jdk1.8.0_141 jdk
配置jdk環境變量
切換到root用戶
再輸入vi /etc/profile
輸入
export JAVA_HOME=/home/hadoop/app/jdk1.8.0_141
export JAVA_JRE=JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_JRE/lib
export PATH=$PATH:$JAVA_HOME/bin
保存退出,並使/etc/profile文件生效
source /etc/profile
能查詢jdk版本號,說明jdk安裝成功
java -version
4.安裝hadoop
切換回hadoop用戶,解壓縮hadoop-2.6.0.tar.gz安裝包
創建軟連接,命令:ln -s hadoop-2.7.0 hadoop
驗證單機模式的Hadoop是否安裝成功,命令:
hadoop/bin/hadoop version
此時可以查看到Hadoop安裝版本為Hadoop2.7.0,說明單機版安裝成功。
查看Hadoop目錄結構
[atguigu@hadoop101 hadoop-2.7.2]$ ll
總用量 52
drwxr-xr-x. 2 atguigu atguigu 4096 5月 22 2017 bin
drwxr-xr-x. 3 atguigu atguigu 4096 5月 22 2017 etc
drwxr-xr-x. 2 atguigu atguigu 4096 5月 22 2017 include
drwxr-xr-x. 3 atguigu atguigu 4096 5月 22 2017 lib
drwxr-xr-x. 2 atguigu atguigu 4096 5月 22 2017 libexec
-rw-r--r--. 1 atguigu atguigu 15429 5月 22 2017 LICENSE.txt
-rw-r--r--. 1 atguigu atguigu 101 5月 22 2017 NOTICE.txt
-rw-r--r--. 1 atguigu atguigu 1366 5月 22 2017 README.txt
drwxr-xr-x. 2 atguigu atguigu 4096 5月 22 2017 sbin
drwxr-xr-x. 4 atguigu atguigu 4096 5月 22 2017 share
重要目錄
(1)bin目錄:存放對Hadoop相關服務(HDFS,YARN)進行操作的腳本
(2)etc目錄:Hadoop的配置文件目錄,存放Hadoop的配置文件
(3)lib目錄:存放Hadoop的本地庫(對數據進行壓縮解壓縮功能)
(4)sbin目錄:存放啟動或停止Hadoop相關服務的腳本
(5)share目錄:存放Hadoop的依賴jar包、文檔、和官方案例
5.配置偽分布式登錄
進入hadoop/etc/hadoop目錄,修改相關配置文件
cd etc/
cd hadoop/
修改core-site.xml配置文件
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>file:/data/tmp</value> </property> <property> <name>hadoop.proxyuser.hadoop.hosts</name> <value>*</value> </property> <property> <name>hadoop.proxyuser.hadoop.groups</name> <value>*</value> </property> </configuration>
修改hdfs-site.xml配置文件
<configuration> <property> <name>dfs.namenode.name.dir</name> <value>/data/dfs/name</value> <final>true</final> </property> <property> <name>dfs.datanode.data.dir</name> <value>/data/dfs/data</value> <final>true</final> </property> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.permissions</name> <value>false</value> </property> </configuration>
修改hadoop-env.sh配置文件
修改mapred-site.xml.template配置文件
<configuration> <property> <name>mapreduce.frameword.name</name> <value>yarn</value> </property> </configuration>
修改yarn-site.xml配置文件
<property> <name>yarn.nodemanager.aux-servies</name> <value>mapreduce_shuffle</value> </property> </configuration>
配置hadoop環境變量
使修改生效,命令:sourec ~/.bashrc
創建hadoop相關數據目錄
在hadoop相關配置文件中配置了多個數據目錄,提前建立這些文件夾
格式化namenode
在啟動hadoop集群前需要格式化namenode。需要注意的是,第一次安裝Hadoop集群的時候需要格式化Namenode,以后直接啟動Hadoop集群即可,不需要重復格式化Namenode。
切回到hadoop目錄,輸入如下命令:
bin/hdfs namenode -format
啟動hadoop偽分布式集群
sbin/start-all.sh
啟動完畢輸入jps查看
出現上面所有進程表示啟動成功
通過網頁訪問
localhost:50070
6.測試運行hadoop偽分布式集群
hadoop偽分布式集群搭建完成,通過命令查看hdfs根目錄下沒有任何文件
bin/hdfs dfs –ls /
將之前本地新建的test.txt文件上傳至hdfs
bin/hdfs dfs –mkdir /data (在集群上新建一個數據文件夾)
bin/hdfs dfs –put test.txt /data(將本地的test文件上傳到集群中的data文件夾)
運行wordcount程序計數
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.0.jar wordcount /data/test.txt /data/output
查看運行結果
bin/hdfs dfs –cat /data/output/*