Hadoop 2.10.2 详细安装教程[debian 11]
环境说明:
操作系统环境为debian 11.hadoop版本:2.10.2。集群规划 4个节点,一个master,3个slave.对应的ip:hostname为
172.22.7.1 host1
172.22.7.2 host2
172.22.7.3 host3
172.22.7.4 host4
1. 环境准备
1.1 host配置和主机名
自行配置
1.1 配置hadoop用户
可以使用root,但是注意设置最大打开文件数。
新增用户组:
groupadd hadoop
新增名为hadoop的用户,并将其添加到hadoop组:
useradd –g hadoop Hadoop
修改用户hadoop的密码:
passwd hadoop
将 hadoop 增加为 sudo 用户:
visudo
找到 root ALL=(ALL)ALL,在之后新增一行:
hadoop ALL=(ALL) ALL
1.2 安装jdk
用的是1.8 自行安装.
1.3 SSH免密码登录
一般主节点到各个节点免密即可了。
生成密钥
ssh-keygen -t rsa
本机免密访问(有需要的话)
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chomd 0600 ~/.ssh/authorized_keys
把密钥复制到所有节点上:
ssh-copy-id –i ~/.ssh/id_rsa.pub hadoop@host1
ssh-copy-id –i ~/.ssh/id_rsa.pub hadoop@ host2
ssh-copy-id –i ~/.ssh/id_rsa.pub hadoop@ host3
验证
1.4 关闭防火墙
关闭四台服务器的防火墙和SELINUX
service iptables status
service iptables stop
chkconfig iptables off
1.5 关闭SElinux
关闭SELINUX后,需要重启服务器(debian11没有安装selinux,可以不用设置)
vim /etc/selinux/config
– 注释掉
#SELINUX=enforcing
#SELINUXTYPE=targeted
– 添加
SELINUX=disabled
2. 解压安装包(master节点)
tar -xzvf hadoop-2.10.2.tar.gz -C /usr/local/hadoop
3. 配置环境变量
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
source /etc/profile
4. 修改hadoop-env.sh
export JAVA_HOME=/usr/lib/jvm/jdk1.8
5. 修改配置文件
1.core-site.xml
通过fs.default.name指定NameNode的IP地址和端口号,
通过hadoop.tmp.dir指定hadoop数据存储的临时文件夹。
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://host1:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
</configuration>
特别注意:如没有配置hadoop.tmp.dir参数,此时系统默认的临时目录为:/tmp/hadoo-hadoop。而这个目录在每次重启后都会被删除,必须重新执行format才行,否则会出错。最好手动创建。
配置hdfs-site.xml
修改HDFS核心配置文件/usr/local/hadoop/etc/hadoop/hdfs-site.xml,
通过dfs.replication指定HDFS的备份因子为3,
通过dfs.name.dir指定namenode节点的文件存储目录,
通过dfs.data.dir指定datanode节点的文件存储目录。
最好手动在master节点创建文件目录。
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>/usr/local/hadoop/hdfs/namenode</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/usr/local/hadoop/hdfs/datanode</value>
</property>
</configuration>
配置mapred-site.xml
cp mapred-site.xml.template mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
配置yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>host1</value>
</property>
</configuration>
配置slaves文件(Master特有)
vi /usr/local/hadoop/etc/hadoop/slaves
host2
host3
host4
6. 配置slave
1.复制hadoop到数据节点
scp -r /usr/local/hadoop host2:/usr/local/
scp -r /usr/local/hadoop host3:/usr/local/
scp -r /usr/local/hadoop host4:/usr/local/
2.配置环境变量
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
source /etc/profile
3.删除slaves内容
rm -rf /usr/local/hadoop/etc/hadoop/slaves
7. 启动集群
1.格式化HDFS文件系统
bin/hdfs namenode -format
格式化namenode,第一次启动服务前执行的操作,以后不需要执行。
2.启动hadoop:
sbin/start-all.sh
或者
使用start-dfs.sh 启动NameNode和DataNode
使用start-yarn.sh 启动资源管理器和节点管理器
8. 简单使用
使用jps命令查看运行情况
#master 执行 jps查看运行情况
12067 NameNode
12347 SecondaryNameNode
12573 ResourceManager
#slave 执行 jps查看运行情况
17104 NodeManager
16873 DataNode
命令查看Hadoop集群的状态
我们可以通过hadoop dfsadmin -report进行查看。用该命令可以快速定位出哪些节点挂掉了,HDFS的容量以及使用了多少,以及每个节点的硬盘使用情况。
bin/hdfs dfsadmin -report
输出结果:
hadoop 重启
sbin/stop-all.sh
sbin/start-all.sh
Web查看集群情况
hadoop集群的状态
http://host1:50070/
yarn的工作状态 ResourceManager的web界面
http://host1:8088/cluster/nodes
如何重置hdfs
把namenode的目录和datanode的目录都删掉,然后重新走格式化就行了
更多推荐
所有评论(0)