2024年Linux最新Linux环境快速搭建elasticsearch6(1),2024Linux运维笔试真题

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!


#### 创建用户


注意:以下的操作在node-0和node-1两台机器上都要做  
 es不允许root用户启动应用,因此需要创建用户:


1. 执行命令useradd es,即可创建用户es;
2. 执行命令passwd es,按照提示修改用户密码;


#### 给es用户增加sudo权限


注意:以下的操作在node-0和node-1两台机器上都要做


1. 给文件/etc/sudoers增加写权限:



chmod a+w /etc/sudoers


2. 打开文件/etc/sudoers;
3. 增加以下一行内容:



es ALL=(ALL:ALL) ALL


4. 保存后,修改sudoers文件的权限:



chmod 440 /etc/sudoers


#### 安装elasticsearch


注意:以下的操作在node-0和node-1两台机器上都要做


1. 在官网下载安装包,地址是:<https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.5.4.tar.gz>
2. 解压后的完整目录是/usr/local/work/es/elasticsearch-6.5.4,执行以下命令将文件夹的所有者和群组设置为es:



chown -R es:es /usr/local/work/es/elasticsearch-6.5.4


3. 执行ls命令确认一下所属用户和群组:



root@node-0:/usr/local/work/es# ls -al
total 12
drwxr-xr-x 3 root root 4096 Jan 11 18:54 .
drwxr-xr-x 6 root root 4096 Jan 11 18:43 …
drwxr-xr-x 8 es es 4096 Dec 17 13:21 elasticsearch-6.5.4


#### 在node-0机器安装nodejs


1. 在node-0机器安装nodejs,详细的操作步骤请参照文章[《Ubuntu16安装nodejs10》]( ),其实就是下载、解压、设置等操作,很快就能完成;
2. 执行以下命令,确保es账号能访问nodejs目录,是nodejs安装的目录:



sudo chmod 777 -R /usr/local/work/nodejs/node-v10.15.0-linux-x64


#### 设置elasticsearch


1. 打开node-0机器的文件,新增或者修改以下配置信息:




| 参数名 | 参数值 | 作用 |
| --- | --- | --- |
| [cluster.name]( ) | boling\_cavalry | 集群名称 |
| [node.name]( ) | node-0 | 节点名字 |
| network.host | 0.0.0.0 | 绑定IP |
| http.port | 9200 | 服务端口 |
| discovery.zen.ping.unicast.hosts | [“node-0”, “node-1”] | 集群节点主机的host |
| discovery.zen.minimum\_master\_nodes | 1 | 一个节点需要看到的具有master节点资格的最小数量,当前有两台机器,只能设置为1 |
| http.cors.enabled | true | head插件配置 |
| http.cors.allow-origin | “\*” | head插件配置 |


2. 打开node-1机器的文件,新增或者修改以下配置信息:




| 参数名 | 参数值 | 作用 |
| --- | --- | --- |
| [cluster.name]( ) | boling\_cavalry | 集群名称 |
| [node.name]( ) | node-1 | 节点名字 |
| network.host | 0.0.0.0 | 绑定IP |
| http.port | 9200 | 服务端口 |
| discovery.zen.ping.unicast.hosts | [“node-0”, “node-1”] | 集群节点主机的host |
| discovery.zen.minimum\_master\_nodes | 1 | 一个节点需要看到的具有master节点资格的最小数量,当前有两台机器,只能设置为1 |
| http.cors.enabled | true | head插件配置 |
| http.cors.allow-origin | “\*” | head插件配置 |


两台机器的配置中,只有node.name这个参数的值不同,其他的一模一样,在node-0机器上修改后的elasticsearch.yml文件如下所示:  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190112141143285.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2JvbGluZ19jYXZhbHJ5,size_16,color_FFFFFF,t_70)


#### 启动elasticsearch


1. 如果当前用户是root,执行命令su - es,切换到es用户;
2. 执行以下命令启动node-0的elasticsearch:



/usr/local/work/es/elasticsearch-6.5.4/bin/elasticsearch


3. 在node-1机器上执行步骤1和2,node-1的elasticsearch启动成功后,在node-0的控制台可以看到node-1加入集群的信息如下:



