一: Hadoop前置工作
- 设置主机名,添加配置文件中的信息
vi /etc/sysconfig/network
NETWORKING=YES
HOSTNAME=node1
- 映射主机名称
vi /etc/hosts
192.168.191.131 node1
- 关闭防火墙和开启自启动
sevice iptables stop
chkconfig iptables off
vi /etc/selinux/config
SELINUX=disabled
- 服务器时间同步
yum install ntp -y
vi /etc/ntp.conf
#文件中添加
server ntp1.aliyun.com
#启动
service ntpd start
#开机自启动
chkconfig ntpd on
- 设置各个服务器间免密登陆
#验证本机否开启免密
ssh localhost
#生成秘钥对
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
#本服务器免加密,如果需要其他机器免加密,就需要吧公钥发给其他机器目录下
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
二: Hadoop配置
- Hadoop包部署,创建文件存放目录,解压hadoop文件到该目录(下载包地址:https://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-3.3.6/hadoop-3.3.6-src.tar.gz)
mkdir /opt/bigdata
tar -xf hadoop-3.3.6-src.tar.gz
- 配置hadoop可执行文件全局执行
vi /etc/profile
export HADOOP_HOME=/opt/bigdata/hadoop-3.3.6
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
- 配置hadoop的角色/环境配置
cd $HADOOP/etc/hadoop/
#给hadoo配置java环境
vi hadoop-env.sh
export JAVA_HOME=/usr/java/jdk-11.0.18
vi core-site.xml
#给NN角色在哪里启动
<property>
<name>fs.defaultFS</name>
<value>hdfs://node1:9000</value>
</property>
#hdfs 副本/块的副本
vi hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
#修改namenode元数据存放地址
<property>
<name>dfs.namenode.name.dir</name>
<value>/var/bigdata/local/dfs/name</value>
</property>
#修改datanode block块存放地址
<property>
<name>dfs.datanode.data.dir</name>
<value>/var/bigdata/local/dfs/data</value>
</property>
#修改datanode 启动的http-address
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>node1:50090</value>
</property>
#修改namesecondary 目录位置
<property>
<name>dfs.namenode.checkpoint.dir</name>
<value>/var/bigdata/local/dfs/namesecondary</value>
</property>
</configuration>
#在某台机器启动datanode
vi workers
node1
- 初始化&启动hadoop
# 格式化 创建一个目录,创建了fsimages空文件
hdfs namenode -format
#启动
start-dfs.sh
注意:如果以下报错,需要在/etc/profile中添加
#启动报错信息
ERROR: Attempting to operate on hdfs namenode as root
ERROR: but there is no HDFS_NAMENODE_USER defined. Aborting operation.
#需要在profile中添加
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root
-
访问hadoop前端页面 http://192.168.191.131:(50070)9870/ 你是Hadoop3.x以上的版本,需要将端口号50070改成9870.
-
在Hadoop的hdfs中创建一个目录,在前端http://node1:9870/explorer.html#/中可以看到文件目录(namenode)
hdfs dfs -mkdir /bigdata
- 上传数据到Hadoop中(namenode)
hdfs dfs -put file.log /user/root
- Hadoop的dataNode的数据存放路径
/var/bigdata/local/dfs/data/current/BP-2129942362-127.0.0.1-1709004244410/current/finalized/subdir0/subdir0
网友评论