http://zhidao.baidu.com/link?url=uHUScZLML7qd8qBQd8nDBV4xdvoYSNALyifIwokKcUz9RRWmRuHy-QK1WdZj2tyfrOti06GVw30M4AgVoeYVTq
经常提示软件更新,我们选择永不更新
3.3 修改虚拟机静态ip
参考 http://jingyan.baidu.com/article/b7001fe18f85fe0e7282ddaf.html
结果 Ubuntu14 ip192.168.1.111子网掩码 255.255.255.0 网关 192.168.1.1 DNS 202.206.240.12
Ubuntu14slave1 ip 192.168.1.112 子网掩码 255.255.255.0 网关 192.168.1.1DNS 202.206.240.12
使用 ifconfig查看结果
3.4 修改虚拟机主机名称和hosts文件
linux命令需要自行查阅,注意命令里面是否有空格
命令:鼠标左键空白区域,Ctrl+Alt+T ,弹出终端
sudo gedit /etc/hostname
sudo gedit /etc/hosts
结果:
Ubuntu14 hostname 文件 Master.Hadoop
hosts文件 127.0.0.1 localhost 192.168.1.111Master.Hadoop 192.168.1.112 Slaver1.Hadoop
Ubuntu14Slaver1 hostname 文件 Slaver1.Hadoop
hosts文件 127.0.0.1 localhost 192.168.1.111 Master.Hadoop 192.168.1.112 Slaver1.Hadoop
使用ping 互相连通宿主机和虚拟机(会用到ctrl+c让ping停止)
3.5 虚拟机安装配置jdk
保证虚拟机能联网,打开ubuntu火狐浏览器,下载安装参考百度地址:http://jingyan.baidu.com/article/c33e3f48a3365dea15cbb5c9.html
我的jdk安装目录 /usr/lib/jvm/jdk1.8.0_73
使用java-version查看jdk
3.6 SSH无密码登陆验证配置
安装ssh
命令:sudo apt-get install openssh-server
sudo apt-get install openssh-client
使用ssh version 查看ssh是否安装成功
生成无密码密钥对:id_rsa(私钥)id_rsa.pub(公钥),默认存储在/home/ysu(用户名)/.ssh目录下
命令:ssh-keygen -t rsa -P ''
使用ls 查看是否有这两个钥
把id_rsa.pub追加到授权的key里面去。
命令:cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
使用root用户登陆修改ssh配置文件
命令:su //输入root密码切换到超级用户
gedit /etc/ssh/sshd_config
检查下面几行
PermitRootLogin yes(要改成yes)
RSAAuthentication yes # 启用 RSA 认证 (去掉最前面#)
PubkeyAuthentication yes # 启用公钥私钥配对认证方式(去掉最前面#)
AuthorizedKeysFile %h/.ssh/authorized_keys # 公钥文件路径 (去掉最前面#)
重启ssh服务
/home/ysu/.ssh/ service ssh restart
使用exit 退出root登陆,验证ssh是否设置成功
ssh localhost
在测试有可能出现 Agent admitted failure to sign using the key
解决的办法: ssh-add ~/.ssh/id_rsa
将公钥传到远程主机上
命令:cd /home/ysu/.ssh
ssh-copy-id ysu@Slaver1.Hadoop//这里是Master传入Slaver1
enter完后输入Slaver1.Hadoop密码
检测是否可以无密码登陆
命令:ssh Slaver1.Hadoop
结果 ysu@Master:~$变成ysu@Slaver1:~$
最后Slaver1机器也按照以上的步骤重复一遍
3.7 Hadoop安装配置
注意:Hadoop2.X版本跟1.X版本很多命令不一样,需要配置的文件也不一样。
保证虚拟机能联网,打开ubuntu火狐浏览器,下载Hadoop(默认下载到/home/ysu/下载目录里面)
root用户登陆将hadoop安装包移动到/usr目录下
cp /home/ysu/下载/hadoop-2.6.4.tar.gz /usr/
解压安装包
cd /usr/
tar -xzvf hadoop-2.6.4.tar.gz
重命名为hadoop
mv hadoop-2.6.4 hadoop
给ysu用户分配hadoop文件夹读权限
chown -R ysu:ysu hadoop
删除安装包
rm -rf hadoop-2.6.4.tar.gz
本地文件系统创建一下文件夹
mkdir /usr/hadoop/tmp
mkdir /usr/hadoop/dfs/data
mkdir /usr/hadoop/name
修改 /etc/profile文件 添加hadoop路径
cd profile
sudo gedit /etc/profile
文件中
# set hadoop path
export HADOOP_HOME=/usr/hadoop
export PATH=
PAT
H
:PATH:HADOOP_HOME/bin
配置7个文件 均在/usr/hadoop/etc/hadoop/
配置 hadoop-env.sh //修改JAVA_HOME
export JAVA_HOME=/usr/lib/jvm/
jdk1.8.0_73
配置 yarn-env.sh//修改
JAVA_HOME
export JAVA_HOME=/usr/lib/jvm/
jdk1.8.0_73
配置slaves文件//增加slave节点
Slaver1.Hadoop
配置core-site.xml文件
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://Master.Hadoop:9000</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/hadoop/tmp</value>
<description>Abasefor other temporary directories.</description>
</property>
<property>
</configuration>
配置hdfs-site.xml//增加hdfs配置信息(namenode、datanode端口和目录位置)
<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>Master.Hadoop:9001</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/usr/hadoop/dfs/data</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/usr/hadoop/dfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
</configuration>
配置 mapred-site.xml 文件//增加mapreduce配置(使用yarn框架、jobhistory使用地址以及web地址)
注意/usr/local/hadoop/etc/hadoop/文件夹下有mapred.xml.template文件,需要复制并重命名
cp mapred-site.xml.template mapred-site.xml
sudo gedit mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>Master.Hadoop:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>Master.Hadoop:19888</value>
</property>
</configuration>
配置yarn-site.xml//增加yarn功能
<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.Hadoop:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>Master.Hadoop:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>Master.Hadoop:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>Master.Hadoop:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>Master.Hadoop:8088</value>
</property>
</configuration>
以上Master的hadoop配置完毕,配置salver的hadoop
把master下的hadoo文件夹传到salver即可
普通用户和root用户均可注意sudo 和su的区别
命令:scp -r /usr/hadoop root@Salver1.Hadoop:/usr/
给ysu用户分配hadoop文件夹读权限
chown -R ysu:ysu hadoop
修改 /etc/profile文件 添加hadoop路径
cd profile
sudo gedit /etc/profile
文件中
# set hadoop path
export HADOOP_HOME=/usr/hadoop
export PATH=
PAT
H
:PATH:HADOOP_HOME/bin
这样slave的机器hadoop也配置好了
3.8 启动Hadoop
格式化HDFS
hdfs namenode -format
启动hadoop
/usr/hadoop/sbin/start-dfs.sh
/usr/hadoop/sbin/start-yarn.sh
3.9查看集群和进程
jps//jps命令
/usr/hadoop/bin/hdfs dfsadmin -report //查看集群 (结果没出来,有待修复)
火狐浏览器打开
Master.Hadoop:50070
Master.Hadoop:8088(结果没出来,有待修复)
Slaver1.Hadoop:8042