[2019-01-11T19:54:02,548][INFO ][o.e.c.s.MasterService ] [node-0] zen-disco-node-join[{node-1}{bYrSztiTTzOi_SLAW_UdkA}{pC5ozVjZQF-jtHTWwyOXJA}{192.168.119.153}{192.168.119.153:9300}{ml.machine_memory=2078556160, ml.max_open_jobs=20, xpack.installed=true, ml.enabled=true}], reason: added {{node-1}{bYrSztiTTzOi_SLAW_UdkA}{pC5ozVjZQF-jtHTWwyOXJA}{192.168.119.153}{192.168.119.153:9300}{ml.machine_memory=2078556160, ml.max_open_jobs=20, xpack.installed=true, ml.enabled=true},}
[2019-01-11T19:54:03,206][INFO ][o.e.c.s.ClusterApplierService] [node-0] added {{node-1}{bYrSztiTTzOi_SLAW_UdkA}{pC5ozVjZQF-jtHTWwyOXJA}{192.168.119.153}{192.168.119.153:9300}{ml.machine_memory=2078556160, ml.max_open_jobs=20, xpack.installed=true, ml.enabled=true},}, reason: apply cluster state (from master [master {node-0}{Qc3orkESRHSTTySc2DSJyA}{p0rWBQu_TweRS3TofB4NMA}{192.168.119.152}{192.168.119.152:9300}{ml.machine_memory=2078556160, xpack.installed=true, ml.max_open_jobs=20, ml.enabled=true} committed version [15] source [zen-disco-node-join[{node-1}{bYrSztiTTzOi_SLAW_UdkA}{pC5ozVjZQF-jtHTWwyOXJA}{192.168.119.153}{192.168.119.153:9300}{ml.machine_memory=2078556160, ml.max_open_jobs=20, xpack.installed=true, ml.enabled=true}]]])
[2019-01-11T19:54:03,209][WARN ][o.e.d.z.ElectMasterService] [node-0] value for setting “discovery.zen.minimum_master_nodes” is too low. This can result in data loss! Please set it to at least a quorum of master-eligible nodes (current value: [1], total number of master-eligible nodes used for publishing in this round: [2])


4. 在浏览器上访问192.168.119.153:9300,可以返回基本信息如下图所示:  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190112141208316.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2JvbGluZ19jYXZhbHJ5,size_16,color_FFFFFF,t_70)  
 5.至此,elasticsearch集群搭建成功,接下来安装head组件;


#### 安装head组件(只在node-0上安装)


1. 下载插件,地址:<https://github.com/mobz/elasticsearch-head>
2. 可以用git clone命令下载,也可以在网页上下载,如下图所示:  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190112141222145.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2JvbGluZ19jYXZhbHJ5,size_16,color_FFFFFF,t_70)
3. 下载到本地的是个名为elasticsearch-head-master的文件夹,放在目录/usr/local/work/es之下;
4. 确保文件夹的权限属于用户es,以下命令以root账号身份执行:



chown -R es:es /usr/local/work/es/elasticsearch-head-master


5. 以es账号的身份,在elasticsearch-head-master文件夹下执行命令npm install -g grunt-cli:



$ cd …/es/elasticsearch-head-master/
$ npm install -g grunt-cli
/usr/local/work/nodejs/node-v10.15.0-linux-x64/bin/grunt -> /usr/local/work/nodejs/node-v10.15.0-linux-x64/lib/node_modules/grunt-cli/bin/grunt

  • grunt-cli@1.3.2
    added 152 packages from 122 contributors in 18.241s

上述命令安装了grunt-cli,是用于构建的,接下来安装head;  
 6. 在elasticsearch-head-master文件夹下执行命令npm install,用于安装head,由于网络问题有可能安装失败,提示信息类似以下:



$ npm install
npm WARN deprecated coffee-script@1.10.0: CoffeeScript on NPM has moved to “coffeescript” (no hyphen)
npm WARN deprecated http2@3.3.7: Use the built-in module in node 9.0.0 or newer, instead

phantomjs-prebuilt@2.1.16 install /usr/local/work/es/elasticsearch-head-master/node_modules/phantomjs-prebuilt
node install.js

PhantomJS not found on PATH
Downloading https://github.com/Medium/phantomjs/releases/download/v2.1.1/phantomjs-2.1.1-linux-x86_64.tar.bz2
Saving to /tmp/phantomjs/phantomjs-2.1.1-linux-x86_64.tar.bz2
Receiving…

Error making request.
Error: connect ECONNREFUSED 52.216.82.80:443
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1117:14)

