一、配置账户
创建hadoop用户
sudo useradd -m hadoop -s /bin/bash
设置hadoop用户的密码
sudo passwd hadoop
给hadoop用户分配管理员权限
sudo adduser hadoop sudo
切换至hadoop用户
sudo su - hadoop
更新apt
sudo apt-get update
二、安装ssh-server及配置免密登录
安装ssh-server
sudo apt-get install openssh-server
安装完成之后进入ssh
cd ~/.ssh
如果显示没有这个文件,那么先执行一次
ssh localhost
再进入ssh就行了
接着生成本机密钥
ssh-keygen -t rsa
接着一直按回车即可
将公钥追加到authorized_keys文件中
cat ./id_rsa.pub >> ./authorized_keys
然后赋予authorized_keys文件权限
chmod 600 ./authorized_keys
输入命令查看ssh是否配置成功
ssh localhost
三、远程登录虚拟机与Java安装
在Windows下运行cmd,登录虚拟机,虚拟机ip可输入ifconfig查询
ssh 虚拟机ip -l hadoop
查看Java版本,此时显示未安装Java
javac -version
安装openjdk8
sudo apt install openjdk-8-jdk-headless
安装好后,切换到安装目录下,将目录改一名为java,方便配置环境
cd /usr/lib/jvm
sudo mv java-8-openjdk-amd64 java
配置Java环境变量
vim ~/.bashrc
注:进入文件后按i
进入编辑模式,方向键移动光标,编辑完后先按esc
退出编辑模式,接着输入:wq
保存修改并退出,输入:q
为直接退出不保存修改。
在文件中添加如下几行:
# java environment
export JAVA_HOME=/usr/lib/jvm/java
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
接着使配置立刻生效
source ~/.bashrc
此时查看Java版本
java -version
javac -version
四、安装与配置Hadoop
首先下载Hadoop
wget http://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-2.10.1/hadoop-2.10.1.tar.gz
解压安装到/usr/local目录下
sudo tar -zxvf hadoop-2.10.1.tar.gz -C /usr/local
更换目录名为hadoop以简化配置文件
cd /usr/local
sudo mv hadoop-2.10.1 hadoop
切换用户权限
sudo chown -R hadoop ./hadoop
配置hadoop环境变量,还是在~/.bashrc文件中
vim ~/.bashrc
添加以下几行:
# hadoop environment
export HADOOP_HOME=/usr/local/hadoop
export CLASSPATH=$($HADOOP_HOME/bin/hadoop classpath):$CLASSPATH
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
再执行一下生效配置:
source ~/.bashrc
检查一下Hadoop版本
hadoop version
五、伪分布式配置
Hadoop的配置文件位于/usr/local/hadoop/etc/hadoop/中,
因此进入该文件夹
cd /usr/local/hadoop/etc/hadoop
伪分布式需要修改2个配置文件core-site.xml
和 hdfs-site.xml
,首先修改core-site.xml
文件
vim core-site.xml
添加以下几行:
<configuration>
<!-- 指定namenode的通信地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
<!-- 指定hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/hadoop/tmp</value>
</property>
</configuration>
接着修改hdfs-site.xml
文件
vim hdfs-site.xml
添加以下几行:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>file:/usr/local/hadoop/hdfs/name</value>
<description>namenode上数据块的物理存储位置</description>
</property>
<property>
<name>dfs.data.dir</name>
<value>file:/usr/local/hadoop/hdfs/data</value>
<description>datanode上数据块的物理存储位置</description>
</property>
<property>
<name>dfs.http.address</name>
<value>0.0.0.0:50070</value>
</property>
</configuration>
配置完成后执行format命令,格式化名称节点,注意路径是在/usr/local/hadoop/bin
cd /usr/local/hadoop/bin
hdfs namenode -format
开启hdfs,注意路径是在/usr/local/hadoop/sbin
,启动完成后,可以通过命令jps来判断是否成功启动,若成功启动则会列出如下进程: NameNode
、DataNode
和SecondaryNameNode
cd /usr/local/hadoop/sbin
start-dfs.sh
jps
成功启动后,在浏览器中输入localhost:50070
会出现以下页面
关闭hdfs:
stop-dfs.sh
六、配置yarn(非必须)
配置yarn-site.xml
cd /usr/local/hadoop/etc/hadoop
vim yarn-site.xml
添加一下几行:
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>127.0.0.1:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>127.0.0.1:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>127.0.0.1:8031</value>
</property>
</configuration>
启动yarn,同样是在/usr/local/hadoop/bin
路径下(注意要先启动hdfs:start-dfs.sh
)
start-yarn.sh
成功启动后,在浏览器中输入localhost:8088
会出现以下页面
关闭yarn:
stop-yarn.sh
注:可以同时启动与关闭
start-all.sh
stop-all.sh
至此伪分布安装配置成功!!!