Hadoop僞分佈式搭建
虛擬機準備階段操作
本文是基於CentOS 7 系統搭建
相關資源下載
鏈接:https://pan.baidu.com/s/1FW228OfyURxEgnXW0qqpmA 密碼:18uc
安全設置
防火牆相關指令
# 查看防火牆狀態
firewall-cmd --state
# 停止防火牆
[root@localhost ~]# systemctl stop firewalld.service
# 禁止防火牆開機自啓
[root@localhost ~]# systemctl disable firewalld.service
關閉關閉selinux
[root@localhost ~]# vi /etc/selinux/config
將 SELINUX=enforcing
改爲 SELINUX=disabled
IP設置
查看機器IP
[root@localhost ~]# ifconfig
修改主機名
[root@localhost ~]# vi /etc/hostname
修改IP及主機名映射
[root@localhost ~]# vi /etc/hosts
SSH免密登陸
[root@localhost ~]# ssh-keygen -t rsa # 生產密鑰
# 連續三次回車
# 將密鑰發送給需要登陸本機的機器,這裏只有一臺機器 所以發給自己
[root@localhost ~]# ssh-copy-id root@CentOS
# 測試ssh
[root@localhost ~]# ssh root@CentOS
Hadoop僞分佈式搭建
- 創建 install文件夾
[root@localhost ~]# mkdir /opt/install/
JDK配置
這裏選用JDK8
解壓
[root@localhost ~]# tar -zxvf jdk-8u144-linux-x64.tar.gz -C /opt/install/
配置環境變量
[root@localhost jdk1.8.0_144]# vi /etc/profile
# 加入配置 加入位置如下圖所示
export JAVA_HOME=/opt/install/jdk1.8.0_144
export PATH=$PATH:$JAVA_HOME/bin
# 保存後刷新環境變量
[root@localhost jdk1.8.0_144]# source /etc/profile
# 刷新完 執行命令驗證JDK是否安裝成功
[root@localhost jdk1.8.0_144]# java -version
成功界面
Hadoop配置
解壓文件
[root@localhost ~]# tar -zxvf hadoop-2.9.2.tar.gz -C /opt/install/
修改配置文件
[root@localhost ~]# cd /opt/install/hadoop-2.9.2/etc/hadoop
- hadoop-env.sh
export JAVA_HOME=/opt/install/jdk1.8.0_144
- core-site.xml
<!-- 用於設置namenode並且作爲Java程序的訪問入口 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://CentOS:8020</value>
</property>
<!-- 存儲NameNode持久化的數據,DataNode塊數據 -->
<!-- 手工創建$HADOOP_HOME/data/tmp -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/install/hadoop-2.9.2/data/tmp</value>
</property>
- hdfs-site.xml
<!-- 設置副本數量 默認是3 可自行根據需求更改 -->
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<!-- 權限,可省略 -->
<property>
<name>dfs.permissions.enabled</name>
<value>false</value>
</property>
<property>
<name>dfs.namenode.http.address</name>
<value>CentOS:50070</value>
</property>
- mapred-site.xml
首先拷貝一個mapred-site.xml
[root@localhost hadoop]# cp mapred-site.xml.template mapred-site.xml
<!-- yarn 與 MapReduce相關 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
- yarn-site.xml
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
- slaves
這裏配置DataNode的主機名
僞分佈式
情況下這裏NameNode
也充當DataNode
CentOS
配置Hadoop環境變量
[root@localhost hadoop-2.9.2]# vim /etc/profile
# 加入
export HADOOP_HOME=/opt/install/hadoop-2.9.2
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
# 刷新環境變量
[root@localhost hadoop-2.9.2]# source /etc/profile
驗證環境變量是否配置成功
[root@localhost hadoop-2.9.2]# hadoop version
格式化NameNode
目的作用:格式化hdfs系統,並且生成存儲數據塊的目錄
[root@localhost hadoop-2.9.2]# hadoop namenode -format
格式化成功後如圖顯示
Hadoop起停命令
start-all.sh
stop-all.sh
啓動成後 jps
查看進程
查看WebUI界面
http://CentOS:50070 訪問 hdfs
http://CentOS:8088 訪問 yarn