Please report this full log at https://github.com/Medium/phantomjs
npm WARN elasticsearch-head@0.0.0 license should be a valid SPDX license expression
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.4 (node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.4: wanted {“os”:“darwin”,“arch”:“any”} (current: {“os”:“linux”,“arch”:“x64”})

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! phantomjs-prebuilt@2.1.16 install: node install.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the phantomjs-prebuilt@2.1.16 install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR! /.npm/_logs/2019-01-12T05_41_50_161Z-debug.log


出现此问题时建议重试几次,成功后的提示信息如下:



$ npm install

phantomjs-prebuilt@2.1.16 install /usr/local/work/es/elasticsearch-head-master/node_modules/phantomjs-prebuilt
node install.js

PhantomJS not found on PATH
Downloading https://github.com/Medium/phantomjs/releases/download/v2.1.1/phantomjs-2.1.1-linux-x86_64.tar.bz2
Saving to /tmp/phantomjs/phantomjs-2.1.1-linux-x86_64.tar.bz2
Receiving…
[=====================================—] 93%
Received 22866K total.
Extracting tar contents (via spawned process)
Removing /usr/local/work/es/elasticsearch-head-master/node_modules/phantomjs-prebuilt/lib/phantom
Copying extracted folder /tmp/phantomjs/phantomjs-2.1.1-linux-x86_64.tar.bz2-extract-1547271795685/phantomjs-2.1.1-linux-x86_64 -> /usr/local/work/es/elasticsearch-head-master/node_modules/phantomjs-prebuilt/lib/phantom
Writing location.js file
Done. Phantomjs binary available at /usr/local/work/es/elasticsearch-head-master/node_modules/phantomjs-prebuilt/lib/phantom/bin/phantomjs
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN elasticsearch-head@0.0.0 license should be a valid SPDX license expression
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.4 (node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.4: wanted {“os”:“darwin”,“arch”:“any”} (current: {“os”:“linux”,“arch”:“x64”})

added 67 packages from 69 contributors and audited 1751 packages in 16.681s
found 24 vulnerabilities (17 low, 1 moderate, 6 high)
run npm audit fix to fix them, or npm audit for details


7. 在elasticsearch-head-master文件夹下执行命令grunt server,启动head,控制台提示如下:



$ grunt server
Running “connect:server” (connect) task
Waiting forever…
Started connect web server on http://localhost:9100


8. 在浏览器输入地址:<http://192.168.119.152:9100>,可见如下图信息,在红框中输入http://192.168.119.153:9200,再点击绿框中的"连接"按钮,即可见到elasticsharch的基本情况:  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190112140019851.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2JvbGluZ19jYXZhbHJ5,size_16,color_FFFFFF,t_70)


#### 验证


这里我用的是postman来验证基本功能,读者请选择自己熟悉的http工具,或者写代码来执行;


1. 新建所以的操作如下图,选择类型为PUT,地址是:<http://192.168.119.152:9200/test001>  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/2019011214062840.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2JvbGluZ19jYXZhbHJ5,size_16,color_FFFFFF,t_70)


上图中,红框4是elasticsearch的响应信息,表示创建成功;  
 2. 去head的操作页面,点击下图红框中的“连接”按钮,可见最新的索引创建情况,以及副本分布:  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190112140857918.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2JvbGluZ19jYXZhbHJ5,size_16,color_FFFFFF,t_70)


至此,Ubuntu16环境搭建elasticsearch6.5.4集群和head插件实战就全部完成了,希望能在您安装的时候提供一些参考。


#### 欢迎关注我的公众号:程序员欣宸




为了做好运维面试路上的助攻手,特整理了上百道 **【运维技术栈面试题集锦】** ,让你面试不慌心不跳,高薪offer怀里抱!

这次整理的面试题,**小到shell、MySQL,大到K8s等云原生技术栈,不仅适合运维新人入行面试需要,还适用于想提升进阶跳槽加薪的运维朋友。**

![](https://img-blog.csdnimg.cn/img_convert/bd90cc80ea370ca100eb1024fdf4570e.png)

本份面试集锦涵盖了

*   **174 道运维工程师面试题**
*   **128道k8s面试题**
*   **108道shell脚本面试题**
*   **200道Linux面试题**
*   **51道docker面试题**
*   **35道Jenkis面试题**
*   **78道MongoDB面试题**
*   **17道ansible面试题**
*   **60道dubbo面试题**
*   **53道kafka面试**
*   **18道mysql面试题**
*   **40道nginx面试题**
*   **77道redis面试题**
*   **28道zookeeper**

**总计 1000+ 道面试题, 内容 又全含金量又高**

*   **174道运维工程师面试题**

> 1、什么是运维?

> 2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?

> 3、现在给你三百台服务器,你怎么对他们进行管理?

> 4、简述raid0 raid1raid5二种工作模式的工作原理及特点

> 5、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?

> 6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?

> 7、Tomcat和Resin有什么区别,工作中你怎么选择?

> 8、什么是中间件?什么是jdk?

> 9、讲述一下Tomcat8005、8009、8080三个端口的含义?

> 10、什么叫CDN?

> 11、什么叫网站灰度发布?

> 12、简述DNS进行域名解析的过程?

> 13、RabbitMQ是什么东西?

> 14、讲一下Keepalived的工作原理?

> 15、讲述一下LVS三种模式的工作过程?

> 16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?

> 17、如何重置mysql root密码?

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化的资料的朋友,可以点击这里获取!](https://bbs.csdn.net/topics/618542503)**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

是什么东西?

> 14、讲一下Keepalived的工作原理?

> 15、讲述一下LVS三种模式的工作过程?

> 16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?

> 17、如何重置mysql root密码?

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化的资料的朋友,可以点击这里获取!](https://bbs.csdn.net/topics/618542503)**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

  • 19
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值