请自行百度.
# 创建hadoop用户(su root用户创建)
useradd -m hadoop -s /bin/bash
# 设置密码
passwd hadoop
切换到hadoop用户登陆linux.
sudo vim /etc/hostname
# 在haotname中输入用户名,再次以 ylitech为例.
# (若不能使用sudo:)
# 切换到root用户,为/etc/sudoers文件添加写权限:
chmod u+w /etc/sudoers
# vim /etc/sudoers
# 复制 root ALL ... 那一行
# 把root改为自己的用户名.保存退出:wq
sudo vim /etc/hosts
# 在文件中添加本机Ip(ifconfig可以查看ip) 和用户名
# 例:
192.168.160.130 ylitech
首先测试ssh是否安装,
rpm -qa | grep ssh
若返回的结果中包括SSH client和SSH server ,则不需要再安装.
若为安装,通过:
sudo yum install openssh-clients
sudo yum install openssh-server
接着执行ssh localhost
测试ssh是否可用,exit
可以退出ssh。
设置免密码登陆:
cd ~/.ssh
ssh-keygen -t rsa # 通过ssh-keygen命令来生成密钥对在.ssh目录下(会有提示,回车即可)。
# 此命令执行后,会在~/.ssh目录下生成私钥id_rsa 和公钥id_rsa.pub
cat id_rsa.pub >> authorized_keys # 将id_rsa.pub中的公钥信息保存到authorized_keys中.
chmod 600 ./authorized_keys # 修改文件授权.
这时再用ssh localhost命令,无需密码即可直接登陆。
到网上下载jdk,本例使用的是jdk-9.0.1
# 首先使用tar命令解压jdk到/usr/local目录下.
sudo tar -zxvf jdk-9.0.1_linux-x64_bin.tar -C /usr/local
# 接着需要配置JAVA环境变量.
vim ~/.bashrc
# 在文件最后添加
export JAVA_HOME=/usr/local/jdk-9.0.1-1
export PATH=$JAVA_HOME/bin:$PATH
# 接下来需要使用source命令是环境变量生效.
source ~/.bashrc
若环境变量配置正确,在终端输入java -version即可查看java版本.
同上,在网上下在hadoop,(在此以hadoop-2.8.2为例)
sudo tar -zxvf hadoop-2.8.2.tar.gz -C /usr/local
# 将hadoop解压到/usr/local
sudo mv hadoop-2.8.2 hadoop
# 将文件夹重命名为hadoop(可选,方便后续添加环境变量)
sudo chown hadoop:hadoop hadoop
# 将hadoop文件夹所属用户和组修改为hadoop用户和hadoop组.
若安装成功,在cd /usr/local/hadoop
文件夹下输入./bin/hadoop version
即可查看hadoop版本.
1> 配置环境变量
vim ~/.bashrc
# 在文件最后添加:
export HADOOP_HOME=/usr/local/hadoop
export HADOOP_INSTALL=$HADOOP_HOME
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
# 保存推出 :wq
# 使用source命令,是环境变量生效.
source ~/.bashrc
2> 修改/usr/local/hadoop/etc/hadoop 文件夹下的core-site.xml配置文件.
默认情况下,Hadoop将数据保存在/tmp下,当重启系统时,/tmp中的内容将被自动清空,所以我们需要制定自己的一个Hadoop的目录,用来存放数据。另外需要配置Hadoop所使用的默认文件系统,以及Namenode进程所在的主机。
<configuration>
<property>
<name>hadoop.tmp.dirname
<value>file:/usr/local/hadoop/tmpvalue>
<description>A base for other temporary directories.description>
property>
<property>
<name>fs.defaultFSname>
<value>hdfs://ylitech:9000value>
property>
configuration>
3> 修改hdfs-site.xml配置文件.
该文件指定与HDFS相关的配置信息。需要修改HDFS默认的块的副本属性,因为HDFS默认情况下每个数据块保存3个副本,而在伪分布式模式下运行时,由于只有一个数据节点,所以需要将副本个数改为1;否则Hadoop程序会报错。
<configuration>
<property>
<name>dfs.replicationname>
<value>1value>
property>
<property>
<name>dfs.namenode.name.dirname>
<value>file:/usr/local/hadoop/tmp/dfs/namevalue>
property>
<property>
<name>dfs.datanode.data.dirname>
<value>file:/usr/local/hadoop/tmp/dfs/datavalue>
property>
configuration>
4> mapred-site.xml配置
在该配置文件中指定与MapReduce作业相关的配置属性,需要指定JobTracker运行的主机地址。
/usr/local/hadoop/etc/hadoop文件夹中并没有mapred-site.xml文件,但提供了模板mapred-site.xml.template 将其重命名为mapred-site.xml 即可。
mv mapred-site.xml.template mapred-site.xml
vim mapred-site.xml
# 修改配置文件:
<configuration>
<property>
<name>mapreduce.framework.namename>
<value>yarnvalue>
property>
configuration>
5> 修改yarn-site.xml配置文件
vim yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.auxservicesname>
<value>mapreduce_shufflevalue>
property>
configuration>
hdfs namenode -format
# 成功的话会看到"successfully formatted" 和 "Exitting with status 0" 的提示,若为 "Exitting with status 1" 则是出错。
sudo service iptables stop # 关闭防火墙服务。
sudo chkconfig iptables off # 禁止防火墙开机自启。
cd /usr/local/hadoop/sbin
./start-all.sh # 启动所有的hadoop服务,包括hdfs和yarn.
命令执行完成后输入jps命令若有5个进程:namenode、secondarynamenode、datanode、resourcemanager、nodemanager,则表示启动成功。
可以通过web访问http://ylitech:50070 查看NameNode和DataNode信息。
访问web界面:http://ylitech:8088 可以查看mapreduce运行情况。
至此hadoop伪分布式即安装成功。