网络和主机名配置
IP,HostName,/etc/hosts ip hostname
- 网络配置和hostname的配置(使用nmtui 命令)
# 配置完成后需要重启网卡
systemctl restart network
- ip 与 hostname的映射配置 (vim /etc/hosts)
192.168.232.101 master
192.168.232.102 slave1
192.168.232.103 slave2
192.168.232.104 slave3
192.168.232.105 slave4
建立主机互信(互相免密访问)
以下操作需在每台主机上执行
ssh-keygen -t rsa
- 将公钥交给可以免密访问本机的主机 (给访问者授权,注意:本机也要授权给自己,否则启动hadoop时自我访问会失败)
hosts="master slave1 slave2 slave3 slave4"
for host in $hosts
do
ssh-copy-id $host
done
配置jdk环境变量
echo '
export JAVA_HOME=/usr/local/jdk1.8.0_131
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin' >> /etc/profile
source /etc/profile
检查配置是否成功:java -version
安装hadoop
echo 'export PATH=$PATH:/usr/local/hadoop-2.7.3/bin:/usr/local/hadoop-2.7.3/sbin' >> /etc/profile
source /etc/profile
输入命令:hadoop
验证环境变量是否配置成功
- 配置hadoop的java运行环境(必须配置,否则hadoop找不到JAVA_HOME的环境变量)
vim /usr/local/hadoop-2.7.3/etc/hadoop/hadoop-env.sh
export JAVA_HOME=/usr/local/jdk1.8.0_131
配置HDFS
mkdir /home/hadoopData
- 修改core-site.xml,在configuration标签内加入以下配置
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoopData</value>
</property>
<property>
<name>fs.trash.interval</name>
<value>4320</value>
</property>
</configuration>
- 修改hdfs-site.xml,在configuration标签内加入以下配置
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>/home/hadoopData/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/home/hadoopData/dfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
<property>
<name>dfs.permissions.superusergroup</name>
<value>staff</value>
</property>
<property>
<name>dfs.permissions.enabled</name>
<value>false</value>
</property>
</configuration>
配置NameNode节点
- 将master配置为NameNode,其他主机配置为DataNode
slave1、slave2、slave3、slave4都是DataNode的节点我把它们加入到我的NanmeNode节点中这样我就可以一个命令启动整个集群。
在master主机的Hadoop目录下修改slaves文件,加入DataNode的节点
echo 'slave1
slave2
slave3
slave4' >> /usr/local/hadoop-2.7.3/etc/hadoop/slaves
格式化NameNode、启动HDFS系统
#在master主机上 执行HDFS格式化命令
hdfs namenode -format
#启动HDFS系统命令
start-dfs.sh
关闭防火墙
systemctl stop firewalld
systemctl status firewalld
systemctl disable firewalld
systemctl enable firewalld
systemctl start firewalld
systemctl restart firewalld
http://192.168.232.101:50070/
参考:HDFS系统的搭建(整理详细版) - 简书 (jianshu.com)
|