1
前期准备
ubuntu(此例用18.10)虚拟机下载地址:https://mirrors.tuna.tsinghua.edu.cn/
为了方便两个虚拟机的用户名都设置为hadoop,密码随意。
安装java、vim、python和openssh-server,master和slave都要装
sudo apt install java-8-openjdk-amd64
sudo apt install vim
sudo apt install python
sudo apt install openssh-server
vim是一个十分好用的编辑器,可以用键盘在文档中掌控一切~
下载完毕来检测一下是否安装成功
java -version//显示版本信息
hadoop及java环境配置:
master和slave都下载hadoop: http://mirrors.cnnic.cn/apache/hadoop/common
为了方便将hadoop文件夹放在/usr/local下
配置环境变量
sudo vi ~/.bashrc
在文件最下面加入如下代码
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export PATH=$PATH:$JAVA_HOME/bin
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
退出后使环境变量生效
source ~/.bashrc
2
hadoop分布式部署
修改主机名及映射:
在设置中查看master和slave的ip分别是多少,找个小本本记下来更改hosts文件时开头分别为这个ip
sudo vi /etc/hostname//分别改为master和slave
sudo vi /etc/hosts//在127.0.0.1下添加如下内容
xxx.xxx.xxx.xxx master.localhost master
xxx.xxx.xxx.xxx slave.localhost slave
设置免密登录:
ssh-keygen -t rsa//一路回车生成密匙对
cd ~/.ssh
cat id_rsa.pub >> authorized_keys
在slave中创建.ssh文件
mkdir ~/.ssh
在master当前路径下使用scp id_rsa.pub hadoop@slave:~/.ssh将密码文件复制到slave的.ssh文件夹里。在slave中继续用上面的cat添加到autorized_keys中
尝试在主机中登录slave验证
没有要求输入slave的密码,成功!
3
更改hadoop文件
修改core-site.xml(以下更改均在configuration标签内添加)
vim /usr/local/hadop/etc/hadoop/core-site.xml
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
<property>
修改hdfs-site.xml文件
vim /usr/local/hadoop/etc/hadoop/hdfs.xml
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/usr/local/hadoop/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/usr/local/hadoop/datanode</value>
</property>
slave节点不需要配置namenode
修改mapred-site.xml.template文件
vim /usr/local/hadoop/etc/hadoop/mapred-site.xml.template
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>
<property>
<name>mapper.jobhistory.webapp.address</name>
<value>master:19888</value>
</property>
修改yarn-site.xml文件
vim /usr/local/hadoop/etc/hadoop/yarn-site.xml
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
修改slave文件
vim /usr/local/hadoop/etc/hadoop/slaves
在localhost下面添加slave
在usr/local/hadoop/etc/hadoop/hadoop-env.sh中更改
可以master和slave都配置一遍,但是小编有个简单方法,反正配置都一样,主机配置完了scp复制一下就好了,新手小心使用。
namenode格式化
hdfs namenode -format
启动hadoop(成败在此一举)
启动完毕!
网友评论