Hadoop环境搭建
前言
1.大数据开发入门之hadoop单机版部署 这个我觉得比我写的调理要清楚,结合这篇文章,可以搭建单机版的。
2.Centos8安装 Hadoop3 详细操作(含图文)
3.Hadoop默认端口说明
关于用户和用户组
因为我使用的是虚拟机的方式安装的hadoop程序,所以一般都是直接以root方式登录了,但是在安装的时候,很多的文章就是建议创建一个单独的hadoop用户,使用这个用户进行安装和配置hadoop。
1 | ## 创建用户组 groupadd 选项 用户组 |
1.设置Hadoop的执行用户 可以在/etc/profile 配置文件中, 添加如下代码: export HADOOP_USER_NAME=hdfs
2.linux怎么创建新用户和设置密码
3.Linux 用户和用户组管理
1.关闭防火墙
1 | systemctl stop firewalld #临时关闭 |
1.Centos 6.5 关闭防火墙的步骤
2.安装JDK
主要步骤:为下载->解压->配置/etc/profile环境目录->source /etc/profile生效
1 | export JAVA_HOME=/usr/java/jdk1.8.0_201 |
3.ssh-keyen生成密钥
主要步骤:安装openssh-server->使用ssh-keygen生成密钥->将生成的id_rsa.pub中的内容添加到authorized_keys(三台内容一样,都包含其他两台的ip_rsa.pub内容)
1 | ## -C 备注,-t 类型 |
验证:ssh root@hadoop02,出现登录成功就可以了。
3.下载hadoop压缩包到服务器解压
下载相应版本的hadoop, 新建hadoop目录-> 解压hadoop压缩包-> 配置hadoop环境变量-> 验证安装
1 | ## 新建目录 |
4.新建相关数据目录
1 | #在/usr/local/hadoop目录下创建目录 |
5.配置hadoop
主要配置以下内容/etc/hosts内容,以及/usr/local/hadoop/hadoop-3.1.1/etc/hadoop目录下的workers、hadoop-env.sh、core-site.xml、hdfs-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml
1 | ## (1) 编辑/etc/hosts |
6.同步配置文件
根据自己的情况,将主节点上的配置文件,同步复制到相应的从节点上,比如我这里,就不用复制java环境,我的/etc/profile文件也是通过复制相关的hadoop配置实现的。然后在从节点上使用: source /etc/profile
重新加载配置文件
1 | scp -r /usr/local/java hadoop02:/usr/local/java |
7.格式化
在主节点上执行格式化,运行之后不报错,并在倒数第五六行有successfully即为格式化节点成功。
1 | hdfs namenode -format |
8.启动集群
使用下面的命令启动hadoop集群,或者是在hadoop安装目录sbin下执行。
1 | start-all.sh |
主节点:
从节点:
1.Hadoop2.x实战:Hadoop安装与配置
2.hadoop的安装与配置方法详解
3.Hadoop之——重新格式化HDFS的方案
4.hadoop格式化(hadoop format)的注意事项
5.hadoop集群搭建-hadoop3.1.1
6.Centos7上搭建Hadoop3.1.1集群
7.Hadoop setup 一些问题及解决
问题汇总
(1) http 9000端口无法使用
在浏览器中输入192.168.1.33:9000,发现打不开9000网页,而使用192.168.1.33:50070就可以打开dfshealth监控网站
使用命令:netstat -tpnl,可以查看9000端口是打开的。
(2) WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable
进入hadoop的sbin目录,启动start-dfs.sh
出现如下警告,或者是运行:hadoop fs -ls /,start-all.sh等命令,都会出现这个错误:WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable。
1 | ## 关闭hadoop集群 |
发现了如下错误:GLIBC_2.14’ not found (required by /usr/local/hadoop/hadoop-3.2.1/lib/native/libhadoop.so.1.0.0)
1.异常解决:util.NativeCodeLoader: Unable to load native-hadoop library for your platform
2.Hadoop出现错误:WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable,解决方案
3.Hadoop “Unable to load native-hadoop library for your platform” warning
4.Compile Apache Hadoop on Linux (fix warning: Unable to load native-hadoop library)
5.【解决办法】hadoop运行warn “util.NativeCodeLoader: Unable to load native-hadoop library for your platform”
更新
经过艰苦的探索,终于在centos6.5 64位虚拟机上编译成功了hadoop-3.2.1(Hadoop编译安装),然后:
Check hadoop-dist/target/hadoop-2.4.0.tar.gz (e.g., use this as your hadoop binary) or hadoop-dist/target/hadoop-2.4.0. If you have already installed a 32bit Hadoop, then you need only to replace the native libs in $HADOOP/lib/ with the new native libs (hadoop-dist/target/hadoop-2.4.0/lib) and remove (if applicable) from $HADOOP/etc/hadoop-env.sh:
1 | export HADOOP_COMMON_LIB_NATIVE_DIR="~/hadoop/lib/" |
将编译好的hadoop-dist/target/hadoop-3.2.1/lib中的lib替换掉安装的$HADOOP/lib/,删除/usr/local/hadoop/hadoop-3.1.1/etc/hadoop/hadoop-env.sh中的以上代码(如果有的话)。