目录
本文着重介绍在OpenEuler上搭建Hadoop singleNode 模式,后续还会搭建zookeeper集群。
提示:以下是本篇文章正文内容,下面案例可供参考
Vmware 17 Pro
iso:openEuler
yum -y update
yum -y install gcc gcc-c++ autoconf automake cmake make rsync openssh-server vim man zip unzip net-tools zlib zlib-devel openssl openssl-devel pcre-devel tcpdump lrzsz tar
#修改主机名为hadoop
hostnamectl set-hostname hadoop
#或者
vim /etc/hostname
#向hostname中插入
hadoop
bash
vim /etc/sysconfig/network-scripts/ifcfg-ens160
#网卡配置文件示例
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
NAME=ens160
UUID=943779e9-249c-44bb-b272-d49ea5831ed4
DEVICE=ens160
ONBOOT=yes
#注意从winodws的cmd命令中查看ipconfig。查找VMnet8的IPv4地址,根据其修改
IPADDR=192.168.177.10
PREFIX=24
#和上述IP地址相对应
GATEWAY=192.168.177.2
DNS1=192.168.177.2
nmcli con up ens160
systemctl stop firewalld
systemctl disable firewalld
vim /etc/selinux/config
#文中SELINUX=enforcing,SELINUXTYPE=targeted改为注释
#SELINUX=enforcing
#SELINUXTYPE=targeted
#在末尾处加入
SELINUX=disabled
setenforce 0
#建立同一文件夹,便于查找管理
mkdir -p /opt/soft
#进入目录
cd /opt/soft
#将jdk和hadoop上传至此,进行解压改名操作
tar -zxvf jdk-8u361-linux-x64.tar.gz
mv jdk1.8.0_361 jdk8
tar -zxvf hadoop-3.3.5.tar.gz
mv hadoop-3.3.5 hadoop3
#修改相关的配置文件
vim /etc/profile
#修改内容如下
export JAVA_HOME=/opt/soft/jdk8
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
export HADOOP_HOME=/opt/soft/hadoop3
export HADOOP_INSTALL=${HADOOP_HOME}
export HADOOP_MAPRED_HOME=${HADOOP_HOME}
export HADOOP_COMMON_HOME=${HADOOP_HOME}
export HADOOP_HDFS_HOME=${HADOOP_HOME}
export YARN_HOME=${HADOOP_HOME}
export PATH=${PATH}:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin
export HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop
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
编辑完成后使用source命令使文件/etc/profile生效执行以下命令
source /etc/profile
#检查环境变量(可以查看是否能够成功设别)
printenv
vim /etc/hosts
192.168.177.10 hadoop
#进入相关配置文件的位置
cd /opt/soft/hadoop3/etc/hadoop
vim hadoop-env.sh
#在文件末尾处追加
export JAVA_HOME=/opt/soft/jdk8
#开启相关服务的角色权限
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_ZKFC_USER=root
export HDFS_JOURNALNODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root
vim hadoop-env.sh
#修改内容如下
<configuration>
<property>
<-- hadoop的端口为9000 -->
<name>fs.defaultFS</name>
<value>hdfs://hadoop:9000</value>
</property>
<property>
<-- hadoop的文件存储位置 -->
<name>hadoop.tmp.dir</name>
<value>/home/hadoop_data</value>
</property>
<property>
<-- hadoop的权限与 第一个配置文件中的信息相匹配 -->
<name>hadoop.http.staticuser.user</name>
<value>root</value>
</property>
</configuration>
vim hdfs-site.xml
#修改内容
<configuration>
<property>
<-- HDFS的响应数量 -->
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
vim workers
#修改内容为自己的 IP地址防止域名识别失败
192.168.177.10
vim mapred-site.xml
<configuration>
<property>
<-- 声明mapreduce为yarn -->
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<-- mapreduce的位置 -->
<name>mapreduce.application.classpath</name> <value>$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*:$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*</value>
</property>
</configuration>
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<-- nodemanager的位置 -->
<name>yarn.nodemanager.env-whitelist</name>
<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_HOME,PATH,LANG,TZ,HADOOP_MAPRED_HOME</value>
</property>
</configuration>
#创建本地秘钥并将公共秘钥写入认证文件
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
#进行远程登录自己进行验证
ssh hadoop
#登录成功后exit 或者logout返回
exit
# 创建数据目录
mkdir -p /home/hadoop_data
# 格式化文件系统
hdfs namenode -format
# 启动 NameNode SecondaryNameNode DataNode
start-dfs.sh
# 查看启动进程
jps
# 看到 DataNode SecondaryNameNode NameNode 三个进程代表启动成功
# 启动 ResourceManager daemon 和 NodeManager
start-yarn.sh
# 看到 DataNode NodeManager SecondaryNameNode NameNode ResourceManager 五个进程代表启动成功
# 关机之前 依关闭服务
stop-yarn.sh
stop-dfs.sh
# 开机后 依次开启服务
start-dfs.sh
start-yarn.sh
# 关机之前关闭服务
stop-all.sh
# 开机后开启服务
start-all.sh
#jps 检查进程正常后开启胡哦关闭在再做其它操作
hadoop singlenode比较简单,但是还是比较容易出错误。要细心