目录
1.利用xshell等工具把jdk和hadoop的压缩包放到指定目录下:
4.把root用户下的压缩包复制到新用户的software里
前言
工欲善其事,必先利其器,对于刚学数仓的人来说,安装配置hadoop是比较困难的,今天给大家来一期关于在Linux的环境下安装hadoop和jdk。
提示:以下是本篇文章正文内容,下面案例可供参考
一、什么是hadoop?
hadoop是由Apche基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。Hadoop实现了一个分布式文件系统,其中重要的主键为HDFS。它具有高容错性的特点,并且它提供高吞吐量来访问应用程序的数据,适合那些有着超大数据集的应用程序。
二、JDK和HADOOP环境变量配置
1.利用xshell等工具把jdk和hadoop的压缩包放到指定目录下:
路径如下:/home/root/software(其中software是自建的一个目录):
mkdir software --在root用户下建立2.新建新用户,并设置密码
代码如下:
useradd yourname --新建新用户
passwd youname --设置密码3.在新用户下建立以下的目录:
代码如下:
mkdir sourcecode software app log lib tmp shell --建立文件夹
--sourcecode:放源代码
--software放压缩包
--app放解压好的文件
--log放日志
--tmp临时文件
--shell放shell脚本4.把root用户下的压缩包复制到新用户的software里
代码如下:
cp hadoop文件 /home/用户名/software/ --复制到software目录
cp jdk文件 /home/用户名/software/ --复制到software目录5.解压jdk和hadoop的压缩包
tar -xzvf hadoop文件 -C ../app/ --在新用户下的software文件下,把hadoop文件解压到上层目录APP里
tar -xzvf jdk文件 -C ../app/ --在root用户(权限不足可能)下的software文件下,把jdk文件解压到上层目录APP里6.在root用户下配置java和hadoop的环境变量
--java的环境变量配置
export JAVA_HOME=/home/[yourname]/app/jdk1.8.0_212
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
hadoop的环境变量配置
export HADOOP_HOME=/home/[yourname]/app/hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
判断java是否配置好:可以在命令行输入:
java
javac
java -version --三者通过就说明java的配置好了判断hadoop是否配好可以输入:
hadoop -version --出来就说明hadoop配置好7.建立hadoop和jdk的软连接
ln -s hadoop文件 hadoop --hadoop的软连接
ln -s jdk文件 java --java的软连接软连接的好处:jdk和hadoop版本切换时,它是无感知的,只需要更改版本号。
Local Mode:本地 一台机器 1个Java进程
Pseudo-Distributed Mode 伪分布式 1台机器 多个java进程
Fully-Distributed Mode 完全分布式 集群 多台机器 多个java进程
8.设置core-site.xml:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/localhost/tmp</value> --临时文件夹,主要localhost是自己机器名
</property>
</configuration>设置hdfs-site.xml:
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>localhost:50090</value>
</property>
<property>
<name>dfs.namenode.secondary.https-address</name>
<value>localhost:50091</value>
</property>
<property>
<name>dfs.http.address</name>
<value>localhost:9870</value>
</property>
配置hadoop-env.sh
export JAVA_HOME=/home/localhost/app/java免登陆:
$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 0600 ~/.ssh/authorized_keysssh localhost格式化:
hdfs namenode -format启动:
start-dfs.sh --启动hadoop
可以用jps查看启动了那些服务。
NameNode 名称节点,存储是文件目录树
SecondaryNameNode 第二名称节点, 每隔一个小时把NameNode的数据进行备份
DataNode 数据结点 存放数据
在hadoop中新建user文件夹:
hdfs dfs -mkdir /user --建立user文件夹
hdfs dfs -mkdir /user/<username> --username是你的用户名,官网在这才给你提示用户名,而在之前就应该把用户名弄好,不然会因为文件夹的失误而出错hadoop下新建input:
hdfs dfs -mkdir input
在etc/hadoop下输入:
hdfs dfs -put etc/hadoop/*.xml input运行提供的一些示例
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.2.jar grep input output 'dfs[a-z.]+'
--example后边的版本需要修改将输出文件从分布式文件系统复制到本地文件系统并检查它们:
$ bin/hdfs dfs -get output output
$ cat output/*完成后,通过以下方式停止守护程序:
$ sbin/stop-dfs.sh