hadoop环境搭建
来源:互联网 发布:淘宝微淘怎么开通 编辑:程序博客网 时间:2024/06/05 08:51
一、整体环境:
Hadoop 2.0.0-cdh4.5.0
Java version "1.7.0_45"
centos 7 (软件源仓库可选用阿里云 http://mirrors.aliyun.com/repo/ 或163的)
VMware虚拟机3台:(实际ip根据网关来定)
192.168.0.8 master
192.168.0.9 slave1
192.168.0.10 slave2
所有机器用同一用户名(也可另建新用户)
二、虚拟机下配置
vm编辑-虚拟网络编辑-选择vmnet8可看默认网关
Ø 配置静态IP
Ø 配置/etc/hosts(本机dns,文件添加所有集群机器的ip 名称可方便ssh操作)
Ø 配置/etc/hostname
Ø 安装JDK
/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
HWADDR=00:26:18:0B:38:C0
ONBOOT=yes
IPADDR=192.168.0.20//设置的ip
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
IP生效:
ifdown eth0
ifup eth0
hostname修改
vim /etc/sysconfig/network
NETWORKING=yes#使用网络
HOSTNAME=master#设置主机名称(机器名称)
配置DNS:
vi /etc/resolv.conf
nameserver 202.96.134.133
命令:Source /etc/resolv.conf修改信息生效
[如果使用的是域名,需要在所有机器上修改hostname和hosts
hostname修改:/etc/sysconfig/network,HOSTNAME=域名
hosts修改:/etc/hosts,ip 域名]
安装jdk
1)、将jdk.tar.gz解压到/et/local/:tar –zxvf jdk.tar.gz
2)、配置java环境变量,在/etc/profile中添加:
export JAVA_HOME=/usr/local/jdk
export JRE_HOME=/usr/local/jdk/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin
3)、使环境变量有效:source /etc/profile
4)、测试jdk安装是否成功:java -version
三、ssh免密码登陆
1)、所有节点:创建空密码登陆,在家目录或根目录的.ssh文件夹下生成id_rsa和id_rsa.pub文件:ssh-keygen –t rsa –P ''
2)、slave1:scp authorized_keys root@master:~/.ssh/temp1
slave2:scp authorized_keys root@master:~/.ssh/temp2
Master:cat temp1 >> authorized_keys
cat temp2 >> authorized_keys
rm temp1
rm temp2
scp authorized_keys root@slave1:~/.ssh/
scp authorized_keys root@slave2:~/.ssh/
[特别注意]如果没有修改hostname,将id_rsa.pub中的localhost修改为ip,否则在authorized_keys中全部是localhost]
[特别注意]修改authorized_keys文件的权限为600:chmod 600 ~/.ssh/authorized_keys
3)所有用root用户系统配置 /etc/ssh/sshd_config 文件
sudo vi sshd_config
在文件中找到以下几行
RSAAuthentication yes
PubkeyAuthentication yes
#AuthorizedKeysFile%h/.ssh/authorized_keys
把#去掉即可,系统就能通过authorized_keys来识别公钥了
运行 ps -e | grep ssh,查看是否有sshd进程
如果没有,说明server没启动,通过 /etc/init.d/ssh -start 启动server进程
如果提示ssh不存在那么就是没安装server
4)、root用户重启sshd:service sshd restart(或systemctl restart sshd.service)
5)解决 Agentadmitted failure to sign using the key
如果出现该错误,则需要在所有的节点都执行 ssh-add ~/.ssh/id_rsa 将私钥加入ssh。
可随时用scp (-r) 本地url @slave1:目的url来传送数据
四、hadoop安装
1)下载hadoop代码到一个文件夹下(如/home/hadoop/):wget http://archive.cloudera.com/cdh4/cdh/4/hadoop-2.0.0-cdh4.5.0.tar.gz
2)解压缩:tar –zxvf hadoop-2.0.0.tar.gz
3)将文件夹重命名为cdh
4)添加环境变量 /etc/profile
export JAVA_HOME=/usr/lib/jvm7/jdk(jdk安装路径)
export HADOOP_HOME=/home/hadoop/cdh(根据自己的路径)
ExportPATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
exportCLASSPATH=$CLASSPATH:.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
sudo source /etc/profile 使环境变量生效
5)添加文件夹(所有节点)
/home/hadoop/tempdata
/home/hadoop/mapred_system
/home/hadoop/mapred_local
/home/hadoop/name
/home/hadoop/data
6)修改配置文件(/cdh/etc/hadoop下)(详见配置文件说明)
hadoop-env.sh(yarn-env.sh也要)
修改hadoop-env.sh配置文件,设置jdk所在的路径,在里面找到JAVA_HOME,并将它的值设置为你电脑jdk所在的绝对路径
core-site.xml
添加如下代码:
<property>
<name>fs.default.name</name>
<value>hdfs://master:8020</value>
<final>true</final>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/fulong/hadoop/tempdata</value>
</property>
yarn-site.xml
添加如下代码:
<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:8031</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>
<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.nodemanager.resource.cpu-vcores</name>
<value>1</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
注意:yarn.nodemanager.aux-services的值是“mapreduce_shuffle”(在hadoop-2.1-beta中的值是“mapreduce.shuffle”)
mapred-site.xml
添加如下代码:
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapred.system.dir</name>
<value>file:/home/fulong/hadoop/mapred_system</value>
<final>true</final>
</property>
<property>
<name>mapred.job.tracker</name>
<value>master:49001</value>
</property>
<property>
<name>mapred.local.dir</name>
<value>file:/home/fulong/hadoop/mapred_local</value>
<final>true</final>
</property>
hdfs-site.xml
添加如下代码:
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/fulong/hadoop/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/fulong/hadoop/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
7)修改master及slaves文件(hadoop的conf文件夹中)
master:去掉"localhost",加入Master机器的IP:192.168.*.*
Slaves:去掉"localhost",加入集群中所有Slave机器的IP,每行一个。
8)关闭所有机器防火墙
chkconfig iptables off
CentOS 7.0默认使用的是firewall作为防火墙,使用iptables必须重新设置一下
a、直接关闭防火墙
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
b、设置 iptables service
yum -y install iptables-services
如果要修改防火墙配置,如增加防火墙端口3306
vi /etc/sysconfig/iptables
增加规则
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
保存退出后
systemctl restart iptables.service #重启防火墙使配置生效
systemctl enable iptables.service #设置防火墙开机启动
最后重启系统使设置生效即可。
9)启动hadoop
a.格式化hdfs文件系统:
hdfs namenode -format(master)
hadoop datanode -format(slaves)
b.启动hdfs:(或者start-all.sh可启动两个)
Start-dfs.sh
启动yarn
Start-yarn.sh
c.如果成功启动,
则在master机器执行jps命令可以看到如下进程:
12916 NameNode
13280 ResourceManager
13133 SecondaryNameNode
15025 Jps
在所有slave机器执行jps可看到如下进程:
576 Jps
31403 NodeManager
31252 DataNode
如果出现任何问题,进入相应机器/home/hadoop/cdh/logs目录查看日志
hdfs dfsadmin -report 可查看集群状态
成功启动后,浏览器访问以下页面可以查看hadoop相关信息:
http://master:50070/dfshealth.jsp
http://master:8088/cluster/nodes
d. 命令:mr-jobhistory-daemon.sh start historyserver 启动JobHistoryServer服务
e.stop-all.sh可关闭集群
相关链接:
l OS为Centos 7.0:下载地址http://mirrors.aliyun.com/centos/7/isos/x86_64/
l Hadoop-2.0.0-cdh4.5.0下载地址
http://archive.cloudera.com/cdh4/cdh/4/hadoop-2.0.0-cdh4.5.0.tar.gz
- 【hadoop】hadoop环境快速搭建
- Hadoop - Hadoop开发环境搭建
- Hadoop环境搭建
- hadoop开发环境搭建
- linux搭建hadoop环境
- nutch+hadoop环境搭建
- Hadoop环境搭建-集群
- eclipse hadoop 环境搭建
- linux搭建hadoop环境
- hadoop环境搭建步骤
- MyEclipse 搭建 hadoop 环境
- Hadoop 环境搭建
- windows搭建hadoop环境
- Hadoop环境搭建
- hadoop集群环境搭建
- Hadoop环境搭建
- hadoop环境搭建问题
- hadoop单机环境搭建
- Android数据库操作查询中Cursor类的问题
- JPEG文件编/解码详解
- github上万颗star的21个JAVA(19个Android相关)开发框架,知道多少,用过多少(截止2016年12月17日)
- JavaScript中定义静态变量和方法,私有变量和方法,模块模式和增强型模块模式
- tensorflow的GPU版本在win7 64x下的安装
- hadoop环境搭建
- 【POJ 1611 The Suspects】+ 并查集
- java-weibo
- Linux快速找到最近修改的文件
- EventBus的使用(二)
- svn在本地搭建服务器,自己可以访问,局域网的其他电脑不可以访问
- shareSDK判断是否安装微博客户端、qq客户端不好使,或分享无法调起微博、qq客户端。
- 微信绑定/解绑设备ticket
- Android布局@id与@+id区别