下载ubuntu操作系统版本
ubuntu-14.10-desktop-amd64.iso(64位)
安装过程出现错误:
This kernel requires an X86-64 CPU,but only detected an i686 CPU
(当前系统内核需要64位的cpu,可是只检测到32位的)
原来VirtualBox安装64位的系统需要满足以下条件:
1.64位的cpu
2.安装的系统必须为64位
3.cpu允许硬件虚拟化
1,3项可以下载个securable.exe进行检测
securable.exe
此工具可以检测出你的电脑是否能安装win7(64位)的系统,
运行即有提示:显示为 64 yes yes则可以安装,显示为:64 off off(或64 no no )则不能。
表示可以安装的
其实现在大部分的cpu硬件都是支持的,第3项要在bios中开启这个选项。重启按fn+f12键进入biso在cpu configuration中找Virtualization状态改为enabled
因为Virtualization状态disable所以安装失败,修改后成功。
vim安装(未安装vim时候可以用命令:nano /etc/apt/sources.list)
(今天在安装软件的时候出现了Package has no installation candidate的问题,如:
# apt-get install <packagename>
Reading package lists... Done
Building dependency tree... Done
Package aptitude is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package <packagename> has no installation candidate
解决方法如下:
# apt-get update
# apt-get upgrade
# apt-get install <packagename>
这样就可以正常使用apt-get了~
添加第三方地址:
sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
写上软件源后,再刷新一下,注意一定要刷新,运行:
sudo apt-get update
再安装vim或者gvim
sudo apt-get install vim
vim : 依赖: vim-common (= 2:7.3.429-2ubuntu2.1) 但是 2:7.3.547-4ubuntu1 正要被安装
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系
原因可能是安装vim所依赖的vim-common和系统自带的vim-common版本冲突,解决办法就是先把vim-common卸载了人然后再安装vim即可.
sudo apt-get remove vim-common
sudo apt-get install vim)验证有效
//////////////////////////////////////////////////////////////////////////////////////////
1.JDK安装
//////////////////////查看ubuntu是多少位系统
查看cpu信息
cat /proc/cpiinfo
查看ubuntu版本:
cat /etc/issue
查看系统是32位还是64位
方法1:本人验证过
#查看long的位数,返回32或64 getconf LONG_BIT
方法2:
#查看文件信息,包含32-bit就是32位,包含64-bit就是64位
file /sbin/init
我的系统是64,jdk官网下载64位:jdk-8u72-linux-x64.tar.gz
配置环境变量命令:
$sudo gedit ~/.bashrc
export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_55
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
环境变量配置完成需要重启系统或者执行命令:source ~/.bashrc
2.ssh server安装
sudo apt-get install openssh-server
报错:
下列软件包有未满足的依赖关系:
openssh-server : 依赖: openssh-client (= 1:6.6p1-2ubuntu1)
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。
解决方法:
openssh-server是依赖于openssh-clien的,那ubuntu不是自带了openssh-client吗?原由是自带的openssh-clien与所要安装的openssh-server所依赖的版本不同,这里所依赖的版本是1:6.6p1-2ubuntu1,所以要安装对应版本的openssh-clien,来覆盖掉ubuntu自带的
命令:先执行命令$
sudo
apt-get
install
openssh-client=1:6.6p1-2ubuntu1
然后执行安装命令:sudo apt-get install ssh
ssh -V 查看ssh版本信息,有记录,说明安装成功
配置免密码登录:
在ubuntu下生成公钥/私钥对。
-P表示密码,-P '' 就表示空密码,也可以不用-P参数,这样就要三车回车,用-P就一次回车。
它在/home/用户目录下生成.ssh目录,.ssh下有id_rsa(这个是私钥)和id_rsa.pub(这个是公钥)
出现一个图形,出现的图形就是密码,不用管它
cat ~/.ssh/id_rsa.pub >> authorized_keys(好像是可以省略的)
然后即可无密码验证登录了,如下:
ssh localhost
安装hadoop
下载Hadoop安装也有两种方式
1.直接上官网进行下载,http://mirrors.hust.edu.cn/apache/hadoop/core/stable/hadoop-2.7.1.tar.gz
2.使用shell进行下载,命令如下:wget http://mirrors.hust.edu.cn/apache/hadoop/core/stable/hadoop-2.7.1.tar.gz
貌似第二种的方法要快点,经过漫长的等待,终于下载完成。
使用如下命令解压缩Hadoop安装包
tar -zxvf hadoop-2.7.1.tar.gz
解压缩完成后出现hadoop2.7.1的文件夹
配置Hadoop中相应的文件
需要配置的文件如下,hadoop-env.sh,core-site.xml,mapred-site.xml.template,hdfs-site.xml,所有的文件均位于hadoop2.7.1/etc/hadoop下面,具体需要的配置如下:
1.core-site.xml 配置如下:
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/home/leesf/program/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
其中的hadoop.tmp.dir的路径可以根据自己的习惯进行设置。
2.mapred-site.xml.template配置如下:
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>
3.hdfs-site.xml配置如下:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/leesf/program/hadoop/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/leesf/program/hadoop/tmp/dfs/data</value>
</property>
</configuration>
其中dfs.namenode.name.dir和dfs.datanode.data.dir的路径可以自由设置,最好在hadoop.tmp.dir的目录下面。
补充,如果运行Hadoop的时候发现找不到jdk,可以直接将jdk的路径放置在hadoop.env.sh里面,具体如下:
export JAVA_HOME="/home/leesf/program/java/jdk1.8.0_60"
运行Hadoop
在配置完成后,运行hadoop。
1.初始化HDFS系统
在hadop2.7.1目录下使用如下命令:
bin/hdfs namenode -format
2.开启NameNode
和DataNode
守护进程
使用如下命令开启:
sbin/start-dfs.sh
3.查看进程信息
使用如下命令查看进程信息
jps
表示数据DataNode和NameNode都已经开启
4.查看Web UI
在浏览器中输入http://localhost:50070,即可查看相关信息
至此,hadoop的环境就已经搭建好了。下面开始使用hadoop来运行一个WordCount例子。
运行WordCount Demo
1.在本地新建一个文件,笔者在home/leesf目录下新建了一个words文档,里面的内容可以随便填写。
2.在HDFS中新建一个文件夹,用于上传本地的words文档,在hadoop2.7.1目录下输入如下命令(目录不对命令无法执行):
bin/hdfs dfs -mkdir /test,表示在hdfs的根目录下建立了一个test目录
使用如下命令可以查看HDFS根目录下的目录结构
bin/hdfs dfs -ls /
3.将本地words文档上传到test目录中(如果datanode路径有变化上传会失败)
使用如下命令进行上传操作:
bin/hdfs dfs -put /home/leesf/words /test/
使用如下命令进行查看
bin/hdfs dfs -ls /test/
4.运行wordcount
使用如下命令运行wordcount:
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar wordcount /test/words /test/out
运行完成后,在/test目录下生成名为out的文件,使用如下命令查看/test目录下的文件
bin/hdfs dfs -ls /test
表示在test目录下已经有了一个名为Out的文件目录
输入如下命令查看out目录下的文件:
bin/hdfs dfs -ls /test/out
结果保存在part-r-00000中。
5.查看运行结果
使用如下命令查看运行结果:
bin/hadoop fs -cat /test/out/part-r-00000
总结:从虚拟机安装,ubuntu系统的安装,jdk,hadoop安装遇到很多的问题,查很多资料,第一个是虚拟机安装比较顺利。第二是ubuntu系统安装需要修改“联想ThinkPad S3-S440”电脑的重启按fn+f12键进入biso在cpu configuration中找Virtualization状态改为enabled之后顺利安装。第三是jdk安装注意版本是32位还是64位,我的ubuntu版本是64位。第四是ssh无密码登录,注意版本兼容问题。第五是hadoop安装最顺利的。大家可以多交流。现在搭建是单机版,接下来要搭建集群。