赞
踩
上一篇我们已经介绍了搭建Hadoop集群所需准备的服务器环境,本篇开始介绍搭建Hadoop集群。
1、下载Hadoop
目前最新版本是3.3.6
下载地址:https://hadoop.apache.org/releases.html
下载速度比较慢,建议提前准备或者晚上等待下载,后续我会将安装包放到网盘再释放出来,有需要的伙伴可以私信我获取。
2、配置Hadoop
将下载好的安装包上传到/export/server目录
tar -zxvf hadoop-3.3.6.tar.gz
ln -s hadoop-3.3.6 hadoop
解压好后,进行hadoop的配置
主要配置4个文件
cd /export/server/hadoop/etc/hadoop
vi workers
node1
node2
node3
vi hadoop-env.sh
export JAVA_HOME=/export/server/jdk
export HADOOP_HOME=/export/server/hadoop
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export HADOOP_LOG_PATH=$HADOOP_HOME/logs
vi core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://node1:8020</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
</configuration>
-配置hdfs-site.xml
vi hdfs-site.xml
<configuration>
<property>
<name>dfs.datanode.data.dir.perm</name>
<value>700</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/data/nn</value>
</property>
<property>
<name>dfs.namenode.hosts</name>
<value>nodel,node2,node3</value>
</property>
<property>
<name>dfs.blocksize</name>
<value>268435456</value>
</property>
<property>
<name>dfs.namenode.handler.count</name>
<value>100</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/data/dn</value>
</property>
</configuration>
-创建目录
mkdir -p /data/dn
mkdir -p /data/nn
在node2和node3服务器中
mkdir -p /data/dn
scp -r /export/server/hadoop-3.3.6 node2:/export/server
scp -r /export/server/hadoop-3.3.6 node3:/export/server
分别创建软链接
ls -s /export/server/hadoop-3.3.6 /export/server/hadoop
vi /etc/profile
export HADOOP_HOME=/export/server/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source /etc/profile
三台服务器均进行这样的配置
chown -R hadoop:hadoop /export
chown -R hadoop:hadoop /data
3、启动hadoop服务
切换到Hadoop用户,并进行初始化。
su - hadoop
hadoop namenode -format
启动hadoop服务
start-dfs.sh
stop-dfs.sh
通过jps查看各服务器的服务状态
在浏览器中输入node1:9870查看管理
也可以通过以下命令查看
hadoop dfsadmin -report
在启动集群后,但查看集群状态时,Live DataNode却只能看到一个,在网上查阅了很多资料,包括修改datanode数据目录(本方案中是/data/dn/current/VERSION)文件中storageID,datanodeUuid等,如果3台服务器都一样,则说明是只显示一个节点。
但我的问题不一样,通过jps查看三台服务器的服务状态都是正常启动。
经过排查,发现因为我是用的云服务器,而我在创建云服务器时没有将三台服务器放在一个安全组下面,我估计导致三台服务器服务端口之间不能互相访问所致。
解决办法:将三台服务器放在一个安全组下面,问题解决!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。