一:免密操作
1.生成rsa公鑰
過程中輸入回車即可,執行命令:
master@node:~$ ssh-keygen -t rsa
• rsa:公鑰加密算法
• ssh-keygen:生成、管理和轉換認證密鑰
• -t:指定密鑰類型
結果如下:
2.爲主機(localhost)設置公鑰
使用ssh-copy-id命令爲本機設置公鑰,執行命令:
master@node:~$ ssh-copy-id localhost
• 備註localhost密碼爲123456
• ssh-copy-id:可以把本地的ssh公鑰文件安裝到遠程主機對應的賬戶下
結果如下
3.驗證ssh免密
使用本機登陸方法驗證SSH免密是否成功,執行命令:
master@node:~$ ssh localhost
結果如下:
二:JDK的安裝和配置
1.拷貝JDK包到/usr/local目錄下
打開終端,使用cp命令將/opt/Packages/hadoop/01/pack/jdk-8u151-linux-x64.tar.gz拷貝到/usr/local/目錄下,使用cd /usr/local進入/usr/local/目錄,執行ll命令查看是否上傳成功
執行指令:
master@node:~$ sudo cp /opt/Packages/hadoop/01/pack/jdk-8u151-linux-x64.tar.gz /usr/local/
master@node:/usr/local$ ll
結果如下:
2.解壓JDK安裝包
創建/usr/java目錄並對/usr/local下的jdk壓縮文件進行安裝(解壓到/usr/java目錄下)。
執行命令:
master@node:/usr/local$ sudo mkdir /usr/java
master@node:/usr/local$ sudo tar -zvxf jdk-8u151-linux-x64.tar.gz -C /usr/java/
• 備註:關於tar命令詳解參見 https://www.cnblogs.com/xiaochina/p/5801959.html
結果如下:
3.配置JDK的環境變量。
使用vi命令打開.bashrc環境變量配置文件並將jdk安裝目錄寫入到環境變量,執行命令:
master@node:/usr/local$ sudo vim ~/.bashrc
• ~:在linux中是一個代位符,表明的是當前用戶目錄的地址
• .bashrc文件:主要保存個人的一些個性化設置,如命令別名、路徑等
• vi編輯器的詳細使用參見 http://blog.csdn.net/liuligui5200/article/details/52524462
在最後一行添加如下內容:
export JAVA_HOME=/usr/java/jdk1.8.0_151
export PATH=$PATH:$JAVA_HOME/bin
結果如下:
4.查看JDK版本
編輯完成後使用source命令進行配置文件刷新,讓配置文件中的信息生效,驗證JDK是否安裝成功。
執行命令:
master@node:/usr/local$ source ~/.bashrc
master@node:/usr/local$ java -version
結果如下:
實驗四:Hadoop安裝和配置
1.拷貝Hadoop安裝包
打開終端,使用CP命令將/opt/Packages/hadoop/01/pack/hadoop-2.7.2.tar.gz拷貝到/usr/local/目錄下。進入/usr/local/目錄下,執行ll命令查看是否上傳成功
執行命令:
master@node:/usr/local$ sudo cp /opt/Packages/hadoop/01/pack/hadoop-2.7.2.tar.gz /usr/local/
master@node:/usr/local$ ll
結果如下:
2.解壓Hadoop安裝包
使用tar命令解壓Hadoop安裝包,執行命令:
master@node:/usr/local$ sudo tar -zxvf hadoop-2.7.2.tar.gz
結果如下:
3.重命名安裝目錄
使用命令sudo mv hadoop-2.7.2 hadoop將解壓後的Hadoop-2.7.2目錄名修改爲hadoop,執行命令:
master@node:/usr/local$ sudo mv hadoop-2.7.2 hadoop
結果如下:
4.賦予Hadoop目錄最高權限
使用chmod命令賦予hadoop最高權限,執行命令:
master@node:/usr/local$ sudo chmod 777 hadoop
結果如下:
5.查看hadoop目錄結構
進入Hadoop文件配置目錄,通過ll命令可以查看該目錄中的內容,執行命令:
master@node:/usr/local$ cd /usr/local/hadoop/etc/hadoop/
master@node:/usr/local/hadoop/etc/hadoop$ ll
結果如下:
6.修改Hadoop-env.sh配置文件
進入/usr/local/hadoop/etc/hadoop/目錄,執行sudo vi hadoop-env.sh對hadoop-env.sh修改:執行指令:
master@node:/usr/local/hadoop/etc/hadoop$ sudo vi hadoop-env.sh
並設置JAVA_HOME環境變量爲 /usr/java/jdk1.8.0_151
結果如下:
7.修改core-site.xml配置文件
進入/usr/local/hadoop/etc/hadoop/目錄,執行sudo vi core-site.xml對core-site.xml修改,修改內容如下:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://node:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/tmp</value>
</property>
</configuration>
解釋如下:
• fs.defaultFS:Name的 URI
• hadoop.tmp.dir:文件系統依賴的基本配置存儲路徑
• node:爲主機名實際操作根據電腦配置做相應更改
結果如下:
8.修改配置文件hdfs-site.xml
進入/usr/local/hadoop/etc/hadoop/目錄,執行sudo vi hdfs-site.xml對hdfs-site.xml修改,修改內容如下:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/usr/local/hadoop/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/usr/local/hadoop/dfs/data</value>
</property>
</configuration>
解釋如下:
• dfs.replication:hdfs的副本數
• dfs.namenode.name.dir:元數據保存路徑
• dfs.datanode.data.dir:數據保存路徑
結果如下:
9.修改mapred-site.xml配置文件
進入/usr/local/hadoop/etc/hadoop/目錄,執行sudo cp mapred-site.xml.template mapred-site.xml命令生成mapred-site.xml文件並執行sudo vi mapred-site.xml命令對mapred-site.xml文件修改:
修改內容如下:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
解釋如下:
mapreduce.framework.name:運行mapreduce程序
結果如下:
10.修改yarn-site.xml配置文件
進入/usr/local/hadoop/etc/hadoop/目錄,執行sudo vi yarn-site.xml修改yarn-site.xml文件,修改內容如下:
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>node</value>
</property>
</configuration>
解釋如下:
• yarn.nodemanager.aux-services:運行的附屬服務,配置成mapreduce_shuffle,纔可運行MapReduce程序
• yarn.resourcemanager.hostname:運行ResourceManager機器所在的節點位置
• node:爲主機名實際操作根據電腦配置做相應更改
結果如下:
11.修改./bashrc環境變量
執行sudo vi ~/.bashrc命令修改環境變量文件:
在最後一行追加內容如下:
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
結果如下:
12.使環境變量生效
環境配置完成之後執行source ~/.bashrc讓配置文件生效,並通過驗證Hadoop版本來驗證Hadoop是否置成功。
執行命令:
master@node:/usr/local/hadoop/etc/hadoop$ source ~/.bashrc
master@node:/usr/local/hadoop/etc/hadoop$ hadoop version
運行結果如下:
實驗五:啓動Hadoop
1.格式化NameNode
格式化NameNode。在任意目錄下執行命令hdfs namenode -format 或者hadoop namenode -format,實現格式化。
運行結果如下:
2.啓動HDFS系統
啓動Hadoop進程,首先執行命令start-dfs.sh,啓動HDFS系統。
運行結果如下:
3.啓動yarn系統
啓動Hadoop進程,然後執行命令start-yarn.sh,啓動YARN系統。
運行結果如下:
4.查看hadoop進程
啓動之後,在任意目錄下執行jps命令驗證進程是否啓動。
運行結果如下:
5.測試HDFS
測試HDFS,在瀏覽器中輸入http://node:50070進入HDFS管理界面。
運行結果如下:
6、測試YARN,在瀏覽器中輸入http://node:8088 進入MR管理界面。
運行結果如下: