序文
前には、当社の生産環境では、我々は確かに間のサーバーの疑似分散クラスタの使用のみではなく、実際には、ビルド疑似分散クラスタを示します。次に、私は完全に分散クラスタを構築するためにあなたと共有されます!
実際には、最も基本的な建物は完全に基本的には何の違い、わずかな違いをクラスタや擬似分散クラスタを配布しません。
まず、完全分散型Hadoopクラスタの前提を構築
1.1、ネットワーク
それは仮想マシンでLinuxオペレーティングシステムの複数のインストールされている場合は1)、あなたは、NATを使用することができますまたはブリッジモードが可能です。お互いにpingを実行できるお試しください!
構築するために自分の複数のコンピュータ(Linuxシステムの同じバージョンをインストールする各コンピュータ)の間でローカルエリアネットワーク場合2)、ブリッジモードへのネットワークモードを調整するために使用されるUbuntuのオペレーティングシステムとなります。
ステップ:
まず:あなたは、右クリックし、[設定]を選択を使用するネットワークアダプタを選択する仮想マシンのラベル上、決定するためにブリッジモードを選択します
第二:セットアップが完了したら、仮想マシンを再起動します
第三は、次のとおりです。再設定ブリッジ前にキャンセル固定IP
デスクトップ:グラフィカルインターフェース設定。
サーバー版:の/ etc /ネットワーク/のインターフェイスの中
のiface ens33のinetのDHCP
#address ...
第四:ifconfigコマンドは、IPを取得します。172.16.21.xxx
最後に、それを試してみるpingできません
1.2、JDKをインストール
設定する各サーバークラスタは、JDK、ここに提示されないをインストールする必要があります、上で閲覧することができます
1.3。インストールのHadoop
各サーバのクラスタはHadoopのではなく、ここに提示をインストールする必要があります設定することが、1上で閲覧することができます。
完全分散型のクラスタ構成を構築するために、2つ、Hadoopの
設定は/ opt / Hadoopのは/ etc / Hadoopの関連文書
2.1、hadoop-env.sh
25行:輸出JAVA_HOME = $ {JAVA_HOME}が
変更された:輸出JAVA_HOME = / OPT / JDK
2.2、コア - site.xmlの
<設定> <プロパティ> <名前> fs.defaultFS </名前> <値> HDFS:// MIP:9000 </ value>の </ property>の </設定>
分析:
MIP:MIPはマスターノードでのIPで、MIPのIPからのすべてのノードがマスターノードです。
9000:マスターノードとスレーブノードは、ポート9000に配置されています
2.3、HDFS-site.xmlの
注意:**:以下のように構成いくつかのディレクトリ。-R 777を使用する必要が/ dataディレクトリのパーミッション。
<構成> <プロパティ> <名前> dfs.nameservices </名前> <値>のHadoopクラスター</値> </ property>の <プロパティ> <名前> dfs.replication </名前> <値> 1 </値> </ property>の <プロパティ> <名前> dfs.namenode.name.dir </名前> <値>のファイル:///データ/ Hadoopの/ HDFS / NN </ value>の </ property>の <プロパティ> <名前> dfs.namenode.checkpoint.dir </名前> <値>ファイル:///データ/ Hadoopの/ HDFS / SNN </ value>の </ property>の値>ファイル:///データ/ Hadoopの/ HDFS / SNN </ value>の <プロパティ> <名前> dfs.namenode.checkpoint.edits.dir </名前> <値>のファイル:///データ/ Hadoopの/ HDFS / SNN </ value>の </ property>の <プロパティ> <名前> DFS。 datanode.data.dir </名前> <値>のファイル:///データ/ Hadoopの/ HDFS / DN </ value>の </ property>の </設定>
分析:
dfs.nameservices:国民の間に完全に分散したクラスタのクラスタで同じ値に
dfs.replication:それはテキストの複数のバックアップとしてHadoopの信頼性を有し、この値は(ノード数に等しい未満)バックアップの数を指し
一つの問題:
dfs.datanode.data.dir:設定が使用されている場合、時間がノードから立ち上がっするとき、ここで私が問題に遭遇しました。変更がある場合はfs.datanode.data.dirを使用します。
しかし、これを与えられた公式文書は実際にそれです!だから、非常に公共のプール。バージョン2.0の前だけなので、FS
2.4.mapred-site.xmlに
注意:すぐに解凍した後、このファイルではない場合、あなたはmapred-site.xml.templateするコピーが-site.xmlのmapredされる必要があります。
<設定> <プロパティ>
<! -指定のMapReduce运行在糸上- > <名前> mapreduce.framework.name </名前> <値>糸</ value>の </ property>の </設定>
2.5、糸site.xmlの
<設定> <! -指定のResourceManager的地址- > <プロパティ> <名前> yarn.resourcemanager.hostname </名前> <値> MIP </ value>の </ property>の <! -指定減速获取数据的方式- > <プロパティ> <名前> yarn.nodemanager.aux-サービス</名前> <値> mapreduce_shuffle </ value>の </ property>の <プロパティ> <名前> yarn.nodemanager.local-dirsに</名前> <値>ファイル:///データ/ Hadoopの/糸/ NM </ value>の </プロパティ>
分析:
MIP:MIPはマスターノードでのIPで、MIPのIPからのすべてのノードがマスターノードです。
2.6、上記のディレクトリ構成を作成します
須藤ます。mkdir -p /データ/ Hadoopの/ HDFS / NN 須藤ます。mkdir -p /データ/ Hadoopの/ HDFS / DN 須藤ます。mkdir -p /データ/ Hadoopの/ HDFS / SNN 須藤ます。mkdir -p /データ/ Hadoopの/糸/ NM
sudoのはchmod -R 777 /データ:に設定する必要があります
第三に、完全分散型クラスタ・テストを構築
3.1動作環境
3台のUbuntuのサーバ(Ubuntuの17.04)があります。
ホスト名:udzyh1 IP:マスターノードとして1.0.0.5(ノード名)
ノード(ノードデータ)からのよう1.0.0.3:のserver1 IP:ホスト名
ホスト名:udzyh2 IP:ノード(ノードデータ)などから1.0.0.7
jdk1.8.0_131
Hadoopの2.8.1
起動およびシャットダウン3.2、サーバークラスタ
ノードの名前、リソースマネージャは:これはマスターノードにオンまたはオフされます。
データノード、ノードマネージャ:これはノードからの起動やシャットダウンです。
MRジョブ・ログ管理:これはマスターノードを有効または無効にすることです。
3.3効果
マスターノード:udzyh1で
スレーブノードで:でSERVER1
スレーブノードで:でudzyh2
ます。http:1.0.0.5:私たちは、ウェブページのマスターノードを制御50070ビュー内の2つのノードから
設定に成功しました
3.4監視プラットフォーム
四、Hadoopクラスタの構成は、完全ノードを制御するために自由秘密のサインオン実装マスタノードから分散します
この構成は、関数ノードからプライマリノード管理(開閉)を達成することです。
我们只需要在主节点中使用start-dfs.sh/stop-dfs.sh就能开启或关闭namenode和所有的datanode,使用start-yarn.sh/stop-yarn.sh就能开启或关闭resourcemanager和所有的nodemanager。
4.1、配置主从节点之间的免密登录
1)在所有的主从节点中执行
3)在所有的从节点中执行
在从节点1.0.0.7
4)测试
我们可以查看他们是用户名相同的,所以可以直接使用ssh 1.0.0.3远程连接
4.2、实现主节点控制从节点
1)在主节点中
打开vi /opt/hadoop/etc/hadoop/slaves
4.3、测试实现主节点控制从节点
1)在主节点的服务器中执行start-dfs.sh
2)在web监控平台查询
3)在主节点的服务器中执行stop-dfs.sh
3)在主节点的服务器中执行start-yarn.sh
4)在web监控平台查询到
5)在主节点的服务器中执行stop-yarn.sh
五、配置集群中遇到的问题
2)主节点和从节点启动了,但是在主节点的web控制页面查找不到从节点(linux系统安装在不同的物理机上面)
解决方案:
它不能建立IPv6的连接,所以删除了IPv6之后系统会使用IPv4(在主节点上添加从节点的标识的)
4)在主节点的web控制页面查询不到从节点信息(但是使用jps可以查询到)
前言
上一篇介绍了伪分布式集群的搭建,其实在我们的生产环境中我们肯定不是使用只有一台服务器的伪分布式集群当中的。接下来我将给大家分享一下全分布式集群的搭建!
其实搭建最基本的全分布式集群和伪分布式集群基本没有什么区别,只有很小的区别。
一、搭建Hadoop全分布式集群前提
1.1、网络
1)如果是在一台虚拟机中安装多个linux操作系统的话,可以使用NAT或桥接模式都是可以的。试一试可不可以相互ping通!
2)如果在一个局域网当中,自己的多台电脑(每台电脑安装相同版本的linux系统)搭建,将所要使用的Ubuntu操作系统的网络模式调整为桥接模式。
步骤:
一是:在要使用的虚拟机的标签上右键单击,选择设置,选择网络适配器,选择桥接模式,确定
二是:设置完成之后,重启一下虚拟机
三是:再设置桥接之前将固定的IP取消
桌面版:通过图形化界面设置的。
服务器版:在/etc/network/interfaces
iface ens33 inet dhcp
#address ...
四是:ifconfig获取IP。172.16.21.xxx
最后试一试能不能ping通
1.2、安装jdk
每一个要搭建集群的服务器都需要安装jdk,这里就不介绍了,可以查看上一篇
1.3.安装hadoop
每一个要搭建集群的服务器都需要安装hadoop,这里就不介绍了,可以查看上一篇。
二、Hadoop全分布式集群搭建的配置
配置/opt/hadoop/etc/hadoop相关文件
2.1、hadoop-env.sh
25行左右:export JAVA_HOME=${JAVA_HOME}
改成:export JAVA_HOME=/opt/jdk
2.2、core-site.xml
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://mip:9000</value> </property> </configuration>
分析:
mip:在主节点的mip就是自己的ip,而所有从节点的mip是主节点的ip。
9000:主节点和从节点配置的端口都是9000
2.3、hdfs-site.xml
注意:**:下面配置了几个目录。需要将/data目录使用-R给权限为777。
<configuration> <property> <name>dfs.nameservices</name> <value>hadoop-cluster</value> </property> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:///data/hadoop/hdfs/nn</value> </property> <property> <name>dfs.namenode.checkpoint.dir</name> <value>file:///data/hadoop/hdfs/snn</value> </property> <property> <name>dfs.namenode.checkpoint.edits.dir</name> <value>file:///data/hadoop/hdfs/snn</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:///data/hadoop/hdfs/dn</value> </property> </configuration>
分析:
dfs.nameservices:在一个全分布式集群大众集群当中这个的value要相同
dfs.replication:因为hadoop是具有可靠性的,它会备份多个文本,这里value就是指备份的数量(小于等于从节点的数量)
一个问题:
dfs.datanode.data.dir:这里我在配置的时候遇到一个问题,就是当使用的这个的时候从节点起不来。当改成fs.datanode.data.dir就有用了。
但是官方给出的文档确实就是这个呀!所以很邪乎。因为只有2.0版本之前是fs
2.4.mapred-site.xml
注意:如果在刚解压之后,是没有这个文件的,需要将mapred-site.xml.template复制为mapred-site.xml。
<configuration> <property>
<!-指定Mapreduce运行在yarn上--> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
2.5、yarn-site.xml
<configuration> <!-- 指定ResourceManager的地址--> <property> <name>yarn.resourcemanager.hostname</name> <value>mip</value> </property> <!-- 指定reducer获取数据的方式--> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.nodemanager.local-dirs</name> <value>file:///data/hadoop/yarn/nm</value> </property>
分析:
mip:在主节点的mip就是自己的ip,而所有从节点的mip是主节点的ip。
2.6、创建上面配置的目录
sudo mkdir -p /data/hadoop/hdfs/nn sudo mkdir -p /data/hadoop/hdfs/dn sudo mkdir -p /data/hadoop/hdfs/snn sudo mkdir -p /data/hadoop/yarn/nm
一定要设置成:sudo chmod -R 777 /data
三、全分布式集群搭建测试
3.1、运行环境
有三台ubuntu服务器(ubuntu 17.04):
主机名:udzyh1 IP:1.0.0.5 作为主节点(名字节点)
主机名:server1 IP:1.0.0.3 作为从节点(数据节点)
主机名:udzyh2 IP:1.0.0.7 作为从节点(数据节点)
jdk1.8.0_131
hadoop 2.8.1
3.2、服务器集群的启动与关闭
名字节点、资源管理器:这是在主节点中启动或关闭的。
数据节点、节点管理器:这是在从节点中启动或关闭的。
MR作业日志管理器:这是在主节点中启动或关闭的。
3.3、效果
在主节点:udzyh1中
在从节点:server1中
在从节点:udzyh2中
我们在主节点的web控制页面中:http:1.0.0.5:50070中查看到两个从节点
说明配置成功
3.4、监控平台
四、Hadoop全分布式集群配置免密登录实现主节点控制从节点
配置这个是为了实现主节点管理(开启和关闭)从节点的功能:
我们只需要在主节点中使用start-dfs.sh/stop-dfs.sh就能开启或关闭namenode和所有的datanode,使用start-yarn.sh/stop-yarn.sh就能开启或关闭resourcemanager和所有的nodemanager。
4.1、配置主从节点之间的免密登录
1)在所有的主从节点中执行
3)在所有的从节点中执行
在从节点1.0.0.7
4)测试
我们可以查看他们是用户名相同的,所以可以直接使用ssh 1.0.0.3远程连接
4.2、实现主节点控制从节点
1)在主节点中
打开vi /opt/hadoop/etc/hadoop/slaves
4.3、测试实现主节点控制从节点
1)在主节点的服务器中执行start-dfs.sh
2)在web监控平台查询
3)在主节点的服务器中执行stop-dfs.sh
3)在主节点的服务器中执行start-yarn.sh
4)在web监控平台查询到
5)在主节点的服务器中执行stop-yarn.sh
五、配置集群中遇到的问题
2)主节点和从节点启动了,但是在主节点的web控制页面查找不到从节点(linux系统安装在不同的物理机上面)
解决方案:
システムがIPv4(プライマリノード上のノードからのロゴを追加)を使用した後は、IPv6が削除されたIPv6への接続を確立することはできません
4))からマスターノードのノード情報を見つけることができないウェブページを制御する(ただし、照会JPSを使用することができ