Hadoop安装方法
来源:互联网 发布:sort二维数组排序 编辑:程序博客网 时间:2024/06/09 22:10
第一步
Hadoop 下载方式如jdk文档下载方式完全相同
第二步
需要进入到hadoop(使用命令cd hadoop, cd的作用相当于windows下双击hadoop文件夹进入)目录下创建 四个文件夹
mkdir input
mkdir tmp
mkdir -p dfs/data
Mkdir -p dfs/name
然后输入ls 看一看是不是创建好了
第三步
环境变量配置
首先输入命令 vi /etc/profile
这时我们进入一个配置环境变量的文档
当前我们仅处于浏览模式(我们还不能编辑)我们先点击键盘上的字母 I 键,表示可以进入编写状态,然后我们通过上下左右键移动到最底下,这时的操作跟windows上的txt完全相同,我们输入以下环境变量
export HADOOP_DEV_HOME=/root/usr/hadoop/hadoop
export PATH=$PATH:$HADOOP_DEV_HOME/bin
export PATH=$PATH:$HADOOP_DEV_HOME/sbin
export HADOOP_MAPARED_HOME=${HADOOP_DEV_HOME}
export HADOOP_COMMON_HOME=${HADOOP_DEV_HOME}
export HADOOP_HDFS_HOME=${HADOOP_DEV_HOME}
export YARN_HOME=${HADOOP_DEV_HOME}
export HADOOP_CONF_DIR=${HADOOP_DEV_HOME}/etc/hadoop
这是环境变量写好后我们需要保存,我们需要先按 esc 然后输入 (:wq)然后回车,w代表写入,q代表退出,这样之后我就配置好了hadoop环境变量,然后输入命令source /etc/profile让其生效,这时我们可以输入命令hadoop,检验是否安装成功
表示环境变量已经编辑成功
第四步
然后输入ifconfig命令 查看本机的ip
第一条红线就是本机的Ip 比如是192.168.112.1
下面我们进入hosts文件添加进去
输入vi /etc/hosts
按键 i(表示输入input),然后添加(下面只添加了Master一台阶机器,可以在添加一个slave1,形式例如192.168.112.2 slave)如下
192.168.112.1 master
192.168.112.2 slave
下面我们来修改主机名
输入命令: vi /etc/hostname
按键 i(表示输入input),然后输入master 按esc键 输入 ( :wq) 按回车
退出后 在输入命令 hostname master
回车执行后 需要在输入命令reboot重启电脑后,主机名就改过来了
第五步
下面我们进入 hadoop下配置一些文档
我们进入解压后的Hadoop文件夹
cd usr/hadoop/
然后输入ls会出现下图
然后我们进入cd etc/hadoop
我们开始编辑一些文件
要编辑的文件有core-site.xml
先输入 vi core-site.xml
进入后我们按键i表示输入,通过上下键 在<configuration>里添加一下内容
<property>
#master 代表主机名
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
<property>
#这里是存放一些临时文件的
<name>hadoop.tmp.dir</name>
<value>file:/root/usr/hadoop/hadoop/tmp</value>
<description>Abasefor other temporary directories.</description>
</property>
<property>
<name>hadoop.proxyuser.spark.hosts</name>
<value>*</value>
</property>
#这个我我们暂时用不到
<property>
<name>hadoop.proxyuser.spark.groups</name>
<value>*</value>
</property>
然后编辑 hdfs-site.xml
先输入 vi hdfs-site.xml
进入后我们按键i表示输入,通过上下键 在<configuration>里添加一下内容
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>master:9001</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/root/usr/hadoop/hadoop/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/root/usr/hadoop/hadoop/dfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
然后编辑 yarn-site.xml
先输入 vi yarn-site.xml
进入后我们按键i表示输入,通过上下键 在<configuration>里添加一下内容
<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>master:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8035</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:8088</value>
</property>
然后编辑 mapred-site.xml.template
先输入 vi mapred-site.xml.template
进入后我们按键i表示输入,通过上下键 在<configuration>里添加一下内容
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value>
</property>
然后编辑 yarn-env.sh
先输入 vi yarn-env.sh
进入后我们按键i表示输入,通过上下键 修改一项内容
将Java_home添加进去如下图所示
找到
#some Java parameters
*export JAVA_HOME=${JAVA_HOME}
去掉*号,然后修改成
# some Java parameters
export JAVA_HOME=/root/usr/java/jdk1.8.0_101
如下图所示
按esc 输入(:wq)按回车退出
然后编辑 hadoop-env.sh
先输入 vi hadoop-env.sh
进入后我们按键i表示输入,通过上下键 修改一项内容
将Java_home添加进去如下图所示
找到
# The java implementation to use.
*export JAVA_HOME=${JAVA_HOME}
去掉*号,然后修改成
# The java implementation to use.
export JAVA_HOME=/root/usr/java/jdk1.8.0_101
如下图所示
按esc 输入(:wq)按回车退出
然后编辑 slaves
先输入 vi slaves
进入后我们按键i表示输入,通过上下键 修改一项内容
输入
master
slave
按esc 输入(:wq)按回车退出
注意:jps一下看看是否存在namenode如果不存在进行差错,是否需要/root/usr/hadoop/hadoop:p$ bin/hadoop namenode -format
现在我们已经修改了七个程序
~/hadoop/etc/hadoop/hadoop-env.sh
~/hadoop/etc/hadoop/yarn-env.sh
~/hadoop/etc/hadoop/slaves
~/hadoop/etc/hadoop/core-site.xml
~/hadoop/etc/hadoop/hdfs-site.xml
~/hadoop/etc/hadoop/mapred-site.xml
~/hadoop/etc/hadoop/yarn-site.xml
大家可以自己对照一下
好了 我们现在可以进行一下ssh配置
进行这一步的目的在与虚拟机互相通信
如果不进行这一步也是可以运行hadoop程序的
第六步
SSH配置(我这里配置了两台机器一台为master,一台为slave)
首先我们输入 apt-get install ssh
这时可以下载ssh
如果出现YES or NO的选项就yes
下载完毕后我们输入 cd ~/.ssh/ 回车
然后输入 ssh-keygen -t rsa 回车 回车 回车 回车(好像是回车四次)
最终生成(id_rsa,id_rsa.pub两个文件)
cat id_rsa.pub >> authorized_keys
然后我们到主机名叫slave的机器上,将以上的第六步中的步骤请在第二台的主机(将主机名修改为slave如何修改主机名请参照上面)上也执行一遍
同时也需要将第四步中的内容也需要执行一遍
这时我们可以通过ping命令来检验一下两者能否互信
在slave主机上输入 ping master 如下图
然后按 ctrl+c终止程序 说明了两者互通了,如果一直等待的话 也按Ctrl+c终止命令
重新配置一下
能够通信后在slave上面输入命令scp id_rsa.pub root@master:~/.ssh/id_rsa.pub_sl
(scp 是复制的意思, id_rsa.pub是要拷贝的文件名,root@master(master可以写上面获取的ip)是要通信的机器,:~/.ssh/id_pub_sl是要将内容复制到这个文件里去)
此切换到机器master 合并authorized_keys;
输入命令 cat id_rsa.pub_sl >> authorized_keys
将authorized_keyscopy到slave机器:
输入命令 scp authorized_keys root@slave:~/.ssh/
现在讲两台机器 .ssh/ 文件夹权限改为700,authorized_keys文件权限改为600(or 644)
在两台机器上都输入
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
好了 大功告成现在可以开始验证了
在master上可以输入 ssh slave 如果进入到slave机器上说明ssh配置成功了
到此为止,hadoop已经配置成功,我们可以通过一个小程序来检验一下是否我们都配置成功了
我们进入到hadoop文件夹下的sbin文件夹
输入ls显示如下
然后我们启动Hadoop
输入命令 start-all.sh
我们现在hadoop 文件夹下找到我们早已建好的input文件夹 输入命令cd input
我们在里面创建两个txt文件
输入命令
touch f1.txt
touch f2.txt
然后我们输入ls看一下是否创建成功
好了我们创建成功了
我们需要在里面写一点内容
输入命令 vi f1.txt
进入后我们按键i表示输入,通过上下键 修改一项内容
输入
Hadoop
Ssh
you
按esc 输入(:wq)按回车退出
同理 我们也在f2.txt中输入一些词(可以随意输入)
将f1、f2文件copy到hdfs /tmp/input目录
我们在我们进入hadoop文件夹
输入命令 hadoop fs -put input/ /tmp
(这里是相当于把电脑里的东西传到百度云上, -put表示放进hdfs(百度云),input/表示我们要放进该文件夹,/tmp表示我们我们放进百度云里的那个文件夹下)
输入命令 hadoop fs -ls /tmp/input/
看一下我们是否把f1.txt,f2.txt放到hdfs(百度云)上去了
如下图
我们现在进入到hadoop文件夹下
执行命令
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.5.jar wordcount /tmp/input /output
运行成功后我们可以登录到hdfs(百度云)上去查看执行结果
输入命令
hadoop fs -ls /
可以看到hdfs(百度云)上多了一个文件夹output
我们进入该文件夹
输入命令
hadoop fs -ls /output
显示如下
Output文件夹下有个part-r-00000就是我们需要的结果
输入命令
hadoop fs -cat /output/part-r-00000
(cat 表示显示文件内容)
显示如下
至此 我们hadoop部署完全成功 加油吧
- Hadoop安装方法
- ubuntu安装hadoop详细方法
- windows下安装hadoop的简单方法
- 安装部署Hadoop集群的方法
- windows上安装hadoop 0.21方法
- hadoop快速入门(Ubuntu安装方法)
- hadoop+hbase+zookeeper集群安装方法
- hadoop-1.2.1安装方法详解
- hadoop-2.2.0安装方法详解
- hadoop+hbase+zookeeper集群安装方法
- ubuntu上安装hadoop的方法
- Hadoop on mesos 配置安装方法
- Hadoop+Hbase+ZooKeeper集群安装方法
- hadoop的安装与配置方法详解
- hadoop的安装与配置方法详解
- 【hadoop】 1003-hadoop安装
- hadoop安装之-hadoop
- [Hadoop]Hadoop安装
- velocity判断是否为null和 “”
- Java读写txt文档内容
- MD5加密类
- FragmentStatePagerAdapter和FragmentPagerAdapter
- angularJS的service理解
- Hadoop安装方法
- MyEclipse配置Tomcat和发布项目
- 在使用selenium webdriver进行元素定位时,通常使用findElement或findElements方法结合By类返回的元素句柄来定位元素。其中By类的常用定位方式共八种,现分别介绍如下
- C++ dynamic_cast 进行强转
- 从dubbo看Netty使用
- 检查socket是否断开
- 是时候做点改变了
- 通过百度地图API,将百度坐标转换成GPS经纬度
- 深度剖析C语言的各种指针