使用命令查看系统版本
sudo lsb_release -a
1.准备工作
1.1 创建hadoop用户
01:先打开终端(Ctrl+Alt+T)
键入指令:
sudo useradd -m hadoop -s /bin/bash
02:设置用户hadoop的登录密码
sudo passwd hadoop
提示会要求输入两次密码(键入密码不会显示),这里我就用的hadoop。
03:为用户hadoop增加管理员权限
sudo adduser hadoop sudo
(虽然增加了管理员权限,但后面有些地方还是需要进入root用户进行操作)
1.2 更新apt
接下来注销,登录到hadoop用户下。
为了安装一些软件,我们需要更新apt。
sudo apt-get update
1.3 安装SSH并配置SSH无密码登录
之前配置过hadoop的同学们,肯定是知道这个的。
网上是说Ubuntu已经自带了SSH client,还需要安装SSH server
sudo apt-get install openssh-server
这里安装完后如果重启了wsl下并不会启动sshd,必须手动启动
sudo service ssh restart
这里可用添加到 vi /etc/profile 里启动时可以自动运行
使用命令登录本机
这样做了,我们每次登录还是会需要输入密码。
接下来配置SSH无密码登录。
SSH设置和密钥生成
SSH设置需要在集群上执行不同的操作,如启动,停止和分布式守护shell操作。进行身份验证不同的Hadoop用户,需要一种用于Hadoop的用户提供的公钥/私钥对,并用不同的用户共享。
以下的命令被用于生成使用SSH密钥值对。复制公钥从id_rsa.pub为authorized_keys,并提供所有者,读写权限到authorized_keys文件。
# su hadoop
$ ssh-keygen -t rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 0600 ~/.ssh/authorized_keys
验证ssh
ssh localhost
接下来可以再次尝试ssh localhost,如若无需再次输入密码,既成功。
1.4 安装Java环境
01:下载和安装jdk
这里选择的版本是1.8.0_161
下载好后,找到文件所在位置(以我的为例,在下载目录下)
-
cd ~/下载
-
mv ~/下载/jdk-8u161-linux-x64.tar.gz /usr/java //若提示权限不够,则进入root下操作
-
tar -xvf /usr/java/jdk-8u161-linux-x64.tar.gz
可以在对应的路径下找到解压好的jdk文件
02:配置环境变量
vi /etc/profile
将如下环境变量写入文件的最后(i键,对文档开始编辑)
export JAVA_HOME=/usr/java/jdk1.8.0_161/
export CLASSPATH=/usr/java/jdk1.8.0_161/lib/*
保存,退出。(Esc--:wq)
接下来需要让环境变量生效:
source /etc/profile
检查是否配置正确:
java -version
还有一种安装方法可以参考:
https://www.cnblogs.com/smiler/p/6939913.html
这里安装完 java 在 /usr/lib/jvm/java-8-oracle 里
export JAVA_HOME=/usr/lib/jvm/java-8-oracle/
export CLASSPATH=/usr/lib/jvm/java-8-oracle/lib/*
2.安装Hadoop
到这里可以找最新的hadoop
http://mirrors.advancedhosters.com/apache/hadoop/common/
http://hadoop.apache.org/releases.html
cd /usr/local/
wget http://mirrors.advancedhosters.com/apache/hadoop/common/hadoop-3.1.0/hadoop-3.1.0.tar.gz
tar -vzxf hadoop-3.1.0.tar.gz
mv hadoop-3.1.0 hadoop
cd hadoop
./bin/hadoop version
可以通过附加下面的命令在 vi /etc/profile文件中以设置 Hadoop 环境变量。
export HADOOP_HOME=/usr/local/hadoop
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
export HADOOP_INSTALL=$HADOOP_HOME
现在,应用所有更改到当前正在运行的系统。
source /etc/profile
3.Hadoop伪分布式配置
01. 配置core-site.xml
core-site.xml文件中包含,如:用于Hadoop实例的端口号,分配给文件系统,存储器限制用于存储数据存储器和读/写缓冲器的大小的信息。
vim /usr/local/hadoop/etc/hadoop/core-site.xml
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
02. 配置hadoop-env.sh
vim /usr/local/hadoop/etc/hadoop/hadoop-env.sh
找到被注释掉的JAVA_HOME
03. 配置hdfs-site.xml
hdfs-site.xml文件中包含,如:复制数据的值,NameNode的路径,本地文件系统,要存储Hadoop基础架构的Datanode路径的信息。
vi /usr/local/hadoop/etc/hadoop/hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/data</value>
</property>
</configuration>
注:上面的文件,所有的属性值是用户定义的,可以根据自己的Hadoop的基础架构进行更改。
配置完成后,执行NameNode的格式化
/usr/local/hadoop/bin/hdfs namenode -format
验证Hadoop安装
下面的步骤是用来验证Hadoop的安装。
第1步 - 名称节点设置
设置名称节点使用“hdfs namenode -format”命令如下
$ /usr/local/hadoop/bin/hdfs namenode -format
预期的结果如下。
10/24/14 21:30:55 INFO namenode.NameNode: STARTUP_MSG:
/************************************************************
STARTUP_MSG: Starting NameNode
STARTUP_MSG: host = localhost/192.168.1.11
STARTUP_MSG: args = [-format]
STARTUP_MSG: version = 2.4.1
...
...
10/24/14 21:30:56 INFO common.Storage: Storage directory
/home/hadoop/hadoopinfra/hdfs/namenode has been successfully formatted.
10/24/14 21:30:56 INFO namenode.NNStorageRetentionManager: Going to
retain 1 images with txid >= 0
10/24/14 21:30:56 INFO util.ExitUtil: Exiting with status 0
10/24/14 21:30:56 INFO namenode.NameNode: SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at localhost/192.168.1.11
************************************************************/
第2步 - 验证Hadoop DFS
下面的命令用来启动DFS。执行这个命令将启动Hadoop文件系统。
这里不能再root下运行,切换到 hadoop用户下运行
#su hadoop
sudo /usr/local/hadoop/sbin/start-dfs.sh
这里如果出现权限问题
运行命令
sudo chown -R hadoop:root /usr/local/hadoop
把hadoop目录所有用户改到hadoop上
再次运行命令
/usr/local/hadoop/sbin/start-dfs.sh
就是成功了
至此,完成配置,可通过jps查看是否启动成功。
访问Hadoop上的浏览器
访问Hadoop的默认端口号为50070。使用以下网址,以获取Hadoop服务在浏览器中。
http://localhost:50070
若发现404问题
1. 手动修改hdfs-site.xml 添加如下:
<property>
<name>dfs.http.address</name>
<value>127.0.0.1:50070</value>
</property>
127.0.0.1是对应的localhost地址
yarn-site.xml
此文件用于配置成yarn在Hadoop中。打开yarn-site.xml文件,并在<configuration><configuration>标签之前添加以下属性到这个文件中。
vi /usr/local/hadoop/etc/hadoop/yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
mapred-site.xml
此文件用于指定MapReduce框架以使用。默认情况下Hadoop包含yarn-site.xml模板。首先,它需要从mapred-site.xml复制模板到mapred-site.xml文件,使用下面的命令来。
vi /usr/local/hadoop/etc/hadoop/mapred-site.xml
如果存在不存在 mapred-site.xml 文件
$ cp /usr/local/hadoop/etc/hadoop/mapred-site.xml.template /usr/local/hadoop/etc/hadoop/mapred-site.xml
打开 mapred-site.xml 文件,并在<configuration> 和 </configuration>标签之间添加以下属性。
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
验证Yarn脚本
下面的命令用来启动yarn脚本。执行此命令将启动yarn守护进程。
$ sudo /usr/local/hadoop/sbin/start-yarn.sh
验证集群中的所有应用程序
访问群集的所有应用程序的默认端口号为8088。使用以下URL访问该服务。
http://localhost:8088/
部分转载 : https://blog.csdn.net/guomei_eros/article/details/79513597
之后如果要启动hadoop可以用以下命令批量启动
/usr/local/hadoop/sbin/start-all.sh