Ubantu18.04安装hadoop(伪分布和单机)
首先?是安装Ubantu18.04 (安装Ubantu,百度一个就知道了?)
1A1配置root用户密码
sudo passwd
然后用的root 登录
1.首先是安装VM tools
2.然后是更新源 (这个在我的ssh服务那章博客里有)
3.关闭防火墙状态
在Ubuntu中 我们使用sudo ufw status命令查看当前防火墙状态;inactive状态是防火墙关闭状态 active是开启状态。
查看防火墙状态
ufw starus
安装ssh并且远程连接
apt-get install openssh-server
修改sshd_config
gedit /etc/ssh/sshd_config
\ \
找到
# Authentication:
#LoginGraceTime 120
#PermitRootLogin without passwd
#StrictModes yes
修改
# Authentication:
LoginGraceTime 120
PermitRootLogin yes
StrictModes yes
保存并且重启ssh服务
ssh restart
然后用xshell6连接
设置ssh localhost 免密码
ssh localhost
exit
在进行了初次登陆后,会在当前home目录用户下有一个.ssh文件夹,进入该文件夹下:
cd ~/.ssh/
使用rsa算法生成秘钥和公钥对:
ssh-keygen -t rsa
运行后一直回车就可以了,其中第一个是要输入秘钥和公钥对的保存位置,默认是在:
.ssh/id_rsa
然后把公钥加入到授权中:
cat ./id_rsa.pub >> ./authorized_keys
再次ssh localhost的时候就可以无密码登陆了。、
安装jdk-2.8.5-231
创建一个java的文件夹,用户存放java文件
mkdir /usr/local/java
通过复制粘贴的方式从windows界面拖拽到你的Ubantu虚拟机主目录中
文件移动
rm jdk-8u231-linux-x64.tar.gz /usr/local/java
解压:
cd /usr/local/java
tar -vxzf jdk-8u231-linux-x64.tar.gz
解压成功后目录会看到
jdk1.8.0_231文件夹
然后删除安装包:
rm jdk-8u231-linux-x64.tar.gz
配置jdk
source /etc/profile
检测:
java -version
安装Hadoop.2.8.5 版本
创建一个Hadoop的文件夹,将hadoop2.8.5放入文件中
mkdir /usr/local/hadoop
将hadoop2.8.5安装包windows界面拖拽到你的Ubantu虚拟机主目录中
移动:
rm hadoop-2.8.5.tar.gz /usr/local/hadoop
解压:
cd /usr/local/hadoop
tar -vxzf hadoop-2.8.5.tar.gz
ls
删除hadoop安装包
rm -tf hadoop-2.8.5.tar.gz
查看文件夹的所有者以及用户组,最重要的是拥有者是否是当前用户
如果拥有者不是当前用户,则修改为当前用户:
sudo chown -R 当前用户名 hadoop
配置hadoop环境变量
设置环境变量:
gedit /etc/profile
在末尾添加:
JAVA_HOME=/usr/local/java/jdk1.8.0_231
HADOOP_HOME=/usr/local/hadoop
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin:$HADOOP_HOM E/bin:$HADOOP_HOME/sbin
export JAVA_HOME
export PATH
export HADOOP_HOME
重新加载环境变量的配置文件:
source /etc/profile
检测:
hadoop version
修改配置文件
在core-site.xml中添加
cd /usr/local/hadoop/hadoop/etc
gedit 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中添加
<configuration>
<property>
<name>dfs.data.dir</name>
<value>/usr/local/hadoop/hadoop/hdfs/data</value>
<description>datanode上数据块的物理存储位置</description>
</property>
<property>
<name>dfs.name.dir</name>
<value>/usr/local/hadoop/hadoop/hdfs/name</value>
<description>datanode上数据块的物理存储位置</description>
</property>
<!-- 设置hdfs副本数量 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
在hadoop-env.sh中更改JAVA_HOME
vim hadoop-env.sh
注释掉:
export JAVA_HOME=${JAVA_HOME}
添加:
export JAVA_HOME=/usr/local/java/jdk1.8.0_231
检测,启动
格式namenode:
hadoop namenode -format
启动hafs
start-all.sh
查看相关的进程
jps
确定5个进程全部启动,就成功了。
访问测试:
你的Ubantu的ip:50070
成功!
然后我们试着求一下 pi 1 10.
hadoop jar /usr/local/hadoop/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.8.5.jar pi 1 10
注:这是2.8.5是我安装的hadoop2.8.5路径下的东西
这里就是求出来的pi
谢谢阅读,希望能帮到你!!