一、Hadoop3.0.3下载地址
Hadoop3.0.3下载地址,截止20180727,此版本为目前最新稳定版本。
二、HBASE2.1.0下载地址
HBASE2.1.0下载地址,此版本hbase可以和Hadoop3.0.3匹配
三、jdk下载
jdk下载链接,请挑选适合自己的版本
四、jdk安装
- 解压下载好的包
tar -xzvf jdk-8u181-linux-x64.tar.gz
- 配置环境变量,在/etc/profile 中增加以下内容
export JAVA_HOME=/app/java/jdk1.8.0_181
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH
- 注意标点和符号,路径修改为自己的路径。保存后退出。然后重新加载配置文件
source /etc/profile
- 最后使用java -version和javac命令检测是否安装成功。jdk配置至此结束
五、安装hadoop3.0.3
- 下载后hadoop3.0.3后解压
tar -xzvf hadoop-3.0.3.tar.gz
#创建连接方便使用,可选。
ln -s hadoop-3.0.3 hadoop
配置环境变量,我的hadoop存放在/app/hadoop3.0.3/目录,单节点,直接使用root用户安装
修改etc/hadoop/hadoop-env.sh,增加JAVA_HOME的配置
export JAVA_HOME=/app/java/jdk1.8.0_181
此时,hadoop可以用单实例模式运行,为方便后期适应集群使用,下面进行伪分布式配置
- 首先修改hostname为hadoop
#修改此文件,内容修改为hadoop(可根据需要修改),此命令重启后生效
vi /etc/hostname
修改后需重启生效,为避免重启,使用hostname命令临时指定hostname
#此命令立即生效,重启后失效
hostname hadoop
- 修改etc/hadoop/core-site.xml文件
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop:9000</value>
</property>
</configuration>
- 修改etc/hadoop/hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
- 配置ssh免密登录
检查现有ssh下的localhost是否为不需要密码的:
#检查现有ssh下的localhost是否为不需要密码的:
ssh hadoop
遇到错误1:ssh: connect to host hadoop port 22: Connection refused
ssh: connect to host hadoop port 22: Connection refused
错误解决方案1:检查ssh服务和22端口是否正常,如果正常,检查在hosts文件里面是否没有配置hostname。
#检查ssh服务
service sshd status
#检查22端口
ss -lnt
#还有一种特殊情况:以上两点都没有问题,并且执行ssh localhost命令也没有问题,但执行ssh hostname(hostname为你自己的#主机名)命令时出错,可以思考是因为我们配置IP地址到主机的映射
vi /etc/hosts
#在hosts里面增加一行 192.168.1.4 hadoop
- ssh免密登录命令,注意:此为单机版配置,集群模式勿参照此教程
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 0600 ~/.ssh/authorized_keys
- 格式化hdfs文件系统
bin/hdfs namenode -format
- 启动NameNode守护进程和DataNode守护进程
sbin/start-dfs.sh
- 添加用户参数
由于使用root用户,需要修改启动和关闭脚本
在/hadoop/sbin路径下: 将start-dfs.sh,stop-dfs.sh两个文件顶部添加以下参数
#!/usr/bin/env bash
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
在/hadoop/sbin路径下,start-yarn.sh,stop-yarn.sh顶部也需添加以下内容:
#!/usr/bin/env bash
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
# Licensed to the Apache Software Foundation (ASF) under one or more
修改完毕后即可启动成功。
配置yarn(根据需要选择)
修改etc/hadoop/mapred-site.xml,指定mapreduce运行方式为yarn:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
修改etc/hadoop/yarn-site.xml,添加yarn的设置:
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<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_MAPRED_HOME</value>
</property>
</configuration>
- 配置hadoop环境变量
添加下列内容到/etc/profile中
export HADOOP_HOME=/app/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin