hadoop单机安装,小白上手最详细教程-Ali0th
Author : Ali0th
Date : 2019-4-6
前言
最近上手大数据,入门一下hadoop,单机部署撸了几天,终于部署起来了,遇到了不少坑。这篇文章把我整个过程码下来了,包括了各个步骤和报错处理。
环境
CentOS release 6.4
openjdk version "1.8.0_201"
复制代码
系统服务
关闭 iptables
# 关闭防火墙:
service iptables stop
# 从开机启动项中移除防火墙
chkconfig iptables off
复制代码
关闭selinux服务(重启生效)
vim /etc/selinux/config
SELINUX=disabled
复制代码
hostname 配置
vim /etc/sysconfig/network
复制代码
这里默认为 localhost.localdomain
ssh 免密登录
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
chmod 0600 ~/.ssh/authorized_keys
复制代码
测试是否成功,执行下面命令,若不用输入密码则成功。
ssh localhost
复制代码
java 安装
使用 yum 安装
# 查看yum包含的jdk版本
yum search java
# 安装jdk
yum install java-1.8.0-openjdk-devel.x86_64 : OpenJDK Development Environment
复制代码
查看环境变量
export
复制代码
vi /etc/profile
复制代码
查看 jvm 目录
ll /usr/lib/jvm/
复制代码
输出如下,其中java-1.8.0-openjdk-1.8.0.201.b09-2.el6_10.x86_64
为JAVA_HOME
目录。
[root@localhost java-1.8.0-openjdk-1.8.0.201.b09-2.el6_10.x86_64]# ll /usr/lib/jvm/
total 4
lrwxrwxrwx. 1 root root 26 Apr 3 15:47 java -> /etc/alternatives/java_sdk
lrwxrwxrwx. 1 root root 32 Apr 3 15:47 java-1.8.0 -> /etc/alternatives/java_sdk_1.8.0
drwxr-xr-x. 7 root root 4096 Apr 3 15:47 java-1.8.0-openjdk-1.8.0.201.b09-2.el6_10.x86_64
lrwxrwxrwx. 1 root root 48 Apr 3 15:47 java-1.8.0-openjdk.x86_64 -> java-1.8.0-openjdk-1.8.0.201.b09-2.el6_10.x86_64
lrwxrwxrwx. 1 root root 34 Apr 3 15:47 java-openjdk -> /etc/alternatives/java_sdk_openjdk
lrwxrwxrwx. 1 root root 21 Apr 3 15:47 jre -> /etc/alternatives/jre
lrwxrwxrwx. 1 root root 27 Apr 3 15:47 jre-1.8.0 -> /etc/alternatives/jre_1.8.0
lrwxrwxrwx. 1 root root 52 Apr 3 15:47 jre-1.8.0-openjdk-1.8.0.201.b09-2.el6_10.x86_64 -> java-1.8.0-openjdk-1.8.0.201.b09-2.el6_10.x86_64/jre
lrwxrwxrwx. 1 root root 52 Apr 3 15:47 jre-1.8.0-openjdk.x86_64 -> java-1.8.0-openjdk-1.8.0.201.b09-2.el6_10.x86_64/jre
lrwxrwxrwx. 1 root root 29 Apr 3 15:47 jre-openjdk -> /etc/alternatives/jre_openjdk
复制代码
配置全局变量:
vim /etc/profile
复制代码
添加环境配置如下:
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.201.b09-2.el6_10.x86_64
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
复制代码
全局变量立即生效
source /etc/profile
复制代码
hadoop 下载与相关环境配置
创建账户
groupadd hadoop
useradd hadoop -g hadoop
ll -d /home/hadoop
grep hadoop /etc/passwd /etc/shadow /etc/group
passwd hadoop # hadoop123
复制代码
以 root 執行 visudo, 將 hadoop 加入 sudoers,在 root ALL=(ALL) ALL
下加入。
hadoop ALL=(ALL) ALL
复制代码
下载 hadoop
并解压。
wget http://apache.claz.org/hadoop/common/hadoop-3.1.2/hadoop-3.1.2.tar.gz
tar -xzf hadoop-3.1.2.tar.gz
sudo mv hadoop-3.1.2 /usr/local/hadoop
复制代码
添加启动项。
vim /etc/profileexport HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbinsource /etc/profile
复制代码
创建数据存储目录:
- NameNode 数据存放目录: /usr/local/data/hadoop/name
- SecondaryNameNode 数据存放目录: /usr/local/data/hadoop/secondary
- DataNode 数据存放目录: /usr/local/data/hadoop/data
- 临时数据存放目录: /usr/local/data/hadoop/tmp
mkdir -p /usr/local/data/hadoop/name
mkdir -p /usr/local/data/hadoop/secondary
mkdir -p /usr/local/data/hadoop/data
mkdir -p /usr/local/data/hadoop/tmp
复制代码
hadoop 配置与启动
配置 hadoop-env.sh、hdfs-site.xml、core-site.xml、mappred-site.xml、yarn-site.xml
进入配置目录:
cd /usr/local/hadoop/etc/hadoop/
复制代码
hadoop-env.sh
添加JAVA_HOME
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.201.b09-2.el6_10.x86_64
复制代码
core-site.xml
<configuration><property><name>fs.defaultFS</name><value>hdfs://localhost.localdomain:9000</value><description>hdfs内部通讯访问地址</description></property><property><name>hadoop.tmp.dir</name><value>/usr/local/hadoop/data/</value><description>hadoop数据存放</description></property>
</configuration>
复制代码
hdfs-site.xml
<!--
# replication 副本数量
# 因为是伪分布式 设置为1
# 新版本的 hadoop 块默认大小为128mb
--><configuration><property><name>dfs.replication</name><value>1</value>
</property></configuration>
复制代码
mapred-site.xml
# yran 集群
mv mapred-site.xml.template mapred-site.xml
复制代码
<configuration><property><name>mapreduce.framework.name</name><value>yarn</value>
</property></configuration>
复制代码
yarn-site.xml
arn.resourcemanager.hostname yarn集群的老大
<configuration><property><name>yarn.resourcemanager.hostname</name><value>localhost.localdomain</value>
</property><property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value>
</property> </configuration>
复制代码
dfs 启动
格式化hadoop文件系统
cd /usr/local/hadoop
./bin/hdfs namenode -format
复制代码
启动 dfs
./sbin/start-dfs.sh
复制代码
使用 jps 查看服务是否已经启动
[hadoop@localhost hadoop]$ jps
6466 NameNode
6932 Jps
6790 SecondaryNameNode
6584 DataNode
复制代码
全部启动
./sbin/start-all.sh
复制代码
结果截图如下:
报错
问题:
localhost: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
解决:
如果无法使用ssh无密码连接其他节点的主机,那么在启动hadoop的时候会出现的输入其他主机的密码,即使正确输入也无法认证
问题:
localhost: ERROR: Unable to write in /usr/local/hadoop/logs. Aborting.
解决:
sudo chmod 777 -R /usr/local/hadoop/
复制代码
问题:
localhost: /usr/local/hadoop/bin/../libexec/hadoop-functions.sh: line 1842: /tmp/hadoop-hadoop-namenode.pid: Permission denied localhost: ERROR: Cannot write namenode pid /tmp/hadoop-hadoop-namenode.pid.
解决:
修改 hadoop-env.sh
export HADOOP_PID_DIR=/usr/local/hadoop/tmp/pid
复制代码
问题:
[hadoop@localhost hadoop]$ ./sbin/start-dfs.sh Starting namenodes on [localhost] Starting datanodes Starting secondary namenodes [localhost] 2019-04-06 07:26:22,110 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
解决:
stackoverflow.com/questions/1…
cd /usr/local/hadoop/lib
ldd libhadoop.so.1.0.0./libhadoop.so.1.0.0: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by ./libhadoop.so.1.0.0)linux-vdso.so.1 => (0x00007fff901ff000)libdl.so.2 => /lib64/libdl.so.2 (0x00007f8ceda5d000)libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f8ced83f000)libc.so.6 => /lib64/libc.so.6 (0x00007f8ced4ac000)/lib64/ld-linux-x86-64.so.2 (0x00000031c1e00000)
复制代码
# download
wget http://ftp.gnu.org/gnu/glibc/glibc-2.14.tar.bz2
wget http://ftp.gnu.org/gnu/glibc/glibc-linuxthreads-2.5.tar.bz2# 解压
tar -xjvf glibc-2.14.tar.bz2
cd glibc-2.14
tar -xjvf ../glibc-linuxthreads-2.5.tar.bz2
# 加上优化开关,否则会出现错误'#error "glibc cannot be compiled without optimization"'
cd ../
export CFLAGS="-g -O2"glibc-2.14/configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin --disable-sanity-checksmake
sudo make install
复制代码
问题:
2019-04-06 13:08:58,376 INFO util.ExitUtil: Exiting with status 1: java.io.IOException: Cannot remove current directory: /usr/local/data/hadoop/tmp/dfs/name/current
解决:
权限问题
sudo chown -R hadoop:hadoop /usr/local/data/hadoop/tmp
sudo chmod -R a+w /usr/local/data/hadoop/tmp
复制代码
资料
juejin.im/entry/5a0a8…
blog.51cto.com/xpleaf/2082…
Ubuntu下搭建hadoop出现Permission denied (publickey,password)的问题
hadoop单机安装,小白上手最详细教程-Ali0th相关推荐
- 大数据-安装 Hadoop3.1.3 详细教程-单机/伪分布式配置(Centos)
Centos 7 安装 Hadoop3.1.3 详细教程 前言 00 需准备 01 需掌握 一.准备工作 00 环境 01 创建 hadoop 用户 02 修改 hadoop 用户权限 03 切换为 ...
- Hadoop 2.0集群配置详细教程
Hadoop 2.0集群配置详细教程 前言 Hadoop2.0介绍 Hadoop是 apache 的开源 项目,开发的主要目的是为了构建可靠,可拓展 scalable ,分布式的系 统, hadoop ...
- JetBrains DataGrip安装和使用的详细教程
前言 日常开发中少不了各种可视化数据库管理工具.如果需要同时能连接多种数据库,大家肯定都会想到 DBeaver.Navicat Premium.本文介绍另一个十分好用且强大的工具:DataGrip. ...
- mac homebrew 卸载php,Mac_苹果mac电脑中brew的安装使用及卸载详细教程,brew 又叫Homebrew,是Mac OSX上的 - phpStudy...
苹果mac电脑中brew的安装使用及卸载详细教程 brew 又叫Homebrew,是Mac OSX上的软件包管理工具,能在Mac中方便的安装软件或者卸载软件, 只需要一个命令, 非常方便 brew类似 ...
- mysql.msi卸载_MySql安装与卸载的详细教程
本文为大家分享了MySql安装与卸载的教程,供大家参考,具体内容如下 一.MYSQL的安装 1.打开下载的mysql安装文件,双击运行mysql-5.5.40-win32.msi. 2.选择安装类型, ...
- mysql安装 linux 5.6,Linux安装MySql5.6版详细教程
Linux安装MySql5.6版详细教程 Szx • 2019 年 02 月 26 日 首先下载mysql,然后上传到 /usr/local/tmp/下(如果没有这个目录创建一个即可或者存放其他目录) ...
- centos llvm安装_在CentOS上编译安装llvm-3.8.1详细教程
在CentOS上编译安装llvm-3.8.1详细教程 2020/1/11 18:12 1682次 注:CentOS版本是6.8,6.x版本的操作类似 安装需求: [list] [*]Cmake: 3 ...
- post修改服务器数据源,postgresql安装及配置超详细教程
1. 安装 根据业务需求选择版本,官网下载 初始化数据库 执行完初始化任务之后,postgresql 会自动创建和生成两个用户和一个数据库: linux 系统用户 postgres:管理数据库的系统用 ...
- Hadoop伪分布式配置和搭建,hadoop单机安装,wordcount实例测试,hadoop安装java目录怎么找,问题及问题解决方法
Hadoop伪分布式配置和搭建,hadoop单机安装,wordcount实例测试,hadoop安装java目录怎么找,问题及问题解决方法 环境说明 系统:ubuntu18.04 主机名:test1 用 ...
最新文章
- 论文解读 | 微信看一看实时Look-alike推荐算法
- L1-005 考试座位号
- echarts line 去掉最外围方框_最容易被忽略的简单技巧,3000块的化妆班都学不到...
- D - Covering HDU - 6185(未解决完)
- IT项目中的6类知识转移
- 为VMware虚拟机内安装的Ubuntu 16.04设置静态IP地址
- 『OpenCV3』Harris角点特征_API调用及python手动实现
- Tomcat日志设置
- 摄影欣赏:30幅五光十色的精美秋天风景摄影作品
- Kotlin Suppress 的非常规用法
- linux 修改路由表 永久,CentOS 6.9永久设置静态路由表以及路由表常用设置
- 读书笔记数据科学入门————可视化数据
- CDQZ多校集训题目--盛夏
- CocosCreator 创建纯色精灵(Sprite单色)组件
- Vue全家桶之VueX(六)
- 国内安全厂商护航XP能力引争议
- 【CarSim】指定CarSim联合的Matlab版本
- 小爱同学桌面提醒器开发0基础教程
- java做websocket的客户端wss协议
- QT布局以及使用QSS
热门文章
- python 如何建立图形用户界面_python(五)图形用户界面easyGUI入门
- PHP邮件队列,php群发邮件,用数据库做邮件队列
- python列出文件夹最新的几个文件_Python列出一个文件夹及其子目录的所有文件
- qt5中字符串转字符串数组_Qt中的对象类型转换(Qstring 转换char*有三种方法)
- 让我撸一次HashMap
- 空心磁珠铁氧体抗干扰屏蔽磁环RH磁通高频磁芯圆形穿心磁珠滤波器
- 百度线下赛道报名通知!
- 2021年春季学期-信号与系统-第十三次作业参考答案-第八小题
- 2021年春季学期-信号与系统-第十一次作业参考答案-第二小题
- TPS54360 输入60V,输出3.5A降压开关电压