Ubuntu 18.04虚拟机中 安装 Hadoop系统环境
安装ssh环境
配置root用户密码
修改root用户的初始密码
sudo passwd
退出当前用户,使用root登陆系统。
关闭防火墙
关闭防火墙
systemctl stop firewalld.service
开机不启动防火墙
systemctl disable firewalld.service
查看防火墙状态
ufw status
inactive
状态是防火墙关闭状态,active
是开启状态。
配置root用户远程连接
(注:装了ssh-server,如果未安装,请先安装)
apt install openssh-server
修改sshd_config
vim /etc/ssh/sshd_config
配置ssh客户端,去掉PasswordAuthentication yes前面的#号
配置ssh服务器,把PermitRootLogin prohibit-password
改成PermitRootLogin yes,保存退出。
然后重启SSH服务即可。
/etc/init.d/ssh restart #重启SSH服务
/etc/init.d/ssh stop #关闭SSH服务
重启过后通过shell连接:
注意如果使用Xshell过程提示(SSH服务器拒绝了密码。请再试一次)而且密码肯定没错的情况下,确认是不是用户名字输错了,这里的用户名是SSH用户名不是虚拟主机的用户名 也就是安装系统时候第二次输入的名字(两个名字在填写的时候要求不能重复)
设置ssh localhost 免密码登录
ssh localhost
exit
输入密码登录本机和退出本机
在进行了初次登陆后,会在当前家目录用户下有一个.ssh文件夹,进入该文件夹下:
cd ~/.ssh/
使用rsa算法生成秘钥和公钥对:
ssh-keygen -t rsa
然后把公钥加入到授权中:
cat ./id_rsa.pub >> ./authorized_keys
再次ssh localhost的时候就可以无密码登陆了。
安装jdk
解压jdk
创建一个java的文件夹,用户存放Java文件
mkdir /usr/local/java
通过ftp工具把下载好的jdk安装包上传到java文件夹下。
JDk下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
Oracle帐号密码:
2696671285@qq.com 密码:Oracle123
解压:
cd /usr/local/java
tar -vxzf jdk-8u181-linux-x64.tar.gz
解压成功后会在当前目录下看到:
jdk1.8.0_181文件夹
然后删除安装包:
rm jdk-8u181-linux-x64.tar.gz
配置jdk
设置环境变量:
vim /etc/profile
在末尾添加:
JAVA_HOME=/usr/local/java/jdk1.8.0_181
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
export JAVA_HOME
export PATH
重新加载环境变量的配置文件:
source /etc/profile
检测:
java -version
安装Hadoop
解压hadoop
创建一个hadoop的文件夹,用户存放hadoop文件
mkdir /usr/local/hadoop
通过ftp工具把下载好的hadoop安装包上传到hadoop文件夹下。
官网地址:http://hadoop.apache.org/releases.html
解压:
cd /usr/local/hadoop
tar -vxzf hadoop-2.7.7.tar.gz
解压完成:
移动hadoop-2.7.7文件下的文件到当前的目录
mv ./hadoop-2.7.7/* ./
删除hadoop-2.7.7文件夹
rm -rf ./hadoop-2.7.7
查看文件夹的所有者以及用户组,最重要的是拥有者是否是当前用户
ls -l
如果拥有者不是当前用户,则修改为当前用户:
sudo chown -R 当前用户名 ./hadoop
配置hadoop
设置环境变量:
vim /etc/profile
在末尾添加:
JAVA_HOME=/usr/local/java/jdk1.8.0_181
HADOOP_HOME=/usr/local/hadoop
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export JAVA_HOME
export PATH
export HADOOP_HOME
重新加载环境变量的配置文件:
source /etc/profile
检测:
hadoop version
修改配置文件
cd /usr/local/hadoop/etc/hadoop
vim core-site.xml
在core-site.xml 中添加
<!-- 指定HDFS老大(namenode)的通信地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://0.0.0.0:9000</value>
</property>
<!-- 指定hadoop运行时产生文件的存储路径 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/tmp</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/tmp</value>
</property>
在 hdfs-site.xml 中添加
vim hdfs-site.xml
<property>
<name>dfs.data.dir</name>
<value>/usr/local/hadoop/hdfs/data</value>
<description>datanode上数据块的物理存储位置</description>
</property>
<!-- 设置hdfs副本数量 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
在 hadoop-env.sh 中更改 JAVA_HOME
vim hadoop-env.sh
注释掉:
export JAVA_HOME=${JAVA_HOME}
添加: usr/local/java/jdk1.8.0_241
export JAVA_HOME=/usr/local/java/jdk1.8.0_181
重新加载环境变量的配置文件:
source /etc/profile
测试,启动
格式化namenode:
hadoop namenode -format
启动hdfs
start-all.sh
查看相应的进程:
jps
确定5
个进程全部启动。
访问测试:
10.168.1.129:50070
或者?
localhost:50070
设置开机启动
进入/etc/init.d/
目录下
cd /etc/init.d/
创建文件hadoop
vim hadoop
写入开机启动相关的脚本内容
设置文件权限
chmod +x hadoop
添加到服务中
update-rc.d -f hadoop defaults
测试
service hadoop start
查看服务是否启动成功
jps
参考链接: