上一课讲了如何在一台机器上建立Hadoop环境,我们只配置了一个NHName Node, 这个Name Node里面包含了我们所有Hadoop的东西,包括Name Node, Secondary Name Node, Job Tracker, Task Tracker,这一课讲解如何把上述配置放到不同机器上,从而构建一个分布式的
上一课讲了如何在一台机器上建立Hadoop环境,我们只配置了一个NHName Node, 这个Name Node里面包含了我们所有Hadoop的东西,包括Name Node, Secondary Name Node, Job Tracker, Task Tracker,这一课讲解如何把上述配置放到不同机器上,从而构建一个分布式的hadoop配置。
1. hadoop分布式安装概览
a) 2-10个nodes:Name Node, Job Tracker, Secondary Name Node都可以放在一台机器上,所有的Data Node和Task Tracker放在其他机器上
b) 10-40个nodes: 可以把Secondary Name Node分开来
c) 100+ nodes: 所有的Node和Trackers都分开放,并且添加rack awareness支持,同时需要各类优化设置。
本课的流程:
配置好ssh到所有的机器上,使其可以免输入密码连接(如同上一课所述)
配置好masters和slaves
配置好所有的*-site文件
学习使用命令来启动,控制和关闭Hadoop(常用脚本说明如下图)。

2. 配置Hadoop到2-10个节点上
这个图很帅,我们在HN Client机器上来控制所有的Hadoop机器,每个机器给一个窗口(下图已经通过ssh链接到每台机器了,链接方式见上一课)。
第一步:取消所有机器上面的ssh密码访问
ssh-copy-id -i $HOME/.ssh/id-rsa.pub nuggetuser@HNData1
把这个文件拷贝到所有的HNData和Secondary Name Node上面。这样就可以无密码登陆了。

第二步:配置Master和Slaves
所有的配置文件都在/usr/local/hadoop/conf文件夹下面
配置好masters来指向Secondary Name Node, 然后配置slaves文件指向所有的HNData Node
Master文件默认的是localhost
用任何编辑器打开masters文件,删除localhost, 输入HN2ndName (就是你Secondary Name Node 的名称)
同样,编辑slaves文件,把所有的HNData Node名称输入

第三步:配置所有的Data Node,让它们指向Name Node,所有的Task Tracker指向Job Tracker
通过core-site.xml配置前者,通过mapred-site.xml配置后者
在HNData Node配置core-site.xml如下(因为我们是直接把上次的机器配置拷贝进来的,所以可以发现这个文件已经配置过了,如下:)

配置mapred-site.xml如下:

上面的配置应该已经是这样了,不过最好还是检查好每一个Data Node中的配置是不是这样
第四步:重新格式化Name Node
hadoop namenode -format
第五步:配置完成了,可以试着看看能否启动
start-dfs.sh 这个命令启动所有的Name Nodes和Data Nodes,可以使用jps命令来查看是否成功启动了。

start-mapred.sh 这个命令启动所有的Job Trackers和Task Trackers, 同样使用jps来检测是否启动了,如果没有成功,可以去看看logs文件
3. 启动和关闭Hadoop各部分的命令
如果要删除一个node,可以建立一个excludes文件,在里面输入你不想要的node名称,比如HNData3.
然后配置HN Name Node中core-site.xml如下(在最后添加一个property)

同样可以建立一个includes文件来指定包含哪些节点
配置完成后,启用配置:
hadoop dfsadmin -refreshNodes
我们可以在hnname:50070上面看到被排除的Node

运行rebalancer命令
start-balancer.sh
关闭Job Tracker, Task Tracker:
stop-mapred.sh
关闭Name Node, Data Nodes:
stop-dfs.sh

如果要同时启动HNName Node, Data Node, Job Tracker, Task Tracker,则直接输入:
start-all.sh

MySQL 사용자를 추가하는 방법을 마스터하는 것은 데이터베이스 관리자 및 개발자가 데이터베이스의 보안 및 액세스 제어를 보장하기 때문에 데이터베이스 관리자 및 개발자에게 중요합니다. 1) CreateUser 명령을 사용하여 새 사용자를 만듭니다. 2) 보조금 명령을 통해 권한 할당, 3) FlushPrivileges를 사용하여 권한이 적용되도록하십시오.

ChooseCharfixed-lengthdata, varcharforvariable-lengthdata, andtextforlargetextfields.1) charisefficientsconsentent-lengthdatalikecodes.2) varcharsuitsvariable-lengthdatalikeNames, 밸런싱 플렉스 및 성능

MySQL에서 문자열 데이터 유형 및 인덱스를 처리하기위한 모범 사례는 다음과 같습니다. 1) 고정 길이의 Char, 가변 길이의 Varchar 및 큰 텍스트의 텍스트와 같은 적절한 문자열 유형 선택; 2) 인덱싱에 신중하고, 과도한 인덱싱을 피하고, 공통 쿼리에 대한 인덱스를 만듭니다. 3) 접두사 인덱스 및 전체 텍스트 인덱스를 사용하여 긴 문자열 검색을 최적화합니다. 4) 인덱스를 작고 효율적으로 유지하기 위해 인덱스를 정기적으로 모니터링하고 최적화합니다. 이러한 방법을 통해 읽기 및 쓰기 성능의 균형을 맞추고 데이터베이스 효율성을 향상시킬 수 있습니다.

Toaddauserremotelytomysql, 다음에 따르면 : 1) 1) ConnectTomysqlasRoot, 2) CreateEnewerwitHremoteAccess, 3) GrantNecessaryPrivileges 및 4) FlushPrivileges

tostorestringsefficiallyInmysql, choOseTherightDatAtypeBasedOnyOURNEDS : 1) USECHARFIXED-lengthstringsLikeCountryCodes.2) UseVarCharForVariable-lengthstringsLikenames.3) USETEXTFORLONG-FORMTEXTCONTENT.4) USETEXTFORLONG-FORMTEXTCONTENT.4) USETLOBFORBINARYIMAGES

MySQL의 블로브 및 텍스트 데이터 유형을 선택할 때 Blob은 이진 데이터를 저장하는 데 적합하며 텍스트는 텍스트 데이터를 저장하는 데 적합합니다. 1) Blob은 그림 및 오디오와 같은 이진 데이터에 적합합니다. 2) 텍스트는 기사 및 주석과 같은 텍스트 데이터에 적합합니다. 선택할 때는 데이터 속성 및 성능 최적화를 고려해야합니다.

아니요, youshouthusTherootUserInmysqlforyOUrProduct.instead, createScificuserswithlimitedPrivilegestoEnhancesecurity 및 forcuments : 1) grantOnlySerypermissionStothisUser, 3) 정기적으로 재구성 한 사람들이 관리자입니다

mysqlstringdatatatypess는 Bechosenbeasedondatacharacteristicsandusecases : 1) Usecharfixed-lengthstringslikecountryCodes.2) UseVarCharforVariable-lengthstringslikenames.3) UseBaryBarBarBaryBinaryDatalikeCryPyps.4) Usebortextforlargeuns


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

맨티스BT
Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.