hadoop 分布式环境搭建
来源:互联网 发布:unity3d lua教程 编辑:程序博客网 时间:2024/05/18 01:42
sudo gedit /etc/hosts 编写hosts文件,每台机子都要编辑
ip master
ip data1
ip data2
如果能互相ping 说明成功
安装JDK 每台都要安装
java -version查看java version,ubuntu默认没装jdk,centos默认装openjdk,所以要是centos,先卸载openjdk在安装
sudo apt-get update 更新软件包信息
sudo apt-get install default-jdk 安装默认jdk
java -version 查看是否安装成功
update-alternatives --display java 查看安装路径,等会配置java_home /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
设置SSH无密码登录
sudo apt-get install ssh 安装ssh
su hadoop 切换hadoop用户,也就是你当前用户
cd /home/hadoop
$ ssh-keygen -t rsa 一直回车,生成密钥
完成后,在home跟目录下会产生隐藏文件夹.ssh(每台机子都要做到这里)
master 生成authorized
$ cd .ssh
cp id_rsa.pub authorized_keys(或者cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys 将产生的密钥放到许可者文件中)
将authorized_keys复制到每个data下的.ssh文件夹
测试:
$ssh data1 免输密码
关闭并重新打开终端 $ssh data1 免输密码
在master上安装HADOOP
sudo tar -zxvf hadoop-2.7.3.tar.gz 解压hadoop
sudo mv hadoop-2.7.3 /usr/local/hadoop 移动到文件夹(用命令移动,这样子会自动删除hadoop-2.7.3这个文件夹,之后配置hadoop_home就不用多写一个文件夹路径)
sudo gedit ~/.bashrc 设置环境变量
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
export JAVA_LIBRARY_PATH=$HADOOP_HOME/lib/native:$JAVA_LIBRARY_PATH
source ~/.bashrc 使环境变量立即生效
sudo gedit /usr/local/hadoop/etc/hadoop/hadoop-env.sh 修改hadoop-env.sh
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 修改里面的javahome
sudo gedit /usr/local/hadoop/etc/hadoop/core-site.xml 修改core-site.xml
<property>
<name>fs.default.name</name>
</value>hdfs://master:9000</value>
</property>
sudo gedit /usr/local/hadoop/etc/hadoop/yarn-site.xml 修改yarn-site.xml
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.auxservices.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:8031</value></property>
sudo gedit /usr/local/hadoop/etc/hadoop/hdfs-site.xml 修改hdfs-site.xml
如果是分布式模式,还需其他配置,本文是伪分布模式,即master和slave为同一台机子,适合初学者,以及编写代码练习
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop/hadoop_data/hdfs/namenode</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
复制模板文件 sudo cp /usr/local/hadoop/etc/hadoop/mapred-site.xml.template /usr/local/hadoop/etc/hadoop/mapred-site.xml
sudo gedit /usr/local/hadoop/etc/hadoop/mapred-site.xml 编辑mapred-site.xml
<property>
<name>mapred.job.tracker</name>
<value>master:54311</value>
</property>
将hadoop目录复制到data1 data2 修改hdfs-site.xml
sudo gedit /usr/local/hadoop/etc/hadoop/hdfs-site.xml 修改hdfs-site.xml
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop/hadoop_data/hdfs/datanode</value>
</property>
创建并格式HDfS目录
在master上 sudo mkdir -p /usr/local/hadoop/hadoop_data/hdfs/namenode
在data上 sudo mkdir -p /usr/local/hadoop/hadoop_data/hdfs/datanode
分别在所有机器上更改权限sudo chown hduser:hduser -R /usr/local/hadoop 将hadoop目录的所有者权限更改为hduser
在master上:hadoop namenode -format 格式化namenode
启动hadoop
start-all.sh或者分别启动dfs和yarn(start-dfs.sh、start-yarn.sh)
jps查看进程
在master上
可以看到
3120 ResourceManager
3650 NameNode
4025 SecondaryNameNode
4395 Jps
jps查看进程
在datanode上
可以看到
4288 NodeManager
4395 Jps
3820 DataNode
ip master
ip data1
ip data2
如果能互相ping 说明成功
安装JDK 每台都要安装
java -version查看java version,ubuntu默认没装jdk,centos默认装openjdk,所以要是centos,先卸载openjdk在安装
sudo apt-get update 更新软件包信息
sudo apt-get install default-jdk 安装默认jdk
java -version 查看是否安装成功
update-alternatives --display java 查看安装路径,等会配置java_home /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
设置SSH无密码登录
sudo apt-get install ssh 安装ssh
su hadoop 切换hadoop用户,也就是你当前用户
cd /home/hadoop
$ ssh-keygen -t rsa 一直回车,生成密钥
完成后,在home跟目录下会产生隐藏文件夹.ssh(每台机子都要做到这里)
master 生成authorized
$ cd .ssh
cp id_rsa.pub authorized_keys(或者cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys 将产生的密钥放到许可者文件中)
将authorized_keys复制到每个data下的.ssh文件夹
测试:
$ssh data1 免输密码
关闭并重新打开终端 $ssh data1 免输密码
在master上安装HADOOP
sudo tar -zxvf hadoop-2.7.3.tar.gz 解压hadoop
sudo mv hadoop-2.7.3 /usr/local/hadoop 移动到文件夹(用命令移动,这样子会自动删除hadoop-2.7.3这个文件夹,之后配置hadoop_home就不用多写一个文件夹路径)
sudo gedit ~/.bashrc 设置环境变量
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
export JAVA_LIBRARY_PATH=$HADOOP_HOME/lib/native:$JAVA_LIBRARY_PATH
source ~/.bashrc 使环境变量立即生效
sudo gedit /usr/local/hadoop/etc/hadoop/hadoop-env.sh 修改hadoop-env.sh
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 修改里面的javahome
sudo gedit /usr/local/hadoop/etc/hadoop/core-site.xml 修改core-site.xml
<property>
<name>fs.default.name</name>
</value>hdfs://master:9000</value>
</property>
sudo gedit /usr/local/hadoop/etc/hadoop/yarn-site.xml 修改yarn-site.xml
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.auxservices.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:8031</value></property>
sudo gedit /usr/local/hadoop/etc/hadoop/hdfs-site.xml 修改hdfs-site.xml
如果是分布式模式,还需其他配置,本文是伪分布模式,即master和slave为同一台机子,适合初学者,以及编写代码练习
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop/hadoop_data/hdfs/namenode</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
复制模板文件 sudo cp /usr/local/hadoop/etc/hadoop/mapred-site.xml.template /usr/local/hadoop/etc/hadoop/mapred-site.xml
sudo gedit /usr/local/hadoop/etc/hadoop/mapred-site.xml 编辑mapred-site.xml
<property>
<name>mapred.job.tracker</name>
<value>master:54311</value>
</property>
将hadoop目录复制到data1 data2 修改hdfs-site.xml
sudo gedit /usr/local/hadoop/etc/hadoop/hdfs-site.xml 修改hdfs-site.xml
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop/hadoop_data/hdfs/datanode</value>
</property>
创建并格式HDfS目录
在master上 sudo mkdir -p /usr/local/hadoop/hadoop_data/hdfs/namenode
在data上 sudo mkdir -p /usr/local/hadoop/hadoop_data/hdfs/datanode
分别在所有机器上更改权限sudo chown hduser:hduser -R /usr/local/hadoop 将hadoop目录的所有者权限更改为hduser
在master上:hadoop namenode -format 格式化namenode
启动hadoop
start-all.sh或者分别启动dfs和yarn(start-dfs.sh、start-yarn.sh)
jps查看进程
在master上
可以看到
3120 ResourceManager
3650 NameNode
4025 SecondaryNameNode
4395 Jps
jps查看进程
在datanode上
可以看到
4288 NodeManager
4395 Jps
3820 DataNode
阅读全文
0 0
- hadoop-分布式环境搭建
- Hadoop分布式环境搭建
- Hadoop分布式环境搭建
- hadoop分布式环境搭建
- Hadoop分布式环境搭建
- hadoop 分布式环境搭建
- 搭建分布式Hadoop环境
- Hadoop 分布式环境搭建
- Hadoop伪分布式环境搭建
- Hadoop全分布式环境搭建
- Hadoop全分布式环境搭建
- hadoop完全分布式环境搭建
- Hadoop伪分布式环境搭建
- 快速搭建 Hadoop 分布式环境
- Hadoop伪分布式环境搭建
- Hadoop伪分布式环境搭建
- hadoop伪分布式环境搭建
- Hadoop伪分布式环境搭建
- 一个批量添加的Shell脚本
- Spring定时任务(Quartz)用法
- 排序算法之冒泡排序
- Extjs4的Grid中rownumberer倒序排序
- bfs 穿越雷区 杭电题目
- hadoop 分布式环境搭建
- 多线程 通过GCD实现网络并行
- Activity生命周期与启动模式基础知识备忘录
- Opentext BPS 平台开发入门实战演练——基于XForm界面开发
- Spring定时任务(Quartz第二种)用法
- 苹果发布用户来源功能,从渠道到数据监控或将全面洗牌!
- ASP.NET MVC5路由系统机制详细讲解
- mysql show 语句
- Access学习要点2----Access2010中如何运行SQL执行SQL语句