Hadoop安装与配置

it2026-01-03  8

Hadoop 安装,持续更新

命令被挂起时的解决方案

使用yum安装计划任务功能,结果提示:

# yum -y install vixie-cron Loaded plugins: fastestmirror, refresh-packagekit, security Existing lock /var/run/yum.pid: another copy is running as pid 25960. Another app is currently holding the yum lock; waiting for it to exit...1234

可能是系统自动升级正在运行,yum在锁定状态中。 已经有一个yum进程在运行了,使用kill干掉它:

# kill -s 9 25960 # ps aux|grep yum root 6744 0.0 0.0 103260 900 pts/1 S+ 14:59 0:00 grep yum root 25960 0.0 0.0 0 0 ? Z Sep19 0:01 [yumBackend.py] <defunct>1234

很遗憾,kill对付不了它,那怎么办呢?

可以通过强制关掉yum进程:

#rm -f /var/run/yum.pid1

然后就可以使用yum了。

JDK相关

jdk安装

国内jdk镜像地址:

https://repo.huaweicloud.com/java/jdk/

将本机软件包拷贝到100.32.32.34服务器的scott家目录的software文件夹中

scp jdk-8u192-linux-x64.tar.gz scott@100.32.32.34:~software/

wget安装:

wget https://repo.huaweicloud.com/java/jdk/8u192-b12/jdk-8u192-linux-x64.tar.gz tar -zvxf jdk-8u192-linux-x64.tar.gz -C ~/app/ #解压到~/app目录

配置环境变量,修改~/.bash_profile文件

vim .bash_profile

注意等号前后无空格

export JAVA_HOME=/home/scott/app/jdk1.8.0_192 export PATH=$JAVA_HOME/bin:$PATH source .bash_profile #使配置生效

1、用yum安装jdk(强烈不推荐,无法安装到自己想装的位置,容易下载成jre)

sudo yum install java-1.8.0-openjdk

2、卸载用yum安装的jdk

yum -y remove java-1.8.0-openjdk*

1、先找到java执行文件路径

whereis java

输出:java: /usr/bin/java

2、根据执行文件找到对应的软链接指向的文件路径

ls -lrt /usr/bin/java

输出: /usr/bin/java -> /etc/alternatives/java

3、进入/etc/alternatives/目录,发现还不是源文件目录。继续找

ls -lrt /etc/alternatives/java

输出:/etc/alternatives/java -> /usr/java/jdk-9.0.1/bin/java

看到jdk字样了。应该是源文件目录了。进入到路径

cd /usr/java/jdk-9.0.1/

Hadoop安装

参考文档:

http://archive.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.15.1/hadoop-project-dist/hadoop-common/SingleCluster.html

下载地址:

http://www.apache.org/dyn/closer.cgi/hadoop/common/

Hadoop(HDFS)安装

下载

wget https://mirrors.bfsu.edu.cn/apache/hadoop/common/hadoop-2.8.5/hadoop-2.8.5.tar.gz

解压

tar -zvxf hadoop-2.8.5.tar.gz -C ~/app

添加HADOOP_HOME/bin到系统环境变量

vim .bash_profile export HADOOP_HOME=/home/scott/app/hadoop-2.8.5 export PATH=$HADOOP_HOME/bin:$PATH source .bash_profile

hadoop软件包常见目录说明

bin:hadoop客户端名单

etc/hadoop:hadoop相关的配置文件存放目录

sbin:启动hadoop相关进程的脚本

share:常用例子程序

配置:

hadoop-env.sh

vim etc/hadoop/hadoop-env.sh export JAVA_HOME=${JAVA_HOME} #JAVA_HOME要配置无误

core-site.xml

vim etc/hadoop/core-site.xml <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> </configuration>

hdfs-site.xml:

vim etc/hadoop/hdfs-site.xml <configuration> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration> <configuration> <property> <name>hadoop.tmp.dir</name> <value>/home/scott/app/tmp</value> </property> </configuration>

slaves

vim /home/scott/app/hadoop-2.8.5/etc/hadoop/slaves

启动HDFS

第一次执行的时候一定要格式化,不要重复。会在hadoop.tmp.dir目录下面生成文件

hdfs namenode -format

启动集群:

$HADOOP_HOME/sbin/start-dfs.sh

验证:

jps

查看防火墙状态,然后关闭

firewall-cmd --state systemctl stop firewalld.service

遇到问题

默认ssh端口号不是22,需要在hadoop-env.sh添加如下配置

export HADOOP_SSH_OPTS="-p 1234"

设置无密码ssh,不然每次启动hdfs都要输入密码

ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

mkdir: 无法创建目录"/logs": 权限不够

sudo chown -R 你自己电脑的用户名 $HADOOP_HOME

如下

sudo chown -R scott /home/scott/app/hadoop-2.8.5

最终解决办法:修改之前hadoop-env.sh的配置。不能用${HOME}

export JAVA_HOME=/home/scott/app/jdk1.8.0_192 export HADOOP_PREFIX=/home/scott/app/hadoop-2.8.5
最新回复(